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 show パッケージ名
インストールされているパッケージ
すでにインストールされているパッケージを表示させるには、
dpkg -l
とする。これだと大量の出力が出てしまう。全部を見たいときにはmoreやlessコマンドを併用するといいだろう。特定のパッケージがインストールされているかどうかを調べるなら
dpkg -l パッケージ名
などとする。
次回は、今回の続きとして、パッケージのインストールや更新などについて解説する予定だ。
この連載の記事
-
第462回
PC
Windows Terminal Preview版でSixelグラフィックスを扱う -
第461回
PC
Copilot+ PCを買ってみたが、「今焦って買う必要はない」のかもしれない -
第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つに分かれる - この連載の一覧へ