この計算を実行するスクリプトに優しい方法があるかどうか疑問に思いますapt list --upgradeable
。これにより、解析が非常に簡単なアップグレード候補が1行に1つしか含まれていない素晴らしい出力が生成されます。ただし、次の点apt
も警告してください。
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
だから代わりにVenerableを使用する必要があると思いますapt-get
。残念ながら、出力は次のようになります。
apt-get -s --no-download dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
dbus libdbus-1-3
The following packages will be upgraded:
bash gcc-8-base gpgv libedit2 libgcc1 libprocps7 libpsl5 libselinux1 libsemanage-common libsemanage1 libsepol1 libsqlite3-0 libstdc++6 perl-base
procps publicsuffix rsyslog twigpilot-core
18 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
...
これは分析するのが難しいです。だから、apt-get
もっと簡潔なリストを印刷できるように更新する方法があることを願っていますapt
。
答え1
私はUbuntuを頻繁に使用しませんが、次はどうですか?
$ apt-get -s --no-download dist-upgrade -V | grep '=>' | awk '{print$1}'
1行に1つのパケットを印刷します。に記載されているようにman apt-get
:
-V, --verbose-versions
Show full versions for upgraded and installed packages. Configuration Item: APT::Get::Show-Versions.
答え2
これがapt-show-versions -u
あなたが探しているものですか?それからマンページ:
-u
、--upgradeable
アップグレード可能なパッケージのみを印刷
アップグレード可能なすべてのパッケージをテキストファイルにリストし、列形式で表示します。
apt-show-versions -u | column -t > debupdlist-$(date '+%Y%m%d').txt
アップグレード可能なパッケージ名をリストします。
apt-show-versions -u | cut -d: -f1