aptコマンド(パッケージの管理)
- apt
-
パッケージ管理システム用の高レベルコマンドラインインターフェース。って言っても意味分かんないよねー。要するに、欲しいパッケージ(ソフトウェアのこと)(例えばお絵描きソフトとかネットワークソフトとか)を検索したり、更新したり、あるいは既にインストールしているソフトウェアを削除したりするためのコマンド。
Linuxではソフトウェアのことを「パッケージ」というんだけど、ウィンドウズ文化の人は最初パッケージと言われても何の事だか分からないと思う。
LinuxのDebianディストリビューションでは、パッケージ管理システムとしてapt、apt-get、aptitudeの3種類のコマンドがあるんだけど、現在はaptを使用することを推奨しているようです。ただし、apt-getやaptitudeの使用を禁止しているわけではないです。
-
使用例
- # apt update
update は、sources.listで設定されたすべての取得元からソフトウェア(パッケージ)情報をダウンロードするために使用される。このコマンドにより、インストールできるパッケージ一覧の最新情報が取得できる。ただし、インストール済みのパッケージの更新まではしてくれない。ほかのコマンド(upgradeやsearchやshowなど)は、このupdateでダウンロードしたデータを操作する。例えば、パッケージのアップグレードを実行したり、中を検索したり、インストール可能なすべてのパッケージに関する詳細情報を表示する。
- # apt upgrade
upgrade は、updateにより取得した最新の情報の中に、インストール済みのパッケージの最新版があれば、それをインストールする。また、最新のパッケージをインストールするために、他のパッケージのインストールも必要な場合は、合わせてインストールする。ただし、パッケージのアップグレードのためにインストール済みのパッケージの削除が必要な場合は、念の為にそのパッケージのアップグレードは行わない。一言で言えば、インストール済みパッケージを安全にアップグレードするためのコマンド。通常このコマンドは、updateをしたあとに行う。
- # apt full-upgrade
full-upgrade はupgradeと同じくアップグレードの機能を実行しますが、upgraeと異なり、システム全体をアップグレードするために必要とされる場合には、現在インストール済みのパッケージを削除することができる。一言で言えば、インストール済みパッケージを積極的にアップグレードするためのコマンド。通常このコマンドは、updateをしたあとに行う。
- # apt install パッケージ名
- パッケージをインストールする。
- # apt remove パッケージ名
- パッケージを削除する(ソフトウェア本体のみ)。
- # apt purge パッケージ名
パッケージを削除する(ソフトウェア本体だけでなく設定ファイルも削除する)。
removeで削除した場合は設定ファイルは残っているので、再度後からインストールした時に、以前の状態に復元することが出来るが、purgeは、再度後からインストールした時は本当にまっさら(新品)の状態からインストールということになる。
- 上書き指定子
-
apt install、apt remove、apt purgeのそれぞれのコマンドで指定するソフトウェア名には「上書き指定子」というものが指定できます。この、上書き指定子を指定することにより、installやremoveなどのオプションを無視した命令を下すことが出来ます。
実際には「apt install パッケージ名-」というようにします(パッケージ名の後ろに-がついていることが分かるでしょうか?)。
- パッケージ名+
- オプションに関係なくパッケージをインストールします。
- パッケージ名-
- オプションに関係なくパッケージを削除します。
- パッケージ名=パッケージのバージョン
- 選択したパッケージのインストール。
- パッケージ名/コード名またはスイート名
- パッケージ名にスラッシュ(/)およびコード名(stretch、buster、sid ...)またはスイート名(stable、testing、unstable)を続けることで、特定のリリースのバージョンをインストールすることができます。また。必要な場合には、パッケージの依存関係を満たすリリースからバージョンを選択する。
- # apt autoremove
- autoremove は、他のパッケージの依存関係を満たすために自動的にインストールされた後に、依存関係の変更あるいは必要としていたパッケージが削除されたことでもう必要なくなったパッケージの削除に使用する。
- $ apt search 検索キーワード
-
検索キーワードにひっかかったパッケージの一覧を表示する。一般ユーザーから実行可能。
以下、実行例
$ apt search img ソート中... 完了 全文検索... 完了 abootimg/stable 0.6-1+b2 amd64 Tool to read/write/update android boot images acetoneiso/stable 2.4-2+b2 amd64 CD や DVD のイメージをマウント・管理する機能豊富なアプリケーション append2simg/stable 1:7.0.0+r33-1 amd64 Android sparse image tool cbflib-bin/stable 0.9.2.2-1+b1 amd64 utilities to manipulate CBF files cbflib-doc/stable 0.9.2.2-1 all documentation for CBFlib cimg-dev/stable 1.7.9+dfsg-1 all powerful image processing library cimg-doc/stable 1.7.9+dfsg-1 all documentation of cimg-dev imaging library cimg-examples/stable 1.7.9+dfsg-1 all examples for cimg-dev imaging library
- $ apt show パッケージ名
-
ソフトウェアの詳細情報を表示する。
以下、実行例
$ apt show dolphin Package: dolphin Version: 4:16.08.3-3 Priority: optional Section: utils Maintainer: Debian/Kubuntu Qt/KDE Maintainers <debian-qt-kde@lists.debian.org> Installed-Size: 3,365 kB Depends: baloo-kf5, kinit, kio, libc6 (>= 2.14), libdolphinvcs5 (>= 4:15.07.90), libkf5baloo5 (>= 5.3.0+git20150512), libkf5baloowidgets5 (>= 15.08.0), libkf5bookmarks5 (>= 4.96.0), libkf5codecs5 (>= 4.96.0), libkf5completion5 (>= 4.97.0), libkf5configcore5 (>= 4.98.0), libkf5configgui5 (>= 4.97.0), libkf5configwidgets5 (>= 4.96.0), libkf5coreaddons5 (>= 5.16.0), libkf5crash5 (>= 5.15.0), libkf5dbusaddons5 (>= 4.97.0), libkf5filemetadata3 (>= 5.19.0), libkf5i18n5 (>= 4.97.0), libkf5iconthemes5 (>= 5.0.0), libkf5itemviews5 (>= 4.96.0), libkf5jobwidgets5 (>= 4.96.0), libkf5kcmutils5 (>= 4.96.0), libkf5kiocore5 (>= 5.2.0+git20140925), libkf5kiofilewidgets5 (>= 5.6.0+git20150116.0016+15.04), libkf5kiowidgets5 (>= 5.16.0), libkf5newstuff5 (>= 5.10.0), libkf5notifications5 (>= 4.96.0), libkf5parts5 (>= 4.96.0), libkf5service-bin, libkf5service5 (>= 4.99.0), libkf5solid5 (>= 4.97.0), libkf5textwidgets5 (>= 4.96.0), libkf5widgetsaddons5 (>= 5.6.0+git20150110.0009+15.04), libkf5windowsystem5 (>= 4.96.0), libkf5xmlgui5 (>= 4.98.0), libphonon4qt5-4 (>= 4:4.8.0), libqt5core5a (>= 5.7.0), libqt5dbus5 (>= 5.4.0~), libqt5gui5 (>= 5.7.0), libqt5widgets5 (>= 5.4.0), libqt5xml5 (>= 5.4.0~), libstdc++6 (>= 4.1.1), phonon4qt5 Recommends: kio-extras, ruby Suggests: dolphin-plugins Homepage: http://www.kde.org/ Tag: implemented-in::c++, interface::graphical, interface::x11, role::program, suite::kde, uitoolkit::qt, use::organizing, works-with::file, x11::application Download-Size: 1,051 kB APT-Sources: http://oyu-net.jp/debian stable/main amd64 Packages Description: file manager Dolphin is the default file manager in the Plasma, intended to be both powerful and easy to use. . Features include: Customisable sidebars "Breadcrumb" navigation View properties remembered for each folder Split views Network transparency Undo/redo functionality Ratings, comments, and tags
- # apt list 基準
list は、一定の基準を満たすパッケージのリストを表示することができる。例えば、基準としてインストール済み(--installed)、アップグレード可能(--upgradeable)または利用可能なすべてのバージョン(--all-versions)などが使用できる。
例えばapt list --installed や apt list --upgradeable のように使用する。
- # apt edit-sources
-
edit-sources は、好きなテキストエディタで sources.list ファイルを編集することができる。また、編集終了後、問題がないかのチェック機能もある。
apt edit-sourcesを実際に使用した例を以下に示す。
# apt edit-sources Select an editor. To change later, run 'select-editor'. 1. /bin/nano <---- easiest 2. /usr/bin/vim.basic 3. /usr/bin/vim.tiny Choose 1-3 [1]:
初回起動時は、このように表示され、使用したいテキストエディタを番号で指定する。私は、2のvimを使用したいので、2を入力してEnterキーを押下した。vimテキストエディタは使い方が少し難しいので、Linuxディストリビューションに慣れていない方はnanoというテキストエディタ(1)がオススメだが、先にテキストエディタの使い方を確認しておいたほうがいい。nanoテキストエディタの使い方は27.Linuxの文字書きソフト(テキストエディタ)nanoを参考のこと。
# apt edit-sources Select an editor. To change later, run 'select-editor'. 1. /bin/nano <---- easiest 2. /usr/bin/vim.basic 3. /usr/bin/vim.tiny Choose 1-3 [1]: 2
2を入力してEnterキーを押下した時点で、/etc/apt/sources.listファイルをvimで開いた状態になる。ここで、設定したい内容にsources.listファイルを修正する。修正方法は/etc/apt/sources.list(パッケージのダウンロード元設定ファイル・Debian)も参考にしてみてください。
修正を終えて、保存、終了すると、自動的に内容をチェックされ、問題があるようであれば以下のような表示がされる。
E: ソースリスト /etc/apt/sources.list の 9 行目が不正です (type) E: ソースのリストを読むことができません。 /etc/apt/sources.list の解析に失敗しました。再編集しますか? [Y/n]
上記は9行目の記述に問題があった場合の例である。やり直したい場合はYを入力してEnterキーを押す。間違ったままでいい場合はnを押してEnterキーを押す。
また、修正後に内容が正しい場合は、以下のような表示がされる。
'/etc/apt/sources.list' ファイルが変更されています。「apt-get update」を実行してください。 #
表示ではapt-get updateとなっているが、apt updateを使用しても構わない。sources.list修正後は、apt update(またはapt-get update またはaptitude update)を実行しないと最新の情報が取得できない。
なお、使用するテキストエディタは2回目以降は、自動的に初回に選択したテキストエディタで起動されるらしい。使用するテキストエディタを変更したい場合はselect-editorコマンドを使用することで、使用するテキストエディタを変更できる。
# select-editor Select an editor. To change later, run 'select-editor'. 1. /bin/nano <---- easiest 2. /usr/bin/vim.basic 3. /usr/bin/vim.tiny Choose 1-3 [1]: 2 #
-
「ソフトウェアを検索してみたけど、情報が多すぎて一画面に収まらない」っていう時は、|(パイプ)と他のコマンドを組み合わせたりします。
例えば
$ apt search a | less
とすれば、情報を一画面でスクロール出来るようになります。
-
apt updateでソフトウェア(パッケージ)の一覧が更新されるって言ったけど、その一覧はどこから手に入れるのか、という情報が書かれているのが/etc/apt/にあるsources.listファイル。
$ cd /etc/apt/ $ ls apt.conf.d listchanges.conf preferences.d sources.list sources.list.d sources.list.d sources.list~ trustdb.gpg trusted.gpg trusted.gpg.d $ vim sources.list
# # deb cdrom:[Debian GNU/Linux 9.1.0 _Stretch_ - Official amd64 NETINST 20170722-11:28]/ stretch main #deb cdrom:[Debian GNU/Linux 9.1.0 _Stretch_ - Official amd64 NETINST 20170722-11:28]/ stretch main deb http://ftp.jp.debian.org/debian/ stretch main deb-src http://ftp.jp.debian.org/debian/ stretch main deb http://security.debian.org/debian-security stretch/updates main deb-src http://security.debian.org/debian-security stretch/updates main # stretch-updates, previously known as 'volatile' deb http://ftp.jp.debian.org/debian/ stretch-updates main deb-src http://ftp.jp.debian.org/debian/ stretch-updates main
ここを書き換えることで、今あるソフトウェア以外も検索やインストールが出来るようになる。ちなみに、実際に書き換えるときはroot権限じゃないと書き換えられません。
# su - パスワード #
直接テキストエディタで書き換えてもいいのですが……
# vim /etc/apt/sources.list
aptコマンドにedit-sourcesというオプションをつけることで、sources.list修正後に自動的に内容に問題がないか確認してくれるので、基本的にはapt edit-sourcesで修正したほうがいいでしょう。
# apt edit-sources
今の私はmainという、Debianフリーソフトウェアガイドラインに沿ったソフトウェアしか検索・インストール出来ないようになっています。
Debianフリーソフトウェアガイドラインに沿っていないソフトウェアの検索・インストールもしたい場合は以下の様に書き換えます。
# # deb cdrom:[Debian GNU/Linux 9.1.0 _Stretch_ - Official amd64 NETINST 20170722-11:28]/ stretch main #deb cdrom:[Debian GNU/Linux 9.1.0 _Stretch_ - Official amd64 NETINST 20170722-11:28]/ stretch main deb http://ftp.jp.debian.org/debian/ stretch main non-free deb-src http://ftp.jp.debian.org/debian/ stretch main non-free deb http://security.debian.org/debian-security stretch/updates main non-free deb-src http://security.debian.org/debian-security stretch/updates main non-free # stretch-updates, previously known as 'volatile' deb http://ftp.jp.debian.org/debian/ stretch-updates main deb-src http://ftp.jp.debian.org/debian/ stretch-updates main
mainの後に半角の空白スペースを一つ書いた後、non-freeと記入しました。これだけで、かなりインストール・検索できるソフトウェアが増えます。
また、Debianフリーソフトウェアガイドラインに沿ってはいるが、non-freeのソフトも一緒にインストールしないと使えないというソフトウェアを使いたい場合は以下の様に書き換えます。
# # deb cdrom:[Debian GNU/Linux 9.1.0 _Stretch_ - Official amd64 NETINST 20170722-11:28]/ stretch main #deb cdrom:[Debian GNU/Linux 9.1.0 _Stretch_ - Official amd64 NETINST 20170722-11:28]/ stretch main deb http://ftp.jp.debian.org/debian/ stretch main contrib deb-src http://ftp.jp.debian.org/debian/ stretch main contrib deb http://security.debian.org/debian-security stretch/updates main contrib deb-src http://security.debian.org/debian-security stretch/updates main contrib # stretch-updates, previously known as 'volatile' deb http://ftp.jp.debian.org/debian/ stretch-updates main deb-src http://ftp.jp.debian.org/debian/ stretch-updates main
今度は、non-freeの代わりにcontribを記入しました。これで、Debianフリーソフトウェアガイドラインに沿ってはいるが、non-freeに依存しているソフトウェアを検索・インストールすることが出来るようになります。
ちなみに、mainは文字通りメインとなるもの(といいますか、完全にDebianフリーソフトウェアガイドラインに沿っているソフトのこと)ですので、普通はあまり消さないです。
ちなみに、普通はmain contrib non-freeの三つを使えるようにしているのが一般的な様です。つまり、次のようなsources.listが一般的です。
# # deb cdrom:[Debian GNU/Linux 9.1.0 _Stretch_ - Official amd64 NETINST 20170722-11:28]/ stretch main #deb cdrom:[Debian GNU/Linux 9.1.0 _Stretch_ - Official amd64 NETINST 20170722-11:28]/ stretch main deb http://ftp.jp.debian.org/debian/ stretch main contrib non-free deb-src http://ftp.jp.debian.org/debian/ stretch main contrib non-free deb http://security.debian.org/debian-security stretch/updates main contrib non-free deb-src http://security.debian.org/debian-security stretch/updates main contrib non-free # stretch-updates, previously known as 'volatile' deb http://ftp.jp.debian.org/debian/ stretch-updates main deb-src http://ftp.jp.debian.org/debian/ stretch-updates main
また、これら以外にもボランティアで独自のdebian用ソースリストを配布している所がありますので、検索して見てください。
- ログ
- aptコマンドのログは/var/log/apt/以下のファイルに記録されています。このファイルには今までどんなパッケージをインストールしたか(または削除したか)が書かれています。