Jak wyświetlić listę zainstalowanego oprogramowania z zainstalowanym rozmiarem?

38

Chciałbym mieć listę zainstalowanego oprogramowania na moim komputerze, wraz z zajmowanym przez nie miejscem na dysku. Wolałbym móc zamawiać według największych / najmniejszych, ale nie jest to koniecznością.

Jestem osobą, która zainstaluje oprogramowanie, aby go wypróbować i nigdy po sobie nie posprząta.

W rezultacie moja 7GB (Windows i moje dane znajdują się na osobnych partycjach, a także obszar wymiany) Partycja Ubuntu 11.04 cierpi i zaczęła regularnie wyświetlać komunikaty ostrzegawcze.

Lewis Goddard
źródło
unix.stackexchange.com/questions/40442/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Odpowiedzi:

23

Możesz to zrobić graficznie w Synaptic Zainstaluj synaptic .

Najpierw upewnij się, że włączyłeś kolumny Zainstalowany rozmiar i Rozmiar do pobrania (lub tylko jedną, jeśli chcesz).

  • Aby to zrobić, przejdź do Ustawienia> Preferencje i wybierz Kolumny i czcionki , a następnie zaznacz kolumny, które chcesz zobaczyć.
  • Następnie kliknij OK .

Okno preferencji

  • Po ich włączeniu możesz wyświetlić listę zainstalowanych pakietów, pobierając / instalując rozmiar, klikając kolumnę.

Kolumny

  • Uwaga: moje paczki nie są wymienione w ten sposób, ale ten zrzut ekranu działa.
RolandiXor
źródło
Właśnie tego szukałem! Wielkie dzięki.
Lewis Goddard,
@LewisGoddard: nie ma za co.
RolandiXor
24
dpkg-query -W -f='${Installed-Size;8}  ${Package}\n' | sort -n

pokazuje listę paczek posortowaną według rozmiaru

Florian Diesch
źródło
3
Byłoby lepiej, gdybyś mógł również wspomnieć o jednostce wielkości.
jobin
Prawdopodobnie kilobajty
Andreas Hartmann
1
co jest ;8w ${Installed-Size;8}środku
n611x007
1
@naxa: Wydrukuj wyrównany do prawej z polami o szerokości 8
Florian Diesch
18

Preferowane rozwiązanie

Znalazłem krótszą odpowiedź, nie wymagającą aptitude:

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

Stare proponowane rozwiązanie

showZnajomość aptitudejest w stanie pokazać zainstalowane wielkości opakowania.

Mam ten mały skrypt, który wykorzystuje aptitude(do zainstalowania osobno), aby mieć listę wszystkich zainstalowanych pakietów o rozmiarach:

#!/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)}'

Rozmiar wyrażony jest w kilobajtach i jest przybliżony, jak zwraca aptitude show pkg.

Skrypt można ulepszyć za pomocą pojedynczego awkwywołania (ale jestem leniwy :-)

enzotib
źródło
1
Możesz rzucić fajkę sort -nk1na końcu tego pierwszego polecenia.
Marco Ceppi
@MarcoCeppi: tak, nie było to głównym zmartwieniem OP, i zwykle pomijam zamawianie na podstawie moich skryptów, biorąc pod uwagę, że można je stosować na różne sposoby w razie potrzeby.
enzotib
1
Zawiera również listę oprogramowania, które nie jest już zainstalowane. Czy istnieje sposób na usunięcie tych danych wyjściowych?
rumpel
Czy chcesz sumy potoków tych pakietów, do których pierwsze polecenie cut -f 1 | paste -sd+ | bc. Możliwe jest również grepowanie wcześniej, cutaby uzyskać zainstalowany rozmiar tylko określonych pakietów.
MeanEYE,
5

Inną opcją jest użycie dpigsaplikacji z debian-goodiespakietu:

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.
Drew Noakes
źródło
3

Taką listę możesz wyświetlić w terminalowym menedżerze pakietów Aptitude:

  1. Otwórz Aptitude za pomocą sudo aptitude.
  2. Naciśnij S(wielkie S) i wpisz ~installsizew linii poleceń. (Jest ~to sortowanie malejące; możesz je pominąć, jeśli chcesz mieć najmniejsze pakiety na górze.)
  3. Do tej pory paczki są sortowane według wielkości na każdym poziomie hierarchicznym. Aby uzyskać przegląd, potrzebujesz jak najmniejszej liczby poziomów. Naciśnij Gi wejdź statusna monit. Teraz wszystkie zainstalowane pakiety są w jednej sekcji, posortowane według rozmiaru.
legoscia
źródło
1

Inne odpowiedzi tutaj wymieniają zarówno zainstalowane, jak i odinstalowane pakiety.

Poniżej wymieniono tylko te, które są obecnie zainstalowane:

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

Co to robi:

  1. Zapytaj o zainstalowany rozmiar, status i nazwę wszystkich pakietów
  2. Odfiltruj odinstalowane pakiety
  3. Wytnij kolumnę stanu z wyniku

Wyjście przypomina:

...
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
Drew Noakes
źródło