first commit
This commit is contained in:
@@ -0,0 +1,195 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user