GNU/Linux >> Znalost Linux >  >> Linux

Jak vyčistit verze Snap Package v Linuxu [Rychlý tip]

Snap balíčky nejsou oblíbené pro každého, ale jsou nedílnou součástí ekosystému Ubuntu.

Má to svá pro a proti. Jednou z nevýhod je, že balíčky Snap jsou obvykle větší a zabírají hodně místa na disku.

To může být problém, pokud vám dochází místo na disku, zvláště na kořenovém oddílu.

Dovolte mi podělit se o úhledný trik, který můžete použít ke snížení velikosti disku používaného balíčky Snap.

Vyčištění starých verzí balíčků Snap, aby se uvolnilo místo na disku

Systémové soubory související s snap jsou uloženy v adresáři /var/lib/snapd. Na základě počtu balíčků Snap, které jste nainstalovali, může být velikost tohoto adresáře v několika GB.

Neberte mě jen za slovo. Proveďte posouzení pomocí příkazu du ke kontrole velikosti adresáře.

[email protected]:~$ sudo du -sh /var/lib/snapd
5.4G	/var/lib/snapd

K zobrazení využití disku v Ubuntu můžete také použít nástroj Disk Usage Analyzer GUI.

To je hodně, že? Zde můžete uvolnit místo na disku.

Podle návrhu Snap uchovává alespoň jednu starší verzi balíčků, které jste nainstalovali na váš systém.

Toto chování můžete vidět pomocí příkazu Snap:

snap list --all

Měli byste vidět stejný balíček uveden dvakrát s jinou verzí a číslem revize.

Chcete-li uvolnit místo na disku, můžete odstranit další verze balíčků. Jak víte, který z nich smazat? Můžete vidět, že tyto starší balíčky jsou označeny jako ‚disabled‘.

nebojte se. Nemusíte to dělat ručně. Existuje jaksi automatický způsob, jak to udělat díky šikovnému bash skriptu, který napsal Alan Pope, když pracoval v týmu Snapcraft.

Doufám, že víte, jak vytvořit a spustit bash shell skript. V podstatě vytvořte nový soubor s názvem clean-snap.sh a přidejte do něj následující řádky.

#!/bin/bash
# Removes old revisions of snaps
# CLOSE ALL SNAPS BEFORE RUNNING THIS
set -eu
snap list --all | awk '/disabled/{print $1, $3}' |
    while read snapname revision; do
        snap remove "$snapname" --revision="$revision"
    done

Uložte jej a zavřete editor.

Chcete-li spustit tento skript, ponechte jej ve svém domovském adresáři a poté otevřete terminál v Ubuntu a spusťte tento příkaz:

sudo bash clean-snap.sh

Můžete vidět, že začíná odstraňovat starší verze balíčků.

Pokud nyní zkontrolujete místo na disku, které Snap využívá, uvidíte, že velikost adresáře je nyní zmenšena.

[email protected]:~$ sudo du -sh /var/lib/snapd
3.9G	/var/lib/snapd

Pokud vám to vyhovuje, můžete tento příkaz občas spustit.

Jak tento skript funguje?

Pokud vás zajímá, co tento skript dělá, dovolte mi to vysvětlit.

Výstup příkazu „snap list –all“ jste již viděli. Jeho výstup je předán příkazu awk. Awk je výkonný skriptovací nástroj.

Část awk ‚/disabled/{print $1, $3}‘ hledá v každém řádku řetězec ‚disabled‘, a pokud je nalezen, extrahuje první sloupec a třetí sloupec.

Tento výstup je dále předán kombinaci while a read příkazu. Příkaz Read získá hodnotu prvního sloupce snapname a třetího sloupce do proměnné revize.

Tyto proměnné se pak použijí ke spuštění příkazu snap remove k odstranění s názvem názvu balíčku span a číslem jeho revize.

Cyklus while běží tak dlouho, dokud jsou nalezeny řádky s řetězcem ‚disabled‘.

To vše dává smysl snadno, pokud víte trochu o skriptování shellu. Pokud to neznáte, máme pro vás sérii bash tutoriálů pro začátečníky.

Dostali jste své GB zpět?

Můžete vidět některá fóra doporučující nastavit hodnotu uchování balíčku Snap na 2.

sudo snap set system refresh.retain=2

Myslím, že už to není potřeba. Výchozí chování Snapu je nyní ukládat celkem 2 verze pro každý balíček.

Celkově, pokud vám dochází místo, odstranění dodatečné verze balíčku by jistě mohlo být jedním ze způsobů, jak uvolnit místo na disku na Ubuntu.

Pokud vám tento tutoriál pomohl uvolnit místo, dejte mi vědět v sekci komentářů.

Původní článek


Linux
  1. Jak rozdělit disk v Linuxu

  2. Jak nainstalovat a používat Snap Package Manager na Alma Linux 8

  3. Jak nainstalovat XML::LibXML na Ubuntu Linux [Rychlý tip]

  1. Jak vytvořit balíček RPM pro Linux

  2. Linux – jak minimalizovat využití místa na disku?

  3. Jak odebrat uživatele ze skupiny v Linuxu [Rychlý tip]

  1. Jak používat pkgsrc na Linuxu

  2. Jak zkontrolovat místo na disku v Linuxu

  3. Jak odstranit oddíl v Linuxu