aptアップグレードのより良い出力は可能ですか?


10

とを使用するapt upgradeapt dist-upgrade、出力は通常次のようになるため、非常に混乱します。出力を読みやすくするオプションまたは可能性はありますか?

$ sudo apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  apache2 apache2-bin apache2-data apache2-utils apport apt apt-utils bind9-host bsdutils dnsutils e2fsprogs fdisk grub-common grub-pc grub-pc-bin
  grub2-common irqbalance kmod landscape-common libapt-inst2.0 libapt-pkg5.0 libbind9-160 libblkid1 libcom-err2 libcups2 libcupsimage2
  libdns-export1100 libdns1100 libdrm-common libdrm2 libext2fs2 libfdisk1 libglib2.0-0 libglib2.0-data libirs160 libisc-export169 libisc169
  libisccc160 libisccfg160 libkmod2 libldap-2.4-2 libldap-common liblwres160 liblxc-common liblxc1 libmount1 libnss-systemd libpam-systemd
  libparted2 libpython3-stdlib libpython3.6 libpython3.6-minimal libpython3.6-stdlib libsmartcols1 libss2 libsystemd0 libudev1 libuuid1
  linux-firmware lxcfs lxd lxd-client mount open-iscsi open-vm-tools parted psmisc python-apt-common python3 python3-apport python3-apt
  python3-distupgrade python3-gdbm python3-minimal python3-problem-report python3-software-properties python3-update-manager python3.6
  python3.6-minimal snapd software-properties-common sosreport systemd systemd-sysv tar tmux ubuntu-keyring ubuntu-release-upgrader-core udev
  unattended-upgrades update-manager-core update-notifier-common util-linux uuid-runtime
94 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 115 MB of archives.
After this operation, 14.1 MB of additional disk space will be used.
Do you want to continue? [Y/n]

それから、アップグレードしても安全かどうかを判断する必要があります。パッケージリストは単に醜くて混乱しています。何がアップグレードされるかについて、より良い概要が欲しいのですが。

たとえば、yum(CentOSから)アップグレードすると、より見やすくなります。どのパッケージがどのバージョンにアップグレードされるか(たとえば、それが小さいバージョンまたはメジャーバージョンのジャンプの場合)、パッケージのダウンロードサイズを簡単に確認できます。

$ sudo yum update
Loaded plugins: changelog, fastestmirror
Setting up Update Process
Loading mirror speeds from cached hostfile
 * base: centos.mirrors.as250.net
 * epel: ftp.plusline.net
 * extras: ftp.hosteurope.de
 * updates: ftp.plusline.net
Resolving Dependencies
--> Running transaction check
---> Package geoipupdate.x86_64 0:2.2.1-2.el6 will be updated
---> Package geoipupdate.x86_64 0:3.1.1-2.el6 will be an update
---> Package gsoap.x86_64 0:2.7.16-6.el6 will be updated
---> Package gsoap.x86_64 0:2.7.16-7.el6 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

============================================================================================================
 Package                     Arch                   Version                      Repository            Size
============================================================================================================
Updating:
 geoipupdate                 x86_64                 3.1.1-2.el6                  epel                  37 k
 gsoap                       x86_64                 2.7.16-7.el6                 epel                 199 k

Transaction Summary
============================================================================================================
Upgrade       2 Package(s)

Total size: 236 k
Is this ok [y/N]:

複数のオプションがあります。1.)自分でパッチを適用する2.)修正するかどうかを上流に問い合わせる3.)yumが本当に気に入った場合は、CentOSに切り替える。最後に、出力について何が読めないかについて興味があります(それがテキストの壁でしかないことを除いて:p)
j-money

1
別のオプションとして、より狭いターミナルウィンドウを使用します。人間は、1行あたり70文字以上を読むのが得意ではありません。
gboffi

@ j-moneyまさに「テキストの壁」です。幸運なことに、すぐに使えるソリューションを提案している人もいます。
masgo

すべてのパッケージ、期間を常にアップグレードする必要があります。
fkraiem

