Kořenový oddíl je plný? Nepropadejte panice, nejprve vymažte Pacmanovu mezipaměť!

Kořenový oddíl je plný? Nepropadejte panice, nejprve vymažte Pacmanovu mezipaměť!

> Datum: 2024-8-26

Kořenový oddíl je plný? Nepropadejte panice, nejprve vymažte Pacmanovu mezipaměť!

Po nějaké době Vás systém může upozornit, že Váš kořenový oddíl je téměř plný.

Můžete z toho panikařit a budete buď v pokušení provést přeinstalaci a zvětšit svůj kořenový oddíl, nebo
ještě hůř, zkusit použít Gparted ke zmenšení oddílu, přesunutí a zvětšení kořenového oddílu.

POZOR!!! Nedělejte to, zejména druhou možnost, protože to může narušit Váš systém. Moje rada
je, jen zůstat v klidu, existuje mnohem méně radikální řešení tohoto problému.

/var/cache/pacman/pkg/

Když nainstalujete balíček pomocí Pacmana, uloží všechny stažené balíčky do
/var/cache/pacman/pkg/ složky. Správce balíčků ve výchozím nastavení automaticky
neodstraňuje staré a odinstalované balíčky a po chvíli může velikost mezipaměti spotřebovat značné množství
místa na vašem HDD nebo SDD.

Naštěstí má Pacman vestavěnou funkci pro vymazání mezipaměti, zadáním sudo pacman -Sc bude
mezipaměť zcela vymazána. Problém vyřešen, ne?!?

No… ano i ne. Ano, vaše mezipaměť je vymazána a budete mít znovu volné místo na oddílu, yay…

Takže, v čem je problém, můžete se mě zeptat? Problém nyní je, že pomocí výše popsaného příkazu jste vymazali
celou mezipaměť, včetně mezipaměti nainstalovaných balíčků. Tato mezipaměť je potřeba, když aktualizace
balíčku nefunguje a musíte přejít na nižší verzi, dokud nebude problém vyřešen upstreamem. Nejedná se o
žádnou velkou katastrofu, protože balíček můžete také downgradovat pomocí repozitáře Arch, ale vrátit se k
místní mezipaměti je mnohem jednodušší.

Řešení

Nebojte se, existuje řešení a jmenuje se paccache. Nyní, než otevřete svůj terminál a
použijete yay k vyhledání tohoto šikovného balíčku, neobtěžujte se, protože to není balíček, je již přítomen
ve vašem systému.

Skript Paccache poskytuje samotný balíček Pacman. Nemusíte se tedy obtěžovat instalačními
kroky. Paccache ve výchozím nastavení zachová tři nejnovější verze balíčků. Kromě tří nejnovějších verzí
balíčků odstraní všechny verze každého balíčku uložené v mezipaměti bez ohledu na to, zda jsou nainstalovány
nebo ne.

Jak to používat

Chcete-li zkontrolovat, kolik balíčků je v paccache, zadejte:

$ sudo ls /var/cache/pacman/pkg/ | wc -l

Tím získáte počet balíčků, které jsou ve vaší mezipaměti, pokud chcete vědět, kolik místa mezipaměť zabírá,
zadejte:

$ du -sh /var/cache/pacman/pkg/

Nyní vám systém říká, jak velká je velikost vaší mezipaměti.

Nyní můžete vymazat mezipaměť, kromě posledních tří verzí každého balíčku zadáním:

$ sudo paccache -r

V závislosti na Vaší historii mezipaměti může poskytnout spoustu místa v kořenovém oddílu, ale teď jste u
toho, proč nevymazat mezipaměť z vašich odinstalovaných balíčků?

Chcete-li to provést, zadejte následující:

$ sudo paccache -ruk0

U v tomto příkazu znamená všechny odinstalované balíčky a v závislosti na Vaší historii
odinstalovaných balíčků to také může Vašemu systému vrátit spoustu místa. Další metodou, jak vymazat
odinstalované balíčky, je použití:

$ sudo pacman -Sc

Nebo pro úplné odstranění použijte:

$ sudo pacman -Scc

Jen buďte opatrní s čištěním mezipaměti a balíčků pomocí tohoto příkazu, zdá se lákavé jej použít,
ale jakmile je smazán, není cesty zpět.

Automatické odstranění mezipaměti

Tento úkol můžete automatizovat pomocí pacman hooks. Pacman hook automaticky vyčistí mezipaměť balíčku po
každé transakci pacmana.

Chcete-li tak učinit, vytvořte soubor /etc/pacman.d/hooks/clean_package_cache.hook takto:

$ sudo mkdir -p /etc/pacman.d/hooks

$ sudo nano /etc/pacman.d/hooks/clean_package_cache.hook

Poté přidejte následující řádky:

[Trigger]
Operation = Upgrade
Operation = Install
Operation = Remove
Type = Package
Target = *
[Action]
Description = Cleaning pacman cache...
When = PostTransaction
Exec = /usr/bin/paccache -r

Zavřete a uložte stisknutím CTRL + x a od této chvíle Váš systém automaticky vymaže mezipaměť po každé
aktualizaci, odstranění nebo aktualizaci pacmana.

EDIT: Od roku 2020 EndeavourOS se dodává s automatickým skriptem, který je součástí aplikace Welcome, která
tyto operace provádí několika kliknutími myši.

Návod je převzat z
Discovery
na EndeavourOS vydán 30. března 2020.

Kankys
26.8.2024