ผลผลิตที่ดีขึ้นสำหรับการอัพเกรด apt ที่เป็นไปได้?


10

การใช้apt upgradeและapt 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. ) เปลี่ยนเป็น CentOS ถ้าคุณชอบยำมาก ในที่สุดฉันก็อยากรู้ว่าสิ่งที่คุณไม่สามารถอ่านได้เกี่ยวกับการส่งออก (นอกเหนือจากมันเป็นเพียงข้อความ: p)
j-money

1
ตัวเลือกอื่นให้ใช้หน้าต่างเทอร์มินัลที่แคบกว่า มนุษย์อ่านเก่งกว่า 70 ตัวอักษรต่อบรรทัดไม่ดีเกินไป
gboffi

@ j-money มันเป็น "wall of text" ตามที่คุณเรียกว่าซึ่งฉันไม่ชอบ โชคดีสำหรับฉันบางคนได้แนะนำวิธีแก้ไขปัญหาแบบทันที
masgo

คุณควรอัพเกรดแพ็คเกจทั้งหมด, ระยะเวลา
fkraiem

@ fkraiem คุณพลาดจุด สิ่งสำคัญที่สุดคือซอฟต์แวร์ธุรกิจจะทำงาน ดังนั้นฉันต้องการทราบว่าแพ็กเกจใดที่ได้รับการอัพเกรดเนื่องจากฉันรู้ว่าซอฟแวร์ใดที่ใช้แพ็คเกจฉันจะตรวจสอบการเปลี่ยนแปลงของแพ็กเกจเหล่านี้และอาจทำการทดสอบระบบทดสอบก่อนที่จะอัปเดตระบบการผลิต
masgo

คำตอบ:


21

คุณจะได้รับการส่งออกที่ดีกว่านี้โดยขอเพิ่มเติมอย่างละเอียดเอาท์พุทรุ่น ( -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
นี่เป็นทางออกที่ดี ยำยังคงสะอาดอยู่เล็กน้อยในผลผลิต แต่นี่คือ 95% ของมัน ฉันสามารถอยู่กับที่ เนื่องจากคำถามนี้ดึงดูดดังนั้นอาจฉันจะปล่อยให้เปิดอีกหรือสองวันจนกว่าจะยอมรับคำตอบของคุณ
masgo

6

ฉันเห็นวิธีแก้ไขปัญหาสองข้อ:

  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. ใช้รูปแบบการโต้ตอบของ Aptitude แทนแบบธรรมดาapt/apt-get

    ความถนัด

    หมายเหตุ: ฉันได้ยุบส่วนแพคเกจที่จะอัพเกรดเพื่อให้สามารถอ่านได้ของส่วนอื่น ๆ


ขอบคุณสำหรับคำแนะนำ ความถนัดเป็นเรื่องที่ดี แต่ฉันมีปัญหาบางอย่างในอดีตเมื่อสิ่งต่าง ๆ ยุ่งเหยิง (เรื่องสั้น: การพึ่งพาซึ่งในความเป็นจริงเป็นไปไม่ได้ที่จะเติมเต็มความสามารถแม้ว่ามันจะสามารถเติมเต็มพวกเขาและทำการอัพเกรด; แต่ก็ยังดีที่มีหลายตัวเลือกในตาราง
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.