このページの本文へ

Windows Info 第79回

Windows Subsystem for Linuxにアプリをインストールする

2016年12月18日 10時00分更新

文● 塩田紳二 編集● ASCII.jp

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

Linuxディストリビューションの重要な機能として
アプリをインストールするシステムが用意されている

 Linuxディストリビューションでのソフトウェアのインストールには、一般的にパッケージシステムと呼ばれる仕組みを使う。パッケージシステムは、ソフトウェアのインストールや管理などに使われ、Linuxディストリビューションの重要な機能の1つだ。

 Linuxディストリビューションは、LinuxカーネルとOSとして必要なさまざまなソフトウェアを組みあわせて作られる。ソフトウェアもあとから更新されることなどを考えると、パッケージシステムで管理する必要がある。つまり、ディストリビューションは、特定のパッケージシステムに依存しているわけだ。逆にいうとディストリビューションはパッケージシステムで作られているといってもいい。このためディストリビューションは、採用しているパッケージシステムで系列に分けられる。

 もともとUnix系のOSでは、バイナリレベルでの互換性がなく、ソースコードをtarコマンドでまとめ、gzipなどで圧縮した「.tar.gz」として流通が行われていた。しかし、ソフトウェアは個別のプロジェクトとしてそれぞれのコミュニティで作られていたが、OSに標準で含まれるライブラリや他のコミニュティの成果物などに依存することもあった。こうした問題を解決するために作られたのがパッケージシステムだ。

 当初は、複数のプラットフォームに対応したOS上で作られたため、ソースコードをコンパイルしてインストールするやり方が普通だっだが、インストールを簡単にするためにバイナリ形式も扱えるようにパッケージシステムは改良されていく。

 逆にLinuxディストリビューションのように特定のアーキテクチャを持つハードウェア用にOSが作られると、バイナリ形式でソフトウェアを流通させるほうが増えていくことになる。ただし、現在も多くのパッケージシステムは、ソースコードも管理できるようになっている。

 Windows Subsystem for Linux(以下WSL)で使われているUbuntuは、Debianで開発されたdpkgというパッケージシステムを採用している。dpkgではdebという拡張子がついたパッケージファイルにソフトウェアのインストールに必要なファイルなどを格納して配布を行なう。

 WSLを使っていく上で、何らかのソフトウェアをインストールすることは避けられない。また、ソフトウェアはバージョンアップや修正などにより常に更新されていくものだ。たとえユーザーがソフトウェアをインストールしなくても、WSLインストール時にインストールされた標準的なパッケージも更新しなければならない。

 WSLを使うなら、いずれは何らかのソフトウェアをインストールすることになり、そのためには、パッケージシステムの使い方を学ぶ必要がある。今回は原理などの説明は抜きに、パッケージシステムを扱う方法を解説する。

 Ubuntuでは、dpkgというパッケージシステムが使われているが、実際に使うのは「APT」(Advanced Packaging Tool)というコマンドだ。パッケージを直接管理するのはdpkgというコマンドだが、APTはそのフロントエンドとして動作し、パッケージ同士の依存関係からインストールするパッケージが必要としている他のパッケージを見つけネットワークからダウンロードするといった複雑な処理を行なう。

 APTは、コマンドラインでは「apt-」で始まるコマンドを利用する。基本的には、「apt-get」と「apt-cache」の2つを最初は使うことになるだろう。また、すでにインストールされたパッケージなどに関しては「dpkg」コマンドを使う。とりあえず、使いはじめるときに必要なコマンドの一覧を以下の表に示す。

 まずは、この程度のコマンドがわかれば大半の作業はなんとかなる。ドキュメントとしては英文だが、以下のURLに「APT User's Guide」(https://www.debian.org/doc/manuals/apt-guide/)がある。

やりたいことからコマンドを説明

 とはいえ、コマンドの説明を見ても、なかなかわかりづらいので、ここでは、逆引きで作業からコマンドを解説する。

パッケージを捜す

 WSLを使うとき、必要なソフトウェアがわかったら、対応するパッケージを捜さねばならない。それには、「apt-cache」コマンドを使って、以下のように行う。

sudo apt-get update
apt-cache search 検索条件

 最初のコマンドは、パッケージに関する情報を「リポジトリ」と呼ばれるインターネット上のサイトなどから入手してパッケージのデータベースを更新する処理だ。システム側のファイルを操作するためsudoが必須。次のapt-cacheコマンドで、更新されたデータベースを検索する。こちらは単にファイルを読むだけなのでsudoは不要である。

 検索条件には、正規表現が利用できるが、簡易に使うには、キーワードを指定すればいい。たとえば、「emacs」というプログラムに関するパッケージを捜すには、「apt-cache search 'emacs'」とする。このコマンドを実行するとパッケージ名のリストが表示される。

apt-cache searchコマンドでパッケージの検索が可能。各行先頭部分がパッケージ名となる。なお「--names-only」オプションを付けると検索がパッケージ名に限定される。オプションがないと解説文なども検索対象となる

パッケージの情報表示

 パッケージ名がわかったら、具体的にパッケージの情報を調べたいこともあるだろう。それには、以下のコマンド使い、パラメーターとしてパッケージ名を指定する。

apt-cache showコマンドでパッケージの情報を表示できる

apt-cache show パッケージ名

インストールされているパッケージ

 すでにインストールされているパッケージを表示させるには、

dpkg -l

とする。これだと大量の出力が出てしまう。全部を見たいときにはmoreやlessコマンドを併用するといいだろう。特定のパッケージがインストールされているかどうかを調べるなら

dpkg -l パッケージ名

などとする。

特定のパッケージがインストールされているかどうかはdpkg -lコマンドで検索可能だ

 次回は、今回の続きとして、パッケージのインストールや更新などについて解説する予定だ。

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

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

ピックアップ

ASCII.jp RSS2.0 配信中

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