このページの本文へ

前へ 1 2 次へ

Windows Info 第322回

WSLにインストールされているファイルから原因となるパッケージを探す

2022年04月10日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

wsluとはそもそもなんなのか

 wsluは、オープンソースで開発が進められているソフトウェアで、ソースコードはGitHubにある。

●wslutilities/wslu: A collection of utilities for Windows 10 Linux Subsystems
 https://github.com/wslutilities/wslu

 実行してみるとわかるが、起動中にコンソールがクリアされる。これは内部でコンソールのコードページを変更するchcp.comを実行して、その後にWindows PowerShellを起動しているからだ。コードページが変更されるときにコンソールがクリアされるのだ。

 しかし、これではちょっと使いづらい。どうしてもクリアさせたくない場合、「chcp.com」を起動している行があるので、行頭に“#”をつけてコメント化しておいても現状問題なさそうだ。

function chcp_com {
        # "$(interop_prefix)"c/Windows/System32/chcp.com "$@" >/dev/null
}

 wsluに含まれている実行プログラムは/usr/binにあり、すべて98行目にchcp.comを呼び出している行がある。なお記事冒頭の画面写真は、chcp.comの実行を無効にしたものを使っている。

 こうした方法は、1回わかってしまうと難しい作業ではないが、自分でゼロから調べるのは結構面倒な作業だ。また、やり方も覚えてしまうと、別の方法を探すこともしなくなることが多い。しかし、どんな場合でも「適切な方法ではないかもしれない」という問題がある。もちろん筆者も今回解説した方法が最適だとは思っていない。もっと簡単なやり方があるかもしれない。

 たとえば、ファイルからパッケージを探すとき、apt-fileコマンドを使う方法がネット検索で見つかる。このコマンドは、未インストールも含めてリポジトリにあるすべてのパッケージからファイルを探すコマンドなので起動に時間がかかる。

 これに対してdpkgコマンドを使う方法は、インストールされているパッケージしか対象にしていないが、そのぶん高速に動作する。最初にどちらのコマンドを見つけるかにより、作業効率も違ってくる。ある意味で今回解説した方法は一種のTipsと言ってもいいかもしれない。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン