it-swarm-eu.dev

Které nainstalované softwarové balíčky využívají nejvíce místa na disku v Debianu?

Na disku je v kořenovém oddílu málo místa, takže chci některé aplikace ze systému odstranit. Jak zjistím, které softwarové balíčky využívají nejvíce místa na disku? Je možné to vidět z aptitude?

Vím o obecných analyzátorech místa na disku, jako je df nebo baobab, ale potřebuji řešení pro nainstalované aplikace.

89

Nejjednodušší je spustit wajig large. Balíček by měl být apt-install-pryč.

Zde jsou dva odkazy na další způsoby, jak toho dosáhnout:

Nezapomeňte také, že nainstalovaná velikost je jen část místa zabíraného balíčky. Komprimovaná verze je pravděpodobně stále v mezipaměti a zabírá také trochu místa. Můžete je odstranit pomocí apt-get clean.

60
killermist

Nejjednodušší způsob (bez instalace dalších balíčků) je:

dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n

který zobrazuje balíčky v pořadí podle velikosti, největší balíček jako poslední.

Tento seznam bohužel zahrnuje alespoň některé systémy, které byly odstraněny, ale nebyly vyčištěny. Všechny takové balíčky lze vymazat spuštěním:

dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs Sudo dpkg --purge

Nebo pokud nechcete vymazat odinstalované balíčky, můžete pomocí této varianty odfiltrovat balíčky, které nejsou ve stavu „nainstalován“ ze seznamu:

dpkg-query -Wf '${db:Status-Status} ${Installed-Size}\t${Package}\n' | sed -ne 's/^installed //p'|sort -n
110
JosephH

Protože chcete see which [installed] software packages use the most disk space[,] from aptitude ... samozřejmě můžete použít aptitude! prostřednictvím své CLI nebo {interaktivní, TUI, jiné než CLI} úžasnosti. Pojďme nejprve diskutovat o CLI, pak o TUI. Ať tak či onak, stačí znát

  • možnosti příkazového řádku k použití. Následující text používá dlouhé možnosti (pro snadnější vyhledávání v dokumentaci), ale samozřejmě jsou k dispozici i krátké možnosti.
  • argument příkazového řádku použít
  • řetězec výstupního formátu, který se má použít

Nejzákladnější příkazový řádek, který ukazuje, které nainstalované softwarové balíčky využívají nejvíce místa na disku, je pravděpodobně

aptitude search --sort '~installsize' --display-format '%p %I' '~i' | head

tak to rozbijeme:

  • --sort je pořadí třídění balíků a ~installsize určuje zásady třídění balíků .
  • installsize znamená 'třídění podle (odhadované) nainstalované velikosti' a předchozí ~ znamená řazení sestupně (protože výchozí hodnota pro všechny zásady řazení je vzestupná).
  • --display-format změní <you guessed :->. Řetězec formátu '%p %I' řekne aptitude, aby vydal název balíčku a poté nainstaloval velikost.
  • '~i' řekne aptitude prohledávat pouze nainstalované balíčky.
  • ... a, pokud nemáte velmi několik nainstalovaných balíčků (moje trochu generická pracovní stanice Debian má více než 2400), budete chtít zkopírovat na head nebo less nebo soubor, nebo možná jen wc -l, abyste viděli, kolik řádků aptitude se vrátí.

Můžete také chtít

  1. určete šířku řádku (ve znakech) pro aptitude, kterou chcete použít při zobrazení, pomocí --width <your desired integer value/>. aptitude bude implicitně nastaveno na to, o čem věří, že je vaše šířka terminálu, ale někdy se uhodne špatně a někdy chcete zapisovat do souboru atd.
  2. zobrazit další informace ve formátu řetězce nebo změnit šířku pole. Například se zobrazí můj řetězec '%30p %I %r %60d' s rozšířeným formátem

    • %30p: název balíčku v poli width = 30 char
    • %I: odhadovaná velikost instalace
    • %r: 'count reverse count count': přibližný počet dalších nainstalovaných balíčků, které závisí na tomto balíčku
    • %60d: Stručný popis balíčku v poli width = 60 char

Pokud nevidíte změny ve výstupním poli, budete pravděpodobně muset nastavit --width.

... a můžete to udělat také v {interaktivní, TUI} aptitude. Například pro nastavení předvoleb formátu zobrazení,

  • klikněte nebo přejděte na Možnosti-> Předvolby
  • přejděte na Formát zobrazení pro zobrazení balíčků
  • přidat %I k aktuální hodnotě na požadované pozici

Chcete-li omezit vyhledávání na nainstalované balíčky v interaktivním aptitude,

  • lis l (malá písmena L)
  • v dialogu zadejte ~i

Chcete-li seřadit podle nainstalované velikosti v interaktivní aptitude,

  • lis Shift-S (velká písmena S)
  • v dialogu zadejte installsize

Reference:

23
Braiam

V případě, že nechcete instalovat wajig. Představuji si, že každý má nainstalované debian-goodies:

dpigs              - Show which installed packages occupy the most space
9
dfc

Nejprve použijte nástroj jako baobab (Sudo apt-get install baobab) ukázat vám kde je místo využíváno:

enter image description here

To vám poskytne pěkný grafický přehled a pomůže vám zúžit to, co zabírá váš prostor. Tyto informace můžete také získat na příkazovém řádku pomocí du:

$ Sudo du -ch /

Projděte to skrz sort (za předpokladu, že GNU sort, v případě Debianu by to mělo být), abyste se setřídili podle velikosti adresáře:

$ Sudo du -ch / | sort -h

Jako další krok můžete vidět, kolik místa tento balíček využívá tímto příkazem:

$ Sudo apt-get --assume-no --purge remove "PACKAGE_NAME" | grep "be freed" | 
   awk '{print $4, $5}' 

Například v mém systému bude odebráním všech balíčků texlive uvolněno 1 502 MB:

$ Sudo apt-get --assume-no --purge remove "texlive*" | grep "be freed" | 
   awk '{print $4, $5}' 
1,502 MB

Nakonec můžete získat tyto informace pro všechny nainstalované balíčky s tímto příkazem:

$ for i in $(dpkg -l | awk '($1=="ii"){print $2}'); do  
    echo -e "$i\t"$(Sudo apt-get --assume-no --purge remove "$i" | 
                    grep "be freed" | awk '{print $4, $5}'); 
  done
8
terdon

Můžete použít balíček wajig a příkaz

wajig large

Nápověda vysvětluje, co to dělá.

wajig large -h

usage: wajig large [-h]

List size of all large (>10MB) installed packages

Viz také stránka projekt .

3
Faheem Mitha

přidat další odpovědi, pokud se vám líbí příkazový řádek, můžete použít dobrý starý durep

# durep -td 1 /etc                         # or -td 2
[ /etc   319.4K (60 files, 43 dirs) ]
  90.2K [########                      ]  28.26% Apache2/
  27.5K [##                            ]   8.62% apt/
  23.7K [##                            ]   7.43% mime.types
  19.7K [#                             ]   6.18% cron.daily/
  18.7K [#                             ]   5.87% services
  18.0K [#                             ]   5.64% security/
  14.7K [#                             ]   4.61% init.d/
  13.2K [#                             ]   4.13% ssl/
  11.1K [#                             ]   3.48% ld.so.cache
   9.0K [                              ]   2.81% locale.gen
   7.8K [                              ]   2.43% pam.d/
   4.5K [                              ]   1.42% default/
   4.3K [                              ]   1.35% skel/
   2.9K [                              ]   0.92% locale.alias

Pravděpodobně můžete uvolnit místo pomocí localepurge

# dpkg-reconfigure localepurge
# localepurge
localepurge: Disk space freed in /usr/share/locale: 26160 KiB
localepurge: Disk space freed in /usr/share/man: 1304 KiB

Total disk space freed by localepurge: 27464 KiB

Nakonec se pravděpodobně můžete zbavit ikon a písem, které někdy mohou zabrat mnoho místa. Podrobnosti naleznete na této webové stránce

https://ownyourbits.com/2017/02/18/squeeze-disk-space-on-a-debian-system/

(příklady extrahované z ownyourbits)

3
nachoparker

Po přidání několika dalších nástrojů do seznamu jsem vždy používal debfoster a deborphan v mých systémech. Jsou nejužitečnější pro lov starých závislostí, které se po upgradu pověsí.

apt-get autoremove je skvělé, ale nedostane všechno a protože sleduje instalační značky, ne vždy vždy ví, co si přejete ponechat. Použitím apt-mark vám to však umožňuje do určité míry nasměrovat.

Zkontrolujte také: https://wiki.debian.org/ReduceDebian

2
XTL

I když se jedná o pěknou sbírku nástrojů, do kterých bych přidal KDE/QT Filelight, který je podobný jiným nástrojům pro využití místa na disku gui, není to doslovná odpověď na název tématu.

Pokud si vezmete otázku tohoto vlákna doslova, to znamená, jaké jsou největší balíčky ve vašem systému, zpravidla jsou to:

Balíček balíků libreoffice, který není jediným balíčkem, ale je opravdu velký.

Linuxové jádro a související balíčky záhlaví přicházejí myslím jako druhé, a pokud máte nainstalováno více jader, která mají většina systémů tendenci mít, každý je kolem, myslím, že 135 mB místa na disku se zhruba každý rok zvětšuje, ale je to asi tak velké . Pokud používáte ovladače videa, které nejsou zdarma, budou také přidruženy balíčky ovladačů/soubory. Všimněte si, že stejně jako v případě libreoffice, každé jádro může být ve skutečnosti tvořeno 2 nebo 3 balíčky, obrázkem, hlavičkou a ovladači, takže počet literálů na velikost balíčku není ve skutečnosti tak přesný, než aby získal hrubý smysl.

Poté v balíku balíků Debianu není mnoho obrovských balíčků, o kterých vím.

Zjistil jsem, že jakmile kořenový oddíl začne být dostatečně velký na místo, kde začnete přemýšlet, jak se zbavit balíčků, aby se zmenšil, je obvykle čas přesunout/změnit velikost na větší kořenový oddíl.

apt-get clean je samozřejmě první věc, kterou musíte spustit, zbavit se všech souborů .deb uložených v mezipaměti, ale jakmile to odeberete a všechny kromě řekněme 2 jader, pokud jste stále zaseknutí s nedostatkem místa, je to více je praktické zvětšit velikost oddílu, protože vyčištění atd. jsou pouze červené příznaky, které používáte, blízko prostoru kořenového oddílu, což může být skutečný problém, pokud apt nemá dostatek místa v/var, aby skutečně stahoval a extrahoval balíčky pro vylepšit. Vyčištění zbytkových konfiguračních souborů z odstraněných balíčků vám vůbec nepomůže, pokud jde o opětovné získání místa na disku, protože jsou malé, ale je hezké to udělat teď a pak jen vyčistit cruft, ale nemělo by to ' nemýlet se za to, že skutečně získal nějaký smysluplný diskový prostor.

apt-get auto-remove také není špatné, ale uvědomte si, že je někdy špatné, pokud jde o odebíraný balíček, takže si chcete tento seznam pečlivě zkontrolovat, než necháte apt odstranit věci. Technicky je lepší tento seznam očistit. Tímto způsobem se zbavíte i konfiguračních souborů a zároveň se domnívám, že je necháte na svém místě.

0
Lizardx