web-dev-qa-db-ja.com

更新可能なパッケージをどのように確認しますか

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は利用可能なアップデートがあるすべてのパッケージをリストします。

70
Jan Geep

まだインストールされていない場合は、aptitudeをインストールできます。これは、ヘッドレスセットアップでパッケージを管理するための優れたツールです。

enter image description here

それ以外の場合、何かを実行したときに何が起こるかを見たい場合は、--dry-run引数を使用します。実際には何も実行されません。するする:

apt-get manページ から

-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
61
Oli

現在(Ubuntu 16.04)、apt list--upgradableフラグとともに使用できます。

Sudo apt update
apt list --upgradable

すべてのアップグレード可能なパッケージのリストが表示されます。

65
doru

別の代替方法は、aptitude検索語 とともに使用することです。

aptitude search '~U'

(大文字の「U」に注意してください)

つまり、「インストール済みでアップグレード可能なすべてのパッケージを検索する」ということです。参照: aptitudeユーザーマニュアル

デフォルトでは、aptitude searchは各パッケージの名前、説明、およびいくつかのフラグを表示しますが、必要に応じて出力を調整することもできます。たとえば、パッケージ名のみをリストするには、コマンドは次のようになります。

aptitude search -F '%p' --disable-columns '~U'

--disable-columnsは行末の空白の埋め込みを回避します)

10
sierrasdetandil

以下のコマンドは、リポジトリで利用可能なアップデートがあるインストール済みパッケージのリストを表示します。

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
8
Avinash Raj