2022-11-19

最近 apt upgrade の動きが変わった気がする

Linux Mint 20.x を 21 にアップグレードしてから apt upgrade コマンドの挙動が変わった気がします。おそらくベースの Ubuntu が 22.04 に変わった影響なんだと思いますが。

以下の例のように apt update コマンドを実行すると、たまに「表示するには apt list --upgradable を〜」というガイドが表示される場合があります。

$ apt update
無視:1 http://ftp.jaist.ac.jp/pub/Linux/linuxmint/packages vanessa InRelease
ヒット:2 http://ftp.jaist.ac.jp/pub/Linux/linuxmint/packages vanessa Release
ヒット:3 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu jammy InRelease
ヒット:4 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu jammy-updates InRelease
ヒット:5 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu jammy-backports InRelease
取得:7 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
ヒット:8 http://ppa.launchpad.net/pipewire-debian/pipewire-upstream/ubuntu jammy InRelease
110 kB を 2秒 で取得しました (47.5 kB/s)
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了        
アップグレードできるパッケージが 8 個あります。表示するには 'apt list --upgradable' を実行してください。

なるほど、8個あるのね。どれどれ確認してみよう。

$ apt list --upgradable
一覧表示... 完了
gir1.2-gdkpixbuf-2.0/jammy-updates 2.42.8+dfsg-1ubuntu0.2 amd64 [2.42.8+dfsg-1ubuntu0.1 からアップグレード可]
gir1.2-gnomedesktop-3.0/jammy-updates 42.5-0ubuntu1 amd64 [42.4-0ubuntu1 からアップグレード可]
gnome-desktop3-data/jammy-updates,jammy-updates 42.5-0ubuntu1 all [42.4-0ubuntu1 からアップグレード可]
libgdk-pixbuf-2.0-0/jammy-updates 2.42.8+dfsg-1ubuntu0.2 amd64 [2.42.8+dfsg-1ubuntu0.1 からアップグレード可]
libgdk-pixbuf-2.0-dev/jammy-updates 2.42.8+dfsg-1ubuntu0.2 amd64 [2.42.8+dfsg-1ubuntu0.1 からアップグレード可]
libgdk-pixbuf2.0-bin/jammy-updates 2.42.8+dfsg-1ubuntu0.2 amd64 [2.42.8+dfsg-1ubuntu0.1 からアップグレード可]
libgdk-pixbuf2.0-common/jammy-updates,jammy-updates 2.42.8+dfsg-1ubuntu0.2 all [2.42.8+dfsg-1ubuntu0.1 からアップグレード可]
libgnome-desktop-3-19/jammy-updates 42.5-0ubuntu1 amd64 [42.4-0ubuntu1 からアップグレード可]

あぁ、確かにありますね。どれどれ、upgrade コマンドで導入してみましょう。

$ apt upgrade
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了        
状態情報を読み取っています... 完了        
アップグレードパッケージを検出しています... 完了
以下のパッケージは保留されます:
  gir1.2-gdkpixbuf-2.0 gir1.2-gnomedesktop-3.0 gnome-desktop3-data libgdk-pixbuf-2.0-0 libgdk-pixbuf-2.0-dev
  libgdk-pixbuf2.0-bin libgdk-pixbuf2.0-common libgnome-desktop-3-19
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 8 個。

ん?保留ですか?以前はこの apt upgrade コマンドで導入された気がするのですが。

仕方ないですね。より強力な apt full-upgrade コマンドを投入してみましょう。

$ apt full-upgrade
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了        
状態情報を読み取っています... 完了        
アップグレードパッケージを検出しています... 完了
以下のパッケージは保留されます:
  gir1.2-gdkpixbuf-2.0 gir1.2-gnomedesktop-3.0 gnome-desktop3-data libgdk-pixbuf-2.0-0 libgdk-pixbuf-2.0-dev
  libgdk-pixbuf2.0-bin libgdk-pixbuf2.0-common libgnome-desktop-3-19
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 8 個。

なんと。まだ保留されてしまいますね。

最終的には apt install 〜 で個別にインストールすることで対応できました。

パッケージ名を元に当たりのパッケージを先にインストールすると依存関係でいくつかのパッケージがインストールされることがあるため、全部のパッケージに install コマンドを発行しなくてもよいです。 

なんか今の apt コマンドの動きだと update オプションと install オプションしか機能してない感じですね。