FreeBSDユーザーがあなたのランクに加わりました。 10.04 LTSを実行しているUbuntuサーバーの世話をするように頼まれました。
/usr/lib/update-notifier/update-motd-updates-available
から、サーバー上に多数の更新があることがわかりますが、どれが更新されるかを知る方法がわかりません。
apt-get upgrade
を実行すると更新されるパッケージを確認できるように、誰かが正しい方向に私を向けることができますか?
更新:
現時点では自分の質問に答えることができないので、とりあえずこれをここに投げ込みます。
以下に推奨されるapt-get upgrade --dry-run
に加えて、/usr/lib/update-notifier/apt-check -p
は利用可能なアップデートがあるすべてのパッケージをリストします。
まだインストールされていない場合は、aptitude
をインストールできます。これは、ヘッドレスセットアップでパッケージを管理するための優れたツールです。
それ以外の場合、何かを実行したときに何が起こるかを見たい場合は、--dry-run
引数を使用します。実際には何も実行されません。するする:
-s, --simulate, --just-print, --dry-run, --recon, --no-act No action; perform a simulation of events that would occur but do not actually change the system. Configuration Item: APT::Get::Simulate. Simulate prints out a series of lines each one representing a dpkg operation, Configure (Conf), Remove (Remv), Unpack (Inst). Square brackets indicate broken packages with and empty set of square brackets meaning breaks that are of no consequence (rare).
この方法でコマンドにオプションを追加します
apt upgrade --dry-run
現在(Ubuntu 16.04)、apt list
を--upgradable
フラグとともに使用できます。
Sudo apt update
apt list --upgradable
すべてのアップグレード可能なパッケージのリストが表示されます。
別の代替方法は、aptitude
を 検索語 とともに使用することです。
aptitude search '~U'
(大文字の「U」に注意してください)
つまり、「インストール済みでアップグレード可能なすべてのパッケージを検索する」ということです。参照: aptitudeユーザーマニュアル
デフォルトでは、aptitude search
は各パッケージの名前、説明、およびいくつかのフラグを表示しますが、必要に応じて出力を調整することもできます。たとえば、パッケージ名のみをリストするには、コマンドは次のようになります。
aptitude search -F '%p' --disable-columns '~U'
(--disable-columns
は行末の空白の埋め込みを回避します)
以下のコマンドは、リポジトリで利用可能なアップデートがあるインストール済みパッケージのリストを表示します。
dpkg --get-selections | xargs apt-cache policy {} | grep -1 Installed | sed -r 's/(:|Installed: |Candidate: )//' | uniq -u | tac | sed '/--/I,+1 d' | tac | sed '$d' | sed -n 1~2p