0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WSLメモ

Last updated at Posted at 2020-12-22

開発環境

主に参考にしたサイト

ターミナルの色を変えたい

どちらも利用しました

dircolors

WSLのWindowsのフォルダの色が見づらいのを直す

dircolors -p > ~/.dircolors
vi ~/.dircolors

DIR 01;31 # directory 
DIR 01,46 # directory

eval $(dircolors -b ~/.dircolors)

vi ~/.bashrc
eval $(dircolors -b ~/.dircolors) ## 追加

ColorTool: WSL Terminalの配色変更

ColorTool.exe -d solarized_dark.itermcolors
WSLでターミナルの文字色を変える(2019/8/10版)

teminal

"colorScheme": "One Half Dark", をprofiles::defaults にセットする

    "profiles":
    {
        "defaults":
        {
            // Put settings here that you want to apply to all profiles.
                "guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}",
                "hidden": false,
                "name": "Ubuntu-20.04",
                "source": "Windows.Terminal.Wsl",
               "colorScheme": "One Half Dark",
                "background" : "#404040",
        },

Windows TerminalにSSH接続を追加する

        "list":
        [
          {
          },
          {     // 追加
                "name": "Ubuntu-TMS",                 // 名称(選択するときのリスト)
                "commandline": "ssh username@host",  // 実行するコマンド
                "hidden": false,
                "tabTitle": "TABTITLE",               // タブのタイトル
                "background" : "#404040",             // 背景の色
    	  },

perl @INC問題

これまで使っているPCは、たぶんperlの再構築をして@INCに"./"を入れたと思われる。
面倒だが、ソースコード中にカレント指定を入れた方が、何かと良いのではないかと判断

use lib "./";

use strict;    ### 利用するモジュール(標準,CPANなど)
use warnings;
use utf8;
use Encode 'decode';
use Data::Dumper;

use lib "./";     ### ここに追記
use config;       ### カレントディレクトリにあるモジュール
use csvlib;
use csvgraph;

cron

標準出力とエラー出力をリダイレクトして、バックグラウンドで実行

% aaa >log 2>&1  &

こちらにも別途 sshd, cron, rsyslog, 自動起動などをまとめてます

qmail

qmailのインストール及びその設定(qmail設定ファイルの設定)

初期設定では、/var/qmail/control以下には次のようなファイルが作成されているでしょう。

  • defaultdomain:toなどにドメイン名が省略された場合、補完されるドメイン名
    • zeijyaku.jp
  • locals:受信するホスト名・ドメイン名(qmail-sendが利用)
    • localhost
    • zeijyaku.jp
  • plusdomain:補完するドメインを設定するらしい
  • rcpthosts:SPAM対策用に中継の設定をします。 (このファイルに記述されているドメイン名やホスト名が中継を許可されます。 )
    • localhost
    • zeijyaku.jp
  • me:自ホストのFQDNを設定します。

disk full

突然viを立ち上げるとエラーが出るようになった。
短い時間だけ表示されるエラーメッセージを見ると、"ディスクがいっぱいなんじゃないか!?"という内容。
そんな馬鹿なと、df をしてみると本当にfullだった。
かすかな希望で df / をしてみても単に / の行だけが表示された。

$ df
Filesystem      1K-blocks       Used  Available Use% Mounted on
/dev/sdc        xxxxxxxx  xxxxxxxxx   0   100% /

参考にしたサイト

なにはともあれwslを止める

wslが動いていると、diskpartあたりでファイルが壊れる懸念もあるので、何はともあれWSLを止める

PS C:\WINDOWS\system32> wsl.exe --shutdown

wslのディストリビューションを確認する

稼働しているディストリビューションを確認する

PS C:\WINDOWS\system32> wsl --list --verbose
  NAME            STATE           VERSION
* Ubuntu-20.04    Stopped         2
  Ubuntu          Running         2

使用している仮想ファイルのパスを確認する

まずは、wslが使っている仮想ファイル(ext4.vhdx)のパスを調べる。
以下のコマンドは、 Windowサイズを横に大きくして実行すること(小さいと、改行が入り、扱いづらい)

PS C:\WINDOWS\system32> Get-ChildItem -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss


   Hive: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss


Name                           Property
----                           --------
{7aff25ec-3254-4ed2-bb56-353dd State              : 1
14433c0}                       DistributionName   : Ubuntu-20.04
                              Version            : 2
                              BasePath           : C:\Users\USER_NAME\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState
                              Flags              : 15
                              DefaultUid         : 1000
                              PackageFamilyName  : CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc
                              KernelCommandLine  : BOOT_IMAGE=/kernel init=/init
                              DefaultEnvironment : {HOSTTYPE=x86_64, LANG=en_US.UTF-8, PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games, TERM=xterm
                              -256color}
{ec7d6488-220a-419d-a9bc-d2397 State             : 1
1ab146c}                       DistributionName  : Ubuntu
                              Version           : 1
                              BasePath          : C:\Users\USER_NAME\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState
                              PackageFamilyName : CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
                              DefaultUid        : 1000
                              Flags             : 15
TryStoreWSL

取得したディレクトリパスの中身を確認

PS C:\WINDOWS\system32> ls C:\Users\USER_NAME\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState


    ディレクトリ: C:\Users\USER_NAME\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalSta
    te


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        2022/05/13      9:23                temp
-a----        2024/06/12     17:58   270818869248 ext4.vhdx
-a---l        2022/05/13      8:18              0 fsserver

次のディレクトリ名+ext4.vhdxを使って、ファイル名に間違えがないことを確認

S C:\WINDOWS\system32> ls C:\Users\USER_NAME\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\ext4.vhdx


    ディレクトリ: C:\Users\USER_NAME\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        2024/06/12     18:04   270818869248 ext4.vhdx

diskpartでサイズの変更

ここからが本番
指定するファイルサイズは、MB(単位)である点に注意。
指定したサイズが現状以下だと、エラーになる。

PS C:\WINDOWS\system32> diskpart

Microsoft DiskPart バージョン 10.0.19041.3636

Copyright (C) Microsoft Corporation.
コンピューター: MT-TMS

DISKPART> Select vdisk file="C:\Users\USER_NAME\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\ext4.vhdx"

DiskPart により、仮想ディスク ファイルが選択されました。

DISKPART> detail vdisk

デバイスの種類 ID: 0 (不明)
ベンダー ID: {00000000-0000-0000-0000-000000000000} (不明)
状態: 追加済み
仮想サイズ:  500 GB
物理サイズ:  252 GB
ファイル名: C:\Users\USER_NAME\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\ext4.vhdx
子: いいえ
親ファイル名:
関連付けられたディスク番号: 見つかりません。


DISKPART> expand vdisk maximum=520000

  100% 完了しました

DiskPart により、仮想ディスク ファイルは正常に拡張されました。

DISKPART> exit

DiskPart を終了しています...
PS C:\WINDOWS\system32>

この段階では、WSLのファイルシステムとしては、拡張が認識されていない

dfで確認すると変わっていない...(Availableが増えているのは、ファイルを削除したため)

$ df
Filesystem      1K-blocks       Used  Available Use% Mounted on
/dev/sdc        xxxxxxxx  xxxxxxxx    4994444  98% /
PS C:\WINDOWS\system32> wsl.exe --system -d Ubuntu df -h /mnt/wslg/distro
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdc        251G  234G  4.8G  98% /mnt/wslg/distro

resize2fsで、WSLファイル拡張を設定

$ mount | grep ext4
/dev/sdc on / type ext4 (rw,relatime,discard,errors=remount-ro,data=ordered)
/dev/sdc on /mnt/wslg/distro type ext4 (ro,relatime,discard,errors=remount-ro,data=ordered)

対象のデバイスが、/dev/sdcと判明
resize2fsで指定するパラメータは、diskpartのexpand vdiskで指定した数値に 'M'を付けたもの

$ sudo resize2fs /dev/sdc 520000M
resize2fs 1.42.13 (17-May-2015)
Filesystem at /dev/sdc is mounted on /; on-line resizing required
old_desc_blocks = 32, new_desc_blocks = 64
The filesystem on /dev/sdc is now 133120000 (4k) blocks long.

$ df .
Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/sdc       523001792 244680580 254321276  50% /

無事に、/ パーティションが拡張できた。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?