Bạn có thể đạt được điều đó bằng cách thực hiện các bước sau:
Đầu tiên, cài đặt phiên bản apt-show
gói trên máy với:
Sudo apt-get install -y apt-show-versions
Với lệnh sau, bạn có thể nhận danh sách các gói có thể nâng cấp:
apt-show-phiên bản -u
Điều này có thể được sử dụng để tạo lợi thế cho chúng tôi bằng cách kết hợp công cụ này với apt-cache
để khôi phục kích thước của gói, hãy xem cách thực hiện:
cho gói trong `/usr/bin/apt-show-versions -u | tr '' / | cắt -f1,6 -d'/' | tr / =` ; làm echo -n gói $; Sudo apt-cache show gói $ | grep '^Size:' | cắt -d: -f2 ; xong | sắp xếp -k2 -n
Lệnh trước đó sẽ cung cấp cho bạn danh sách các gói có thể nâng cấp và kích thước của chúng theo byte theo thứ tự tăng dần.
Nếu bạn muốn hiểu những gì được thực hiện trong mỗi bước, đây là phần tóm tắt nhanh lệnh trên:
# Cung cấp cho bạn danh sách các gói có thể nâng cấp với các phiên bản mới có sẵn của chúng ở định dạng package_name=version
/usr/bin/apt-show-versions -u | tr '' / | cắt -f1,6 -d'/' | tr / =
# Nhận kích thước (tính bằng byte) của từng gói có thể nâng cấp
Sudo apt-cache show gói $ | grep '^Kích thước:'
# Hiển thị đầu ra theo thứ tự tăng dần
sắp xếp -k2 -n
Một ví dụ về đầu ra của lệnh trước đó sẽ là:
galoget@hackem:~$ cho gói trong `/usr/bin/apt-show-versions -u | tr '' / | cắt -f1,6 -d'/' | tr / =` ; làm echo -n gói $; Sudo apt-cache show gói $ | kêu '
^Kích thước:' | cắt -d: -f2 ; xong | sắp xếp -k2 -n
initramfs-tools:all=0.136ubuntu6.6 9248
systemd-sysv:AMD64=245.4-4ubuntu3.7 10280
phần mềm-properties-common:all=0.98.9.5 10616
initramfs-tools-bin:amd64=0.136ubuntu6.6 10904
update-manager-core:all=1:20.04.10.7 11260
python-apt-common:all=2.0.0ubuntu0.20.04.5 17052
linux-base:all=4.5ubuntu3.6 17780
libasound2-data:all=1.2.2-2.1ubuntu2.4 20040
ubuntu-release-upgrader-core:all=1:20.04.33 23812
python3-software-properties:all=0.98.9.5 25124
alsa-ucm-conf:all=1.2.2-1ubuntu0.8 26484
systemd-timesyncd:amd64=245.4-4ubuntu3.7 28104
libprocps8:AMD64=2:3.3.16-1ubuntu2.2 33016
libnetplan0:AMD64=0.102-0ubuntu1~20.04.2 34608
libpam-runtime:all=1.3.1-5ubuntu4.2 37276
python3-update-manager:all=1:20.04.10.7 38176
libpam-modules-bin:AMD64=1.3.1-5ubuntu4.2 41180
initramfs-tools-core:all=0.136ubuntu6.6 47744
libxmlb1:AMD64=0.1.15-2ubuntu1~20.04.1 50520
libpam0g:AMD64=1.3.1-5ubuntu4.2 55372
libudev1:AMD64=245.4-4ubuntu3.7 77604
libnss-systemd:AMD64=245.4-4ubuntu3.7 96096
python3-distupgrade:all=1:20.04.33 104100
netplan.io:AMD64=0.102-0ubuntu1~20.04.2 117380
update-notifier-common:all=3.192.30.8 132392
python3-apt:amd64=2.0.0ubuntu0.20.04.5 154164
libpam-systemd:AMD64=245.4-4ubuntu3.7 185812
apt-utils:AMD64=2.0.6 216244
procps:amd64=2:3.3.16-1ubuntu2.2 232168
sosreport:amd64=4.1-1ubuntu0.20.04.2 245052
mô-đun libpam: AMD64=1.3.1-5ubuntu4.2 260364
libsystemd0:AMD64=245.4-4ubuntu3.7 270248
open-iscsi:AMD64=2.0.874-7.1ubuntu6.2 283160
tmux:amd64=3.0a-2ubuntu0.3 292044
libasound2:AMD64=1.2.2-2.1ubuntu2.4 334416
đám mây-init:all=21.2-3-g899bfaa9-0ubuntu2~20.04.1 456404
open-vm-tools:amd64=2:11.2.5-2ubuntu1~ubuntu20.04.1 603812
openssl:AMD64=1.1.1f-1ubuntu2.4 620068
libapt-pkg6.0:AMD64=2.0.6 835288
ubuntu-advantage-tools:AMD64=27.1~20.04.1 837368
apt:AMD64=2.0.6 1295960
libssl1.1:AMD64=1.1.1f-1ubuntu2.4 1319180
udev:AMD64=245.4-4ubuntu3.7 1366316
systemd:amd64=245.4-4ubuntu3.7 3805892
snapd:AMD64=2.49.2+20.04 30555628
Trong trường hợp bạn chỉ muốn kích thước của các gói và thêm chúng để có tổng kích thước tính bằng byte, bạn có thể sử dụng lệnh sau:
galoget@ip-172-31-35-106:~$ cho gói trong `/usr/bin/apt-show-versions -u | tr '' / | cắt -f1,6 -d'/' | tr / =` ; làm Sudo apt-cache show gói $ | grep '^Size: ' | cắt -d " " -f2 ; xong | sắp xếp -k2 -n | awk '{ SUM += $1} END { print SUM }'
45245756
Trong ví dụ của tôi, tổng kích thước của bản cập nhật sẽ là 45245756
byte, tương đương 45,3 Megabyte, điều này có thể được xác minh bằng cách chạy:
galoget@hackem:~$ nâng cấp sudo apt
Đang đọc danh sách gói... Xong
Xây dựng cây phụ thuộc
Đang đọc thông tin trạng thái... Xong
Đang tính nâng cấp... Xong
Các gói MỚI sau đây sẽ được cài đặt:
thông tin distro
Các gói sau sẽ được nâng cấp:
alsa-ucm-conf apt apt-utils cloud-init initramfs-tools initramfs-tools-bin initramfs-tools-core libapt-pkg6.0 libasound2 libasound2-data libnetplan0 libnss-systemd
libpam-mô-đun libpam-mô-đun-bin libpam-thời gian chạy libpam-systemd libpam0g libprocps8 libssl1.1 libsystemd0 libudev1 libxmlb1 linux-base netplan.io open-iscsi
open-vm-tools openssl procps python-apt-common python3-apt python3-distupgrade python3-software-procps python3-update-manager snapd software-properties-common
sosreport systemd systemd-sysv systemd-timesyncd tmux ubuntu-advantage-tools ubuntu-release-upgrader-core udev update-manager-core update-notifier-common
45 đã nâng cấp, 1 mới cài đặt, 0 cần xóa và 0 chưa nâng cấp.
Cần lấy 45,3 MB dung lượng lưu trữ.
Sau thao tác này, 11,1 MB dung lượng đĩa bổ sung sẽ được sử dụng.
Bạn có muốn tiếp tục? [Y/n] Y
Như bạn có thể thấy, kích thước phù hợp, vì vậy lệnh hoạt động hoàn hảo.