WSL(Windows Subsystem for Linux)のUbuntu系ディストリビューションにwsluパッケージが含まれるようになっているようだ。wsluパッケージには、以下の表のようなコマンドがある。それぞれmanページがあるので、「man wslsys」などとして使い方を調べることができる。
しかし、筆者は、wsluパッケージを入れた記憶がない。おそらくは、ディストリビューションに標準的に入っていたのだと思われるが、WSL用なので、通常のUbuntuのインストールイメージには含まれているわけがない。というわけで、今回は、このwsluをネタにWSLでインストールされているファイルから、その原因となるパッケージを調べる方法を解説する。
実行ファイルが含まれるパッケージを調べる
Ubuntuなどaptコマンドを使うDebian系のLinuxディストリビューションで、インストールされているファイルを含むパッケージを探すには、「dpkg -S <ファイル名>」コマンドを使う。今回の場合は「/usr/bin/wslsys」なので、
dpkg -S wslsys
とする。
これで、wslsysを含むのは「wslu」パッケージであることがわかる。では、このwsluパッケージはどうしてインストールされたのか? ユーザーが自分で導入したのでなければ、他のパッケージからの依存関係でインストールされたはずである。それを調べるには「apt rdepends <パッケージ名>」を使う。具体的には、
apt rdepends wslu
とする。すると、ubuntu-wslというパッケージの依存関係でインストールされたことがわかる。では、ubuntu-wslとは何なのか? それを調べるには、「apt show <パッケージ名>」コマンドを使えばよい。
apt show ubuntu-wsl
の結果を見ると、
Ubuntu on Windows tools - Windows Subsystem for Linux integration
Utilities for integrating Ubuntu well into the WSL environment.
.
It is also used to help ensure proper upgrades, so it is recommended that
it not be removed.
と説明がある。Ubuntuが用意したWSL向けのパッケージらしく、勝手に削除するなとのことなので、おそらく標準でインストールされたものなのであろう。ubuntu-wslは、wsluに依存しているので、ubuntu-wslがインストールされたとき、同時にインストールされたようである。
aptコマンドのログを調べる
このubuntu-wslパッケージは、いつインストールされたのだろうかはaptコマンドのログを調べればいい。ログは、/var/log/aptにあるhistory.logである。lessやviewコマンドで直接中身を見てもいい。このログからインストール日時を調べるには、grepを使って
grep 'install ubuntu-wsl' -B 1 /var/log/apt/history.log
とする。
それによれば、2020年4月とのこと。どうもこのUbuntuディストリビューションをインストールしたときのようだ。このときに標準のパッケージとしてはubuntu-wslがインストールされ、依存関係でwsluが入ったと思われる。
Linuxでは、ログは定期的に検査されて圧縮されることがある。それは末尾に数字などがついたファイル名になっているはずだ。これはlogrotateで処理されている。man logrotateで概要を調べられる。logrotateは毎日起動され、ログファイルから指定した期間やサイズなどを調べて、ログを圧縮して別ファイルにする。末尾に数字がついたログ(~.log.1など)は、logrotateが作成している。
aptコマンドのhistory.logログに対するlogrotateの処理は、/etc/logrotate.d/aptに記述されている。
/var/log/apt/history.log {
rotate 12
monthly
compress
missingok
notifempty
}
これによれば、毎月1日に圧縮処理をして、12回分まで保存することになっている(詳細は「man logrotate」参照)。しかしWSLでは、該当の時間に起動しているとは限らないため、logrotate処理されない可能性もある。実際に筆者の環境では、圧縮されたものはなく、2018年リリースのUbuntu-18.04では2018年からのログがそのまま残っていた。
このため、前記のubuntu-wslのインストールは、おそらくディストリビューションをインストールした直後の処理である。
この連載の記事
-
第460回
PC
Windowsでsftpを使う -
第459回
PC
WSL 2.4.4ではtar形式でのディストリビューションが配布でき、企業での利用が容易になってきた -
第458回
PC
Windows上でhostsファイルを活用する -
第457回
PC
IPv6アドレスは先頭を見ればどんな種類かわかる -
第456回
PC
あらためてIPv6基本のキ -
第455回
PC
Windowsで現在どのネットワークアダプタがインターネット接続に使われているかを調べる方法 -
第454回
PC
Windows 11 24H2では「デバイスの暗号化」の条件が変わり、より多くのPCでドライブが暗号化される -
第453回
PC
Windows 11 24H2の配布開始後もすぐにはやってこない Windows UpdateとSafeguard Holds -
第452回
PC
Windows 11 Ver.24H2が登場 Copilot+ PCとそうでないPCで実質Windowsが2つに分かれる -
第451回
PC
新しいWindowsサンドボックスではコマンドラインからの制御が可能に -
第450回
PC
ユニコードで文字数を数える方法 - この連載の一覧へ