195 lines
6.0 KiB
Markdown
195 lines
6.0 KiB
Markdown
# 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](https://lukaskanka.cz/)
|
|
26.8.2024 |