WSLのUbuntu環境で「apt」コマンドを使ってパッケージを更新/管理する:Tech TIPS
Windows 10のLinux互換環境WSLでUbuntuを使っている場合、新たにパッケージをインストールしたり、既存のパッケージを最新版の状態に更新したりするにはaptコマンドを利用する。
対象OS:Windows 10バージョン1709以降(64bit版のみ)
Windows 10に「WSL(Windows Subsystem for Linux)」をインストールすると、Linux向けのプログラム(バイナリファイル)をそのまま実行できるようになる。WSLのインストール方法や活用については、以下のTIPSなどを参照していただきたい。
WSL上にインストールされている各種のプログラムパッケージは、機能向上や不具合修正などの目的で度々バージョンアップされ、更新版が提供されている。そのため、必要に応じてユーザーがパッケージの更新作業を行う必要がある。
パッケージの更新や追加などを行う方法は、Linuxのディストリビューションごとに異なるが、Ubuntuの場合は「APT(Advanced Package Tool)」というパッケージ管理ツールに含まれる「apt」や「apt-get」といったコマンドを使うことが多い。apt-getについては次のTIPSで解説しているので参照のこと。
apt-getは古くからあるコマンドで、機能が豊富な一方で多くのサブコマンド(apg-get、apt-cache、……)やオプションを持つため、やや使い方が分かりにくい面がある。そこでもう少し使いやすくしたものとして「apt」というコマンドが作られ、最近のUbuntuではこちらの方が推奨されている。本稿では、この「apt」コマンドを使ってパッケージを管理する基本的な方法を紹介する。
「apt update」「apt upgrade」によるパッケージの更新
Ubuntuにインストールされているパッケージの更新を行うには、「apt update」と「apt upgrade」というコマンドを組み合わせて使う。
updateとupgradeの違いは次の通りである。
コマンド | 説明 |
---|---|
apt update | パッケージ情報の更新。最新のパッケージ情報をインターネットから取得してきて、ローカルにあるパッケージ情報を更新する |
apt upgrade | パッケージそのものの更新。上で取得したパッケージ情報に基づいて、ローカルにインストールされているパーケッジのバージョンが最新かどうかを調べ、古いものがあれば、更新パッケージをダウンロードしてきてインストールする |
apt updateとapt upgradeの違い |
Windows OSのWindows Updateに例えると、apt updateが「更新プログラムのチェック」、apt upgradeが「更新プログラムのインストール」に相当する。
いずれもroot権限で実行する必要があるので、コマンド名の前に「sudo 〜」を付けるか、「sudo -i」でrootモードにしてから実行する。
最初はapt updateを実行する。
更新すべきパッケージが見つかった場合は、さらに続けてapt upgradeを行う。
初回はかなり時間がかかるが(手元のPCでは30分以上かかった)、小まめに実行していればそれほど長くはかからないはずだ。
なおapt update実行時に、「All packages are up to date.(パッケージはすべて最新です)」と表示されていれば、実行する必要はない。
「apt list」「apt search」「apt show」によるパッケージ情報の表示
「apt list」を実行すると、自動的なダウンロードとインストールが可能なパッケージの一覧が表示される。引数なしだと非常に多くのデータが表示される。このコマンドはsudoしなくても実行できる。
ローカルにすでにインストールされているパッケージには、末尾に[installed]と表示されているのだが、少々分かりづらいかもしれない。「--installed」オプションを付けると、インストール済みのパッケージだけが列挙される。
インストールされているパッケージのリスト
apt listに--installedオプションを付けて実行すると、インストールされているものだけを列挙できる。Ubuntuのインストール直後だと430パッケージほどインストールされている。
特定のパッケージだけを検索したければ、「apt list <パッケージ名>」か「apt search <文字列>」とする。前者はパッケージ名だけを検索するが、後者はパッケージ名とその説明も検索し、一致するものをすべて列挙する(「*lang*」のようなワイルドカード指定も可能)。
特定の名前を持つパッケージの検索
apt listに引数を付けると、特定の文字列を含むパッケージ名だけを列挙できる。なおワイルドカード指定を使う場合は、ローカルのファイル名とぶつからないようにするか、引用符で囲むこと。
各パッケージのより詳細な情報は「apt show <パッケージ名>」で確認できる。
「apt install」によるパッケージのインストール
新しいパッケージをインストールするには「apt install <パッケージ名>」コマンドを利用する。
パッケージのインストール例
apt installでパッケージをインストールできる。これはRubyのパッケージをインストールさせているところ。なお余談だが、Windows OS用に移植されたRuby(のirb.exe)は、日本語文字を使おうとすると無応答状態になることもあるが、WSL上のRuby(irb)ならそのようなこともなく、安定して利用できる。
「apt remove」によるパッケージのアンインストール
不要になったパッケージをアンインストールするには「apt remove <パッケージ名>」コマンドを利用する。
なおapt removeでは、アプリケーションが作成した一部の関連データファイルは削除されずに残ることがあるが(そのため、間違ってアンインストールした場合でも、apt installを実行すれば復活できる可能性が高い)、関連データも含めて全て削除したければ、より完全にアンインストールする「apt purge <パッケージ名>」を利用する。
以上、基本的なaptコマンドの使い方について簡単に説明してきた。これだけ覚えておけば、一通り利用できるだろう。より進んだaptコマンドの使い方やその他のオプションについては「man apt」コマンドを参照していただきたい。
Copyright© Digital Advantage Corp. All Rights Reserved.