적절한 업그레이드를위한 더 나은 출력?


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]

그로부터 업그레이드가 안전한지 결정해야합니다. packagelist는보기 흉하고 혼란 스럽습니다. 업그레이드 대상에 대해 더 나은 개요를 원합니다.

예를 들어 yum(CentOS의)는 업그레이드 할 때 훨씬 더 깔끔한보기를 제공합니다. 어떤 패키지가 업그레이드 될 것인지, 어떤 버전으로 업그레이드되는지 (예를 들어, 작거나 주요 버전 인 경우), pacakge의 다운로드 크기를 쉽게 확인할 수 있습니다.

$ 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
다른 옵션은 더 좁은 터미널 창을 사용하십시오. 인간은 한 줄에 70 자 이상을 읽는 데 능숙하지 않습니다.
gboffi

@ j-money 당신이 그것을 부르는 것처럼 그것은 정확히 "텍스트 벽"입니다. 운 좋게도 일부는 즉시 사용 가능한 솔루션을 제안했습니다.
masgo

모든 패키지, 기간을 항상 업그레이드해야합니다.
fkraiem

@fkraiem 당신은 요점을 그리워합니다. 비즈니스 소프트웨어가 실행되는 것이 최우선입니다. 따라서 어떤 패키지가 소프트웨어에 사용되는지 알고 있기 때문에 업그레이드를 얻는 패키지를 알고 싶습니다. 프로덕션 시스템을 업데이트하기 전에 이러한 패키지의 변경 로그를 확인하고 테스트 시스템에서 테스트를 수행해야합니다
masgo

답변:


21

보다 자세한 버전 출력 ( -V,, man--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 %입니다. 나는 그걸로 살 수 있습니다. 이 질문에 끌릴 수 있으므로 답을 받아 들일 때까지 하루나 이틀 더 열어 두겠습니다.
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. 평범한 apt/ 대신 대화 형 형태의 적성apt-get

    적성

    참고 : 다른 섹션의 가독성을 위해 업그레이드패키지 섹션을 축소했습니다 .


제안 해 주셔서 감사합니다. 적성은 좋지만 과거에는 문제가 발생했을 때 문제가있었습니다. 그러나 테이블에 여러 옵션이있는 것이 여전히 좋습니다.
masgo

먼저 (시뮬레이션) 마른 실행하기 위하여려고하는 경우에, 당신은 파이프로 출력 할 수 있습니다 awk또는 sed구성은, 등 당신이 원하는 방식으로 출력 모양을 확인합니다.
Joe

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 8
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.