アゲブログ

プログラマーです。

APTについて

APT(Advanced Packaging Tool)とは?

Debian系のLinuxディストリビューションなどで採用されているパッケージ管理システムです(RedHat系のCentOSFedoraだとyummacOSではHomebrew等が使用されている)。パッケージのインストール、アップデート、アンインストールなどを行うためのaptコマンドを使用することができます。他にもapt-getコマンドやaptitudeコマンドも使用できるようですが、aptを使用することが推奨されているようです。

コマンド 説明
# apt update インストール可能なパッケージの最新情報を取得する。
# apt install <パッケージ名> パッケージをインストールする。
# apt remove <パッケージ名> パッケージを削除する。
$ apt search <キーワード> キーワードに該当するパッケージの一覧を表示する。

※他にもたくさんあります。

使ってみる

今回はDockerでDebianのイメージを使用してVimをインストールしてからアンインストールしてみます(Dockerのインストールは割愛)。

まずはDockerコンテナを起動します。

$ docker container run --rm -it debian
root@9d6870376aeb:/#

コンテナ起動直後はパッケージ情報を取得していないので、apt search vimを実行してもパッケージが表示されません。

root@e3dd01310898:/# apt search vim
Sorting... Done
Full Text Search... Done

そこで、apt updateを実行します。このコマンドは/etc/apt/sources.listファイルの記述を元にパッケージ情報を取得します。

root@5f87dce2fa64:/# apt update
Get:1 http://security.debian.org/debian-security stretch/updates InRelease [94.3 kB]
Ign:2 http://cdn-fastly.deb.debian.org/debian stretch InRelease
Get:3 http://cdn-fastly.deb.debian.org/debian stretch-updates InRelease [91.0 kB]
Get:4 http://security.debian.org/debian-security stretch/updates/main amd64 Packages [471 kB]
Get:5 http://cdn-fastly.deb.debian.org/debian stretch Release [118 kB]
Get:6 http://cdn-fastly.deb.debian.org/debian stretch-updates/main amd64 Packages [12.1 kB]
Get:7 http://cdn-fastly.deb.debian.org/debian stretch Release.gpg [2434 B]
Get:8 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 Packages [9530 kB]
Fetched 10.3 MB in 2s (3734 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.

この状態でapt searchを実行するとパッケージが表示されます(apt search ^vim$のようにキーワードに正規表現を用いることも可能)。

root@e3dd01310898:/# apt search ^vim$
Sorting... Done
Full Text Search... Done
vim/stable 2:8.0.0197-4+deb9u1 amd64
  Vi IMproved - enhanced vi editor

vimをインストールします(途中、続行するか問われるのでYを入力)。

root@e3dd01310898:/# apt install vim
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  libgpm2 vim-common vim-runtime xxd
Suggested packages:
  gpm ctags vim-doc vim-scripts
The following NEW packages will be installed:
  libgpm2 vim vim-common vim-runtime xxd
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 6766 kB of archives.
After this operation, 31.2 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
<省略>
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/view (view) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/ex (ex) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/editor (editor) in auto mode

vim --versionでズラッと情報が表示されればOK。

root@e3dd01310898:/# vim --version
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Sep 30 2017 18:21:38)
Included patches: 1-197, 322, 377-378, 550, 703, 706-707
Modified by pkg-vim-maintainers@lists.alioth.debian.org
Compiled by pkg-vim-maintainers@lists.alioth.debian.org
<省略>

次にapt remove vimでアンインストールします(途中、続行するか問われるのでYを入力)。

root@e3dd01310898:/# apt remove vim
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  vim-common vim-runtime xxd
Use 'apt autoremove' to remove them.
The following packages will be REMOVED:
  vim
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 2431 kB disk space will be freed.
Do you want to continue? [Y/n] Y
(Reading database ... 8315 files and directories currently installed.)
Removing vim (2:8.0.0197-4+deb9u1) ...

vim --versionで確認。

root@e3dd01310898:/# vim --version
bash: /usr/bin/vim: No such file or directory

これでアンインストールが完了しました。ちなみに、.vimrcのような設定ファイルも同時に削除したい場合はapt remove vimの代わりにapt purge vimを実行します。

参考