動かざることバグの如し

近づきたいよ 君の理想に

Ubuntuでインストール可能なバージョン一覧を表示する方法

環境

apt install では最新のバージョンがインストールされるが、特定のバージョンをインストールしたときとか、インストール前にインストールされるバージョンを確認しておきたいとかある。そのときに使えるメモ

例えばvimをバージョン一覧を表示したいとき

apt policy

aptコマンドが使えれば使える。Version tableにバージョン一覧が表示される。

# apt policy vim
vim:
  Installed: 2:7.4.1689-3ubuntu1.2
  Candidate: 2:7.4.1689-3ubuntu1.3
  Version table:
     2:7.4.1689-3ubuntu1.3 500
        500 http://asia-northeast1-c.gce.clouds.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages
 *** 2:7.4.1689-3ubuntu1.2 100
        100 /var/lib/dpkg/status
     2:7.4.1689-3ubuntu1 500
        500 http://asia-northeast1-c.gce.clouds.archive.ubuntu.com/ubuntu xenial/main amd64 Packages

apt listを使う方法

apt listは直感的でもっとシンプルな表示。ただ、デフォルトだと最新バージョンしか表示されないので、すべてのバージョンを表示させたい場合は-aを付ける必要がある。

# apt list vim -a
Listing... Done
vim/xenial-updates,xenial-security 2:7.4.1689-3ubuntu1.3 amd64 [upgradable from: 2:7.4.1689-3ubuntu1.2]
vim/now 2:7.4.1689-3ubuntu1.2 amd64 [installed,upgradable to: 2:7.4.1689-3ubuntu1.3]
vim/xenial 2:7.4.1689-3ubuntu1 amd64

apt-cache policy

Ubuntuの古いバージョン等で、aptコマンドがない場合はapt-cache policyが使える。表示形式としてはapt policyと同じ

# apt-cache policy vim
vim:
  Installed: 2:7.4.1689-3ubuntu1.2
  Candidate: 2:7.4.1689-3ubuntu1.3
  Version table:
     2:7.4.1689-3ubuntu1.3 500
        500 http://asia-northeast1-c.gce.clouds.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages
 *** 2:7.4.1689-3ubuntu1.2 100
        100 /var/lib/dpkg/status
     2:7.4.1689-3ubuntu1 500
        500 http://asia-northeast1-c.gce.clouds.archive.ubuntu.com/ubuntu xenial/main amd64 Packages

apt-cache madison

これもバージョン一覧を表示できる。他のコマンド比較して、特にこれを使うメリットはない気がしている(覚えにくいし

root@gux01:~# apt-cache madison vim
       vim | 2:7.4.1689-3ubuntu1.3 | http://asia-northeast1-c.gce.clouds.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
       vim | 2:7.4.1689-3ubuntu1.3 | http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages
       vim | 2:7.4.1689-3ubuntu1 | http://asia-northeast1-c.gce.clouds.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
       vim | 2:7.4.1689-3ubuntu1 | http://asia-northeast1-c.gce.clouds.archive.ubuntu.com/ubuntu xenial/main Sources
       vim | 2:7.4.1689-3ubuntu1.3 | http://asia-northeast1-c.gce.clouds.archive.ubuntu.com/ubuntu xenial-updates/main Sources
       vim | 2:7.4.1689-3ubuntu1.3 | http://security.ubuntu.com/ubuntu xenial-security/main Sources

apt-show-versions

ここまで長々と書いたが、実はバージョン一覧を表示するコマンドがある。が、デフォルトではインストールされていないので、先にインストールする必要がある。

apt install apt-show-versions

以下は例。

# apt-show-versions vim -a
vim:amd64 2:7.4.1689-3ubuntu1.2 install ok installed
vim:amd64 2:7.4.1689-3ubuntu1   xenial          asia-northeast1-c.gce.clouds.archive.ubuntu.com
vim:amd64 2:7.4.1689-3ubuntu1.3 xenial-security security.ubuntu.com
vim:amd64 2:7.4.1689-3ubuntu1.3 xenial-updates  asia-northeast1-c.gce.clouds.archive.ubuntu.com
No stable version
vim:amd64/xenial-security 2:7.4.1689-3ubuntu1.2 upgradeable to 2:7.4.1689-3ubuntu1.3

好きなやつ1つ覚えておけば、何かと使えると思う。

参考リンク