@fkraiem要点を逃しています。最優先事項は、ビジネスソフトウェアの実行です。したがって、どのパッケージがアップグレードされるかを知りたいのです。ソフトウェアで使用されているパッケージがわかっているので、これらのパッケージの変更ログを確認し、本番システムを更新する前にテストシステムでテストを実行します
masgo

回答:


21

あなたは(バージョン出力VERBOSEの詳細を尋ねることによって、この優れた出力を得ることができ-V--verbose-versions参照男性をapt-get):

# apt upgrade -V
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
   apt (1.6.2 => 1.6.8)
   base-files (10.1ubuntu2 => 10.1ubuntu2.3)
   bsdutils (1:2.31.1-0.4ubuntu3.1 => 1:2.31.1-0.4ubuntu3.3)
   [...]
   util-linux (2.31.1-0.4ubuntu3.1 => 2.31.1-0.4ubuntu3.3)
26 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 8002 kB of archives.
After this operation, 46.1 kB of additional disk space will be used.
Do you want to continue? [Y/n]

また、apt list --upgradable(出力が強調表示されています!):

$ apt list --upgradable
Listing... Done
apt/bionic-updates 1.6.8 amd64 [upgradable from: 1.6.2]
base-files/bionic-updates 10.1ubuntu2.3 amd64 [upgradable from: 10.1ubuntu2]
[...]
util-linux/bionic-updates 2.31.1-0.4ubuntu3.3 amd64 [upgradable from: 2.31.1-0.4ubuntu3.1]

2
これは素晴らしいソリューションです。出力では、yumはまだ少しクリーンですが、これは95%です。私はそれと共存できます。この質問は非常に魅力的だったので、あなたの答えを受け入れるまで、あと1〜2日は開いたままにしておきます。
masgo

6

私は2つの解決策を見ます:

  1. apt/でシミュレーションを使用するapt-get

    $ sudo apt dist-upgrade --simulate
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    Calculating upgrade... Done
    The following packages were automatically installed and are no longer required:
      linux-headers-4.15.0-20 linux-headers-4.15.0-20-generic linux-image-4.15.0-20-generic linux-modules-4.15.0-20-generic
      linux-modules-extra-4.15.0-20-generic
    Use 'sudo apt autoremove' to remove them.
    The following NEW packages will be installed:
      libllvm7 libwayland-egl1
    The following packages will be upgraded:
      apt apt-utils bsdutils cups cups-bsd cups-client cups-common cups-core-drivers cups-daemon cups-ipp-utils cups-ppdc cups-server-common
      deja-dup e2fsprogs fdisk gir1.2-nma-1.0 gir1.2-totem-1.0 gjs gnome-shell-extension-ubuntu-dock grub-common grub-pc grub-pc-bin
      grub2-common gvfs gvfs-backends gvfs-bin gvfs-common gvfs-daemons gvfs-fuse gvfs-libs irqbalance kmod libapt-inst2.0 libapt-pkg5.0
      libasound2 libasound2-data libblkid1 libcairo-gobject2 libcairo2 libcom-err2 libcups2 libcupscgi1 libcupsimage2 libcupsmime1 libcupsppdc1
      libdrm-amdgpu1 libdrm-common libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libdrm2 libegl-mesa0 libegl1-mesa libext2fs2 libfdisk1 libgbm1
      libgjs0g libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libglx-mesa0 libkmod2 libmount1 libnma0 libnss-myhostname libnss-systemd
      libpam-systemd libsmartcols1 libsmbclient libss2 libsystemd0 libtotem0 libudev1 libuuid1 libwayland-client0 libwayland-cursor0
      libwayland-egl1-mesa libwayland-server0 libwbclient0 libxatracker2 linux-firmware mesa-va-drivers mesa-vdpau-drivers mount
      network-manager-gnome python-apt-common python3-apt python3-distupgrade python3-update-manager rfkill samba-libs snapd systemd
      systemd-sysv tar thermald totem totem-common totem-plugins ubuntu-release-upgrader-core ubuntu-release-upgrader-gtk udev update-manager
      update-manager-core update-notifier update-notifier-common util-linux uuid-runtime
    108 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
    Inst bsdutils [1:2.31.1-0.4ubuntu3.2] (1:2.31.1-0.4ubuntu3.3 Ubuntu:18.04/bionic-updates [amd64])
    Conf bsdutils (1:2.31.1-0.4ubuntu3.3 Ubuntu:18.04/bionic-updates [amd64])
    Inst libext2fs2 [1.44.1-1ubuntu1] (1.44.1-1ubuntu1.1 Ubuntu:18.04/bionic-updates [amd64]) [e2fsprogs:amd64 on libext2fs2:amd64] [e2fsprogs:amd64 ]
    Conf libext2fs2 (1.44.1-1ubuntu1.1 Ubuntu:18.04/bionic-updates [amd64]) [e2fsprogs:amd64 ]
    Inst e2fsprogs [1.44.1-1ubuntu1] (1.44.1-1ubuntu1.1 Ubuntu:18.04/bionic-updates [amd64])
    ...
    
  2. プレーンなapt/の代わりにインタラクティブな形式のAptitudeを使用するapt-get

    適性

    注:他のセクションを読みやすくするために、「アップグレードするパッケージ」セクションを省略しています。


提案ありがとうございます。Aptitudeは素晴らしいですが、物事が乱雑になったときに過去にいくつかの問題がありました(短編ストーリー:依存関係は実際には実行できません。aptitudeはそれらを実行し、アップグレードを実行しましたが、システムを壊しました)。しかし、テーブルに複数のオプションがあることは依然として良いことです。
masgo

最初に予行演習(シミュレーション)を行う場合は、出力をawk/またはsedなどにパイプして、出力を好きなように表示することができます。
ジョー

2

私はこれを使っています

apt list --upgradable | column -t | awk '{print $1"\t"$2"\t"$6}' | column -t | tr -d "]"

groot@debian:~# apt list --upgradable | column -t | awk '{print $1"\t"$2"\t"$6}' | column -t | tr -d "]"

Listing...
e2fslibs/stable                    1.44.5-1+deb10u2                     1.44.5-1+deb10u1
e2fsprogs-l10n/stable              1.44.5-1+deb10u2                     1.44.5-1+deb10u1
e2fsprogs/stable                   1.44.5-1+deb10u2                     1.44.5-1+deb10u1
gir1.2-ibus-1.0/stable             1.5.19-4+deb10u1                     1.5.19-4
libcom-err2/stable                 1.44.5-1+deb10u2                     1.44.5-1+deb10u1
libexpat1/stable                   2.2.6-2+deb10u1                      2.2.6-2
libext2fs2/stable                  1.44.5-1+deb10u2                     1.44.5-1+deb10u1
libibus-1.0-5/stable               1.5.19-4+deb10u1                     1.5.19-4
libibus-1.0-dev/stable             1.5.19-4+deb10u1                     1.5.19-4
libss2/stable                      1.44.5-1+deb10u2                     1.44.5-1+deb10u1
libssl1.1/stable                   1.1.1d-0+deb10u2                     1.1.1c-1
linux-image-4.19.0-6-amd64/stable  4.19.67-2+deb10u1                    4.19.67-2
linux-libc-dev/stable              4.19.67-2+deb10u1                    4.19.67-2
openssh-client/stable              1:7.9p1-10+deb10u1                   1:7.9p1-10
openssh-server/stable              1:7.9p1-10+deb10u1                   1:7.9p1-10
openssh-sftp-server/stable         1:7.9p1-10+deb10u1                   1:7.9p1-10
openssl/stable                     1.1.1d-0+deb10u2                     1.1.1c-1
tzdata/stable-updates              2019c-0+deb10u1                      2019b-0+deb10u1
wpasupplicant/stable               2:2.7+git20190128+0c1e29f-6+deb10u1  2:2.7+git20190128+0c1e29f-6

こんにちは、AskUbuntuへようこそ。コマンドの実行内容について説明してください。
Simon Sudler、
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.