WSLのUbuntu環境で「apt」コマンドを使ってパッケージを更新/管理するTech TIPS

Windows 10のLinux互換環境WSLでUbuntuを使っている場合、新たにパッケージをインストールしたり、既存のパッケージを最新版の状態に更新したりするにはaptコマンドを利用する。

» 2018年06月15日 05時00分 公開
[打越浩幸デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象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 updateで更新をチェックする apt updateで更新をチェックする
aptはパッケージのバージョンなどの情報をローカルに保存しているが、その一覧を更新するのがapt updateコマンド。

 更新すべきパッケージが見つかった場合は、さらに続けてapt upgradeを行う。

apt upgradeによるパッケージの更新 apt upgradeによるパッケージの更新
実際にパッケージの更新を行うにはapt upgradeコマンドを実行する。

 初回はかなり時間がかかるが(手元のPCでは30分以上かかった)、小まめに実行していればそれほど長くはかからないはずだ。

 なおapt update実行時に、「All packages are up to date.(パッケージはすべて最新です)」と表示されていれば、実行する必要はない。

すべて最新状態の場合のメッセージ例 すべて最新状態の場合のメッセージ例
更新が必要ない場合はこのようなメッセージが表示される。

「apt list」「apt search」「apt show」によるパッケージ情報の表示

 「apt list」を実行すると、自動的なダウンロードとインストールが可能なパッケージの一覧が表示される。引数なしだと非常に多くのデータが表示される。このコマンドはsudoしなくても実行できる。

利用可能なパッケージの一覧 利用可能なパッケージの一覧
apt listを実行すると、(すでにインストールされているものも含めて)利用可能なパッケージの一覧が表示される。この例では5万6000程度表示された。

 ローカルにすでにインストールされているパッケージには、末尾に[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 removeでは、アプリケーションが作成した一部の関連データファイルは削除されずに残ることがあるが(そのため、間違ってアンインストールした場合でも、apt installを実行すれば復活できる可能性が高い)、関連データも含めて全て削除したければ、より完全にアンインストールする「apt purge <パッケージ名>」を利用する。


 以上、基本的なaptコマンドの使い方について簡単に説明してきた。これだけ覚えておけば、一通り利用できるだろう。より進んだaptコマンドの使い方やその他のオプションについては「man apt」コマンドを参照していただきたい。

「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。