Autor Téma: Vyčištění systému od nepotřebných balíků  (Přečteno 457 krát)

Offline Roman Horník

  • Hlavní moderátor
  • Aktivní­ uživatel
  • *****
  • Příspěvků: 1.412
    • Zobrazit profil
Vyčištění systému od nepotřebných balíků
« kdy: 31. 03. 2020, 23:36:20 »
Při správě softwaru, tj. instalaci, odinstalaci nebo aktualizaci, se sem tam stane, že u balíku jsou pozměněny závislosti, kdy přestane záviset na jednom a naopak si vyžádá balík jiný. Ideálně by se přebytečný balík měl odstranit, nebo alespoň nabídnout k odstranění, avšak málokdy tomu tak je. A tak si po čase udržujeme a aktualizujeme balíky, zpravidla knihovny, co jsou nám i softwaru naprosto k ničemu.
Nejde tady o místo, taková knihovna má obvykle pár desítek kilobajtů, avšak mívá svoje závislosti a kvůli nim nainstalované další a další  zbytečné balíky. Mimo to, občas se stane, že některý z těchto balíků blokuje aktualizaci jiného, který s ním nemá nic společného, neboť může mít v závislostech některý z pro systém důležitý balík (třeba libc6) konkrétní verze.
Když jsou závislosti balíku určeny řádně, správce balíků nám přebývající nabídne k odstranění, jenže, protože je realita jiná, je vhodné se jich zbavovat alespoň ručně. Pro tenhle účel se dobře hodil program gtkorphan, avšak jeho vývoj byl dávno ukončen a žádnou jeho adekvátní grafickou náhradu jsem nenašel.
Nicméně pro textové prostředí existuje gtkorphan. Jeho úkolem ovšem není přebytečné balíky odstranit, ale pouze zobrazit, proto jeho výstupem, seznamem zbytečných balíků, musíme po přezkoumání seznamu z deborphanu nakrmit apt/apt-get/aptitude - tak třeba apt (syntaxe je u jiných stejná):

# apt purge `deborphan` # obrácený apostrof se zadává pomocí [R-Alt]+[H]. Místo `deborphan` můžete použít $(deborphan)

Protože deborphan nezkoumá závislosti přebytečných balíků, po dalším spuštění příkazu se mohou objevovat další, proto v případě potřeby opakujte. Rovněž vám může apt{-get|itude} nabídnout další balíky k odstranění, tyto se odstraní příkazem:

# apt autoremove

Tohle mi párkrát pomohlo, když zbytečný balík blokoval aktualizaci několika jiných z důvodu výše uvedeného.
« Poslední změna: 16. 04. 2020, 05:05:29 od Roman Horník »
Debian Sid/Experimental 64bit + Mate Desktop Environment
* CPU: Intel i5 3570
* GPU: NVIDIA GTX650 1GD5
* MB: Lenovo IH61M
* RAM: 16GiB Deutsche Demokratische Republik 3 @ 1600MHz

Offline radek_dr

  • Nováček
  • *
  • Příspěvků: 15
    • Zobrazit profil
    • Počasí Kučerov
Re:Vyčištění systému od nepotřebných balíků
« Odpověď #1 kdy: 15. 04. 2020, 17:21:42 »
Díky, může se hodit, i když aktuálně nehledám, ale.... Jinak, skvělá "RAM" v podpisu :D
Acer Swift1, N4200 2.5 GHz max., 4GB RAM, 64+250GB SSD, Intel graphic, Debian 10 Cinnamon
Intel NUC,  Celeron J3455, 4GB RAM, 256GB SSD, Debian 10 server, LAMP...
AS8940G, Intel i7 ..., LM19 xfce

Nikdo není dokonalý !

Offline Roman Horník

  • Hlavní moderátor
  • Aktivní­ uživatel
  • *****
  • Příspěvků: 1.412
    • Zobrazit profil
Re:Vyčištění systému od nepotřebných balíků
« Odpověď #2 kdy: 15. 04. 2020, 17:36:35 »
Ručním čištěním jsem toho odstranil daleko víc, asi 400-500 balíků, ale na to se potřebuješ hodně nudit a mít ponětí o tom, co potřebuješ a co ne. Aktuálně mám pro svoje potřeby plně nabombenej systém s pouze 1298 balíkama ;).

Jo a vítej na fóru! 8)
« Poslední změna: 16. 04. 2020, 05:04:02 od Roman Horník »
Debian Sid/Experimental 64bit + Mate Desktop Environment
* CPU: Intel i5 3570
* GPU: NVIDIA GTX650 1GD5
* MB: Lenovo IH61M
* RAM: 16GiB Deutsche Demokratische Republik 3 @ 1600MHz

Offline radek_dr

  • Nováček
  • *
  • Příspěvků: 15
    • Zobrazit profil
    • Počasí Kučerov
Re:Vyčištění systému od nepotřebných balíků
« Odpověď #3 kdy: 15. 04. 2020, 18:02:55 »
Dík.
Já se snažím instalovat přes netinst.iso, tam si vyberu jen nejnutnější. Ovšem problém je, že teď v notasu nemám LAN, pouze wifi a ještě Intel - tudíž klasicky Debianem nepodporovanou. Zatím jsem to řešil tak, že nainstaluji Deb-xfce, pokud možno s minimen, pak nainstaluji z *.deb balíku "iwlwifi" (nemusím hledat, která to je :)) a pak odinstalovávám a instaluji...., prostě jsem cvok. Ale na pidi serveru mám lanku a zásadně - když už je nutno - instaluji z netu přes SSH.
Acer Swift1, N4200 2.5 GHz max., 4GB RAM, 64+250GB SSD, Intel graphic, Debian 10 Cinnamon
Intel NUC,  Celeron J3455, 4GB RAM, 256GB SSD, Debian 10 server, LAMP...
AS8940G, Intel i7 ..., LM19 xfce

Nikdo není dokonalý !

Offline Roman Horník

  • Hlavní moderátor
  • Aktivní­ uživatel
  • *****
  • Příspěvků: 1.412
    • Zobrazit profil
Re:Vyčištění systému od nepotřebných balíků
« Odpověď #4 kdy: 15. 04. 2020, 18:49:49 »
S firmwarem by to nešlo?
Debian Sid/Experimental 64bit + Mate Desktop Environment
* CPU: Intel i5 3570
* GPU: NVIDIA GTX650 1GD5
* MB: Lenovo IH61M
* RAM: 16GiB Deutsche Demokratische Republik 3 @ 1600MHz

Offline piquick

  • Začátečník
  • **
  • Příspěvků: 31
    • Zobrazit profil
Re:Vyčištění systému od nepotřebných balíků
« Odpověď #5 kdy: 15. 04. 2020, 20:56:41 »
Je to bomba. vyčistilo to 834 MB dat. A system stále funguje...

Offline Roman Horník

  • Hlavní moderátor
  • Aktivní­ uživatel
  • *****
  • Příspěvků: 1.412
    • Zobrazit profil
Re:Vyčištění systému od nepotřebných balíků
« Odpověď #6 kdy: 16. 04. 2020, 05:46:03 »
Kdybys chtěl víc, nastartuj Synaptic a zkoušej odinstalovat následující:
1) V nastavení odškrtni Považovat doporučené balíky za závislé
2) Dole vlevo zvol Stav
3) Balíky interpretrů (Python, Perl, Ruby,…)
4) Pluginy programů, který nepoužíváš
5) Metabalíky (hledej termíny jako "transitional", "dummy", "metapackage",…)
6) Vývojový balíky, jestli nekompiluješ a jestli nemáš DKMS (končej na "-dev")
7) Balíky s dokumentací - "-doc"
8) Knihovny (libblablabla)

U toho je nutný fakt přemejšlet a číst, co Synaptic říká. A mít na to nervy.
Bohužel, do Synapticu se před pár lety pustili "ubunťáci" (digitální komunisti, co všemu "rozuměj" a co se do všeho musej srát), Synaptic má pár nepříjemných chyb:
1) Zapomíná závislosti - něco by přes ně nemělo jít odstranit, Synaptic by měl jako za starejch časů upozornit, přesto k odstranění označit jde, čímž rozbiješ závislosti závisejících balíků
2) Když se něco takovýho stane, dřív stačilo [L-Ctrl]+[Z] - teď to neplatí, protože je retardovanej a pamatuje si chybu přes několik dalších akcí, takže musíš vrátit, se staženou prdelí označovat další balíky (přitom je vyšší riziko, že zase zblbne závislosti), nebo se vrátit několikrát a akce až na poslední zopakovat
3) Když začnou z výsledků vyhledávání mizet řádky, nediv se
4) Všechno v pořádku? Klikneš na Použít a vyskočí chyba. Tak ji musíš zavřít a kliknout na Použít znovu
5) Když začne hysterčit, začne nabízet k odstranění i ty balíky, co vůbec nejsou v závislostech

Takže musíš po částech a dávat si fakt pozor. A protože mám nervy jako ze železa, takhle se mi podařilo odstranit pětistovku balíků, co nepotřebuju. Když se náhodou stane, že nějakej program nepůjde spustit, spusť ho v terminálu a tam se vypíše chyba, že třeba chybí knihovna libknihovna.so - nainstaluj libknihovna a je po problému, nebo, když nebudeš vědět, se tady zeptej.
Jak jsem psal v pilotním příspěvku, nejde v první řadě o úsporu místa, ale o prevenci možných závislostních problémů v budoucnosti. A taky i u nepotřebnejch balíků můžou vznikat časem nový závislosti, což znamená natahování dalších balíků.
Podle mně je systém jen prostředím pro spouštění uživatelských programů. Musí zabrat v paměti i na disku co nejmíň místa a vůbec okupovat co nejmíň systémovejch prostředků, aby co nejvíc zbylo pro Tebe a Tvoje programy.
« Poslední změna: 16. 04. 2020, 13:33:39 od Roman Horník »
Debian Sid/Experimental 64bit + Mate Desktop Environment
* CPU: Intel i5 3570
* GPU: NVIDIA GTX650 1GD5
* MB: Lenovo IH61M
* RAM: 16GiB Deutsche Demokratische Republik 3 @ 1600MHz

Offline radek_dr

  • Nováček
  • *
  • Příspěvků: 15
    • Zobrazit profil
    • Počasí Kučerov
Re:Vyčištění systému od nepotřebných balíků
« Odpověď #7 kdy: 17. 04. 2020, 18:43:49 »
S firmwarem by to nešlo?

Určitě ano, ale nikdy se mi ho nepodařilo přidat. Dám ho na flashku a na vyžádání připojím - a nic, stále dokola "Vložte médium s firmwarem" nebo tak něco. Přitom je 100% správný, když ho přidávám dodatečně do už nainstalovaného systému funguje. Nevím v čem je problém. S tím *.deb balíkem se nainstaluje taky a nemusím nic řešit - nainstalovat, restart, zadat heslo k síti a jede. Nejjednodušší varianta.
Acer Swift1, N4200 2.5 GHz max., 4GB RAM, 64+250GB SSD, Intel graphic, Debian 10 Cinnamon
Intel NUC,  Celeron J3455, 4GB RAM, 256GB SSD, Debian 10 server, LAMP...
AS8940G, Intel i7 ..., LM19 xfce

Nikdo není dokonalý !