それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

apt list --upgradable  のパッケージを指定して個別アップグレード

指定したパッケージをアップグレードする。

アップグレード可能なパッケージは次のコマンドで解るのですが。アップグレード可能なパッケージをどうやって個別アップグレードするんだろうってずっと疑問だった。

apt list --upgradable

個別にアップグレードする方法

たとえば、openssh-serverを個別に指定してアップグレードする場合は次のようにする。

sudo apt install openssh-server --only-upgrade

--only-upgrade はなくてもいい場合が多かった。 ただinstall 指定したら、個別インストールしたフラグが立つ可能性もあるし、あんまりするべきではないかもしれない。

実際にやってみた例:

$ sudo apt list --upgradable
(略
openssh-client/stable 1:7.4p1-10+deb9u2 amd64 [1:7.4p1-10+deb9u1 からアップグレード可]
openssh-server/stable 1:7.4p1-10+deb9u2 amd64 [1:7.4p1-10+deb9u1 からアップグレード可]
openssh-sftp-server/stable 1:7.4p1-10+deb9u2 amd64 [1:7.4p1-10+deb9u1 からアップグレード可]
sqlite3/stable 3.16.2-5+deb9u1 amd64 [3.16.2-5 からアップグレード可]
(略

ここから選んだ一つだけ更新する。

takuya@:-winxp$ sudo apt install openssh-server
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  openssh-client openssh-sftp-server
提案パッケージ:
  keychain libpam-ssh monkeysphere ssh-askpass molly-guard rssh ufw
以下のパッケージはアップグレードされます:
  openssh-client openssh-server openssh-sftp-server
アップグレード: 3 個、新規インストール: 0 個、削除: 0 個、保留: 177 個。
1,150 kB のアーカイブを取得する必要があります。
この操作後に追加で 0 B のディスク容量が消費されます。
続行しますか? [Y/n] y
取得:1 http://debian-mirror.sakura.ne.jp//debian stretch/main amd64 openssh-sftp-server amd64 1:7.4p1-10+deb9u2 [39.5 kB]
取得:2 http://debian-mirror.sakura.ne.jp//debian stretch/main amd64 openssh-server amd64 1:7.4p1-10+deb9u2 [333 kB]
取得:3 http://debian-mirror.sakura.ne.jp//debian stretch/main amd64 openssh-client amd64 1:7.4p1-10+deb9u2 [778 kB]
1,150 kB を 0秒 で取得しました (1,158 kB/s)
changelog を読んでいます... 完了
パッケージを事前設定しています ...
(データベースを読み込んでいます ... 現在 306551 個のファイルとディレクトリがインストールされています。)
.../openssh-sftp-server_1%3a7.4p1-10+deb9u2_amd64.deb を展開する準備をしています ...
openssh-sftp-server (1:7.4p1-10+deb9u2) で (1:7.4p1-10+deb9u1 に) 上書き展開しています ...
.../openssh-server_1%3a7.4p1-10+deb9u2_amd64.deb を展開する準備をしています ...
openssh-server (1:7.4p1-10+deb9u2) で (1:7.4p1-10+deb9u1 に) 上書き展開しています ...
.../openssh-client_1%3a7.4p1-10+deb9u2_amd64.deb を展開する準備をしています ...
openssh-client (1:7.4p1-10+deb9u2) で (1:7.4p1-10+deb9u1 に) 上書き展開しています ...
systemd (232-25+deb9u1) のトリガを処理しています ...
man-db (2.7.6.1-2) のトリガを処理しています ...
openssh-client (1:7.4p1-10+deb9u2) を設定しています ...
openssh-sftp-server (1:7.4p1-10+deb9u2) を設定しています ...
openssh-server (1:7.4p1-10+deb9u2) を設定しています ...

参考資料

https://askubuntu.com/questions/44122/how-to-upgrade-a-single-package-using-apt-get