Làm cách nào để liệt kê phần mềm đã cài đặt với kích thước đã cài đặt?


38

Tôi muốn có một danh sách các phần mềm được cài đặt trên máy của tôi, với không gian đĩa được sử dụng cùng với chúng. Tôi muốn có thể đặt hàng lớn nhất / nhỏ nhất, nhưng đó không phải là một điều cần thiết.

Tôi là kiểu người sẽ cài đặt phần mềm để dùng thử và không bao giờ tự dọn dẹp.

Do đó, 7GB (Windows và Dữ liệu của tôi nằm trên các phân vùng riêng biệt, cũng như khu vực trao đổi) Phân vùng Ubuntu 11.04 đang bị ảnh hưởng và đã bắt đầu thường xuyên hiển thị các thông báo cảnh báo.


Câu trả lời:


23

Bạn có thể làm điều này bằng đồ họa trong Synaptic Cài đặt synap .

Trước tiên, đảm bảo rằng bạn đã bật các cột Kích thước cài đặt và Tải xuống kích thước (hoặc chỉ một cột nếu bạn muốn cột đó).

  • Để thực hiện việc này, hãy đi tới Cài đặt> Tùy chọn và chọn Cột và Phông chữ , sau đó đánh dấu vào các cột bạn muốn xem.
  • Sau đó bấm OK .

Cửa sổ tùy chọn

  • Khi chúng được bật, bạn có thể liệt kê các gói bạn đã cài đặt theo kích thước tải xuống / cài đặt bằng cách nhấp vào cột.

Cột

  • Xin lưu ý: Tôi không có các gói của mình được liệt kê theo cách mà màn hình này chụp, nhưng nó hoạt động.

Đây chính xác là những gì tôi đang tìm kiếm! Cảm ơn rất nhiều.
Lewis Goddard

@LewisGoddard: bạn được chào đón.
RolandiXor

24
dpkg-query -W -f='${Installed-Size;8}  ${Package}\n' | sort -n

hiển thị cho bạn một danh sách gói được sắp xếp theo kích thước


3
Sẽ tốt hơn nếu bạn có thể đề cập đến đơn vị của kích thước quá.
việc

Có lẽ là kilobyte
Andreas Hartmann

1
những gì ;8trong ${Installed-Size;8}?
n611x007

1
@naxa: In bên phải thẳng hàng với chiều rộng các trường là 8
Florian Diesch

18

Giải pháp ưu tiên

Tôi đã tìm thấy một câu trả lời ngắn hơn, không yêu cầu aptitude:

dpkg-query -Wf '${Installed-size}\t${Package}\n' | column -t

Giải pháp đề xuất cũ

Các showlệnh của aptitudecó khả năng hiển thị kích thước cài đặt của một gói.

Tôi có tập lệnh nhỏ này, sử dụng aptitude(để cài đặt riêng) để có danh sách tất cả các gói đã cài đặt với kích thước:

#!/bin/bash

export LC_ALL=C

aptitude show $(dpkg-query -Wf '${Package}\n') |
  awk '$1 == "Package:"     { name = $2 }
       $1 == "Uncompressed" { printf("%10s %s\n", $3, name) }' |
  awk '$1 ~ /k/ { $1 *= 1 }; $1 ~ /M/ { $1 *= 1024 }
       { printf("%9d %s\n", $1, $2)}'

Kích thước được biểu thị bằng kilobyte và gần đúng khi được trả về aptitude show pkg.

Kịch bản có thể được cải thiện bằng cách sử dụng một lệnh awkgọi duy nhất (nhưng tôi lười biếng :-)


1
Bạn có thể muốn ném một đường ống sort -nk1vào cuối lệnh đầu tiên đó.
Marco Ceppi

@MarcoCeppi: vâng, đó không phải là mối quan tâm chính của OP và tôi thường bỏ qua việc đặt hàng từ các tập lệnh của mình, cho rằng nó có thể được áp dụng theo những cách khác nhau khi cần.
enzotib

1
Điều này cũng liệt kê phần mềm không được cài đặt nữa. Có cách nào để loại bỏ chúng khỏi đầu ra?
rumpel

Bạn có muốn một tổng số các gói ống mà lệnh đầu tiên để cut -f 1 | paste -sd+ | bc. Bạn cũng có thể grep trước cutđể bạn có thể nhận được kích thước cài đặt chỉ các gói cụ thể.
MeanEYE

5

Một tùy chọn khác là sử dụng dpigsứng dụng từ debian-goodiesgói:

NAME
   dpigs - Show which installed packages occupy the most space

SYNOPSIS
   dpigs [options]

DESCRIPTION
   dpigs sorts the installed packages by size and outputs the largest ones. Per
   default dpigs displays the largest 10 packages. You can change this value by
   using the -n option (see "OPTIONS"). The information is taken from the dpkg
   status file with grep-status(1).

OPTIONS
   -h, --help
       Display some usage information and exit.

   -n, --lines=N
       Display the N largest packages on the system (default 10).

   -s, --status=FILE
       Use FILE instead of the default dpkg status file (which is /var/lib/dpkg/status
       currently).

   -S, --source
       Display the largest source packages of binary packages installed on the system.

3

Bạn có thể xem danh sách như vậy trong Trình quản lý gói dựa trên thiết bị đầu cuối Aptitude:

  1. Mở năng khiếu với sudo aptitude.
  2. Nhấn S(viết hoa S) và gõ ~installsizetại dấu nhắc. (Đây ~là cách sắp xếp giảm dần; bạn có thể bỏ qua nếu bạn muốn các gói nhỏ nhất ở trên cùng.)
  3. Đến bây giờ, các gói được sắp xếp theo kích thước bên trong mỗi cấp độ phân cấp. Để có cái nhìn tổng quan, bạn sẽ muốn càng ít cấp độ càng tốt. Nhấn Gvà nhập statustại dấu nhắc. Bây giờ tất cả các gói được cài đặt trong một phần duy nhất, được sắp xếp theo kích thước.

1

Các câu trả lời khác ở đây liệt kê cả các gói đã cài đặt và đã cài đặt.

Các danh sách sau đây chỉ liệt kê những thứ đang được cài đặt:

dpkg-query -W -f='${Installed-Size;8}\t${Status;1}\t${Package}\n' | grep -v "\sd\s" | sort -n | cut -f1,3-

Những gì nó làm:

  1. Truy vấn kích thước, trạng thái và tên đã cài đặt của tất cả các gói
  2. Lọc các gói đã cài đặt
  3. Cắt cột trạng thái từ đầu ra

Đầu ra giống như:

...
22376   vim-runtime
26818   linux-image-3.8.0-32-generic
28673   libc6-dbg
35303   libpython3.3-dev
40303   valgrind
40731   linux-firmware
41516   smbclient
58704   linux-headers-3.8.0-26
58733   linux-headers-3.8.0-32
93566   linux-image-extra-3.8.0-32-generic
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.