Dnes se seznámíme s méně známým, ale užitečným nástrojem pro Debian a jeho deriváty, jako jsou Ubuntu a varianty Ubuntu, jako je Linux Mint. Pozdravte "Debfoster" - obslužný program příkazového řádku pro zachování pouze nezbytných balíků a odstranění ostatních balíků, které již nejsou potřeba. Takže můžete neustále udržovat čistý a minimální systém. Aplikace debfoster je obalový program pro správce balíčků apt a dpkg. Udržuje seznam nainstalovaných balíčků, které byly výslovně vyžádány a nikoli instalovány jako závislost.
Při prvním spuštění vytvoří seznam nainstalovaných balíčků a uloží jej do souboru s názvem keepers v /var/lib/debfoster/ adresář. Debfoster použije tento seznam k detekci balíčků, které byly nainstalovány pouze proto, že na nich závisely jiné balíčky. Pokud se některá z těchto závislostí změní, debfoster si toho všimne a zeptá se, zda chcete odstranit starý balíček. Tímto způsobem vám pomáhá udržovat čistý systém pomocí základních balíčků dle vašeho výběru.
Ponechat pouze základní balíčky v Debianu a Ubuntu pomocí Debfoster
Debfoster je k dispozici ve výchozích úložištích. Instalace tedy nebude velký problém. Chcete-li nainstalovat Debfoster na jakýkoli systém založený na Debianu, spusťte následující příkaz:
$ sudo apt install debfoster
Po instalaci musíme vytvořit seznam nainstalovaných balíčků spuštěním následujícího příkazu:
$ sudo debfoster -q
Výše uvedený příkaz přidá aktuálně nainstalované balíčky do keepers soubor v /var/lib/debfoster/ adresář. Tento soubor můžete upravit a odstranit tak balíčky, které již nechcete mít ve svém systému nainstalovány.
Zde je obsah mého souboru chovatelů.
$ cat /var/lib/debfoster/keepers
Z tohoto souboru byste neměli odstraňovat systémové a důležité balíčky, jako je Linuxové jádro, grub, Ubuntu-base, Ubuntu-desktop atd. Zálohujte také důležité konfigurační soubory, které jste ručně upravili.
Nyní přinuťte nástroj debfoster, aby odstranil balíčky, které nejsou uvedeny v souboru Keepers. Chcete-li to provést, spusťte:
$ sudo debfoster -f
Debfoster odstraní všechny balíčky, které nejsou dostupné v souboru Keepers, spolu s jejich závislostmi.
Nainstaluje také všechny chybějící balíčky, které se zdají chybět, a tím přinutí váš systém, aby vyhovoval databázi debfoster.
A pak můžete spustit následující příkaz jednou za čas po každém přidání/odebrání balíčků, abyste zkontrolovali, zda neexistují nějaké osiřelé balíčky nebo nechtěné závislosti, které je třeba odstranit.
$ sudo debfoster
Pokud jste nainstalovali/odstranili nějaké balíčky, uvidíte výstup podobný níže. Jak vidíte ve výstupu, balíček Screen není uveden v mém seznamu správců. Protože jsem jej nainstaloval po vytvoření seznamu chovatelů. Takže debfoster se mě ptá, jestli si to chci ponechat nebo ne. Pokud si nejste jisti, co dělat, zadejte H zobrazíte sekci nápovědy.
Keep screen? [Ynpsiuqx?], [H]elp: H Yes Keep screen. [default] No Delete screen. Prune Delete screen and the packages it is keeping installed. Skip Skip this question. Help Print this message. Info or ? Show information about screen. Undo Undo last response. Quit Exit without removing packages. Exit Remove unwanted packages and exit. Keep screen? [Ynpsiuqx?], [H]elp:
Debfoster zobrazí všechny možné možnosti. Zadejte Y pokud nechcete balíčky odstraňovat. Balíček obrazovky bude nyní přidán do souboru Keepers a Debfoster jej v budoucích transakcích neodstraní, pokud jej sami ručně neodstraníte pomocí příkazu "apt-get remove screen". Zadejte N pro odstranění balíčku obrazovky. Zadejte P smazat obrazovku a balíčky, které má nainstalované. Zadejte informace nebo ? pro zobrazení podrobností o balíčku. O pro ukončení bez odstranění balíčku. A zadejte E k odstranění balíčků a ukončení.
Zobrazení balíčků v seznamu správců
Chcete-li zobrazit seznam balíčků v databázi debfoster, spusťte:
$ debfoster -a
Zde je seznam balíčků na mé ploše Ubuntu 16.04 LTS.
The following packages are on the keeper list: account-plugin-aim brasero debfoster deja-dup-backend-gvfs dialog firefox-locale-en gdebi gir1.2-webkit-3.0 git hyphen-en-us indicator-multiload language-pack-gnome-en libarchive-extract-perl libcpan-meta-perl libmodule-build-perl libmodule-pluggable-perl libpackage-constants-perl libpod-latex-perl libreoffice-help-en-us libreoffice-style-human libterm-ui-perl libtext-soundex-perl libvisual-0.4-plugins linux-generic linux-headers-4.4.0-15-generic linux-image-extra-4.4.0-15-generic myspell-en-au myspell-en-gb myspell-en-za mythes-en-us oneconf openoffice.org-hyphenation openssh-server python-pip python3-smbc rhythmbox-plugin-cdrecorder rhythmbox-plugin-magnatune samba-common screen shutter ssh-askpass-gnome telepathy-idle thunderbird-locale-en-us ubuntu-desktop ubuntu-minimal ubuntu-sso-client-qt ubuntu-standard ubuntu-wallpapers-wily wbritish xserver-xorg-video-cirrus xserver-xorg-video-mach64 xserver-xorg-video-mga xserver-xorg-video-neomagic xserver-xorg-video-openchrome xserver-xorg-video-r128 xserver-xorg-video-savage xserver-xorg-video-siliconmotion xserver-xorg-video-sisusb xserver-xorg-video-tdfx xserver-xorg-video-trident
Použít jiný soubor správce
Ve výchozím nastavení bude debfoster udržovat nainstalované balíčky na /var/lib/debfoster/keepers soubor. Můžete však zadat jinou databázi debfoster (samozřejmě soubor Keepers) pomocí -k příznak jako níže.
$ debfoster -k <path-to-keeper-file>
Zobrazení osiřelých balíčků
Pro kontrolu osiřelých balíčků nemusíte vždy spouštět příkaz "sudo debfoster". Můžete jednoduše použít -s příznak jako níže pro zobrazení, zda existují nějaké osiřelé balíčky.
$ debfoster -s The following packages have been orphaned: tmux
Jak vidíte ve výše uvedeném výstupu, mám jeden osiřelý balíček. Pokud je to nezbytný balíček a nechceme, aby jej debfoster odstranil, můžeme jej jednoduše přidat do souboru keepers spuštěním následujícího příkazu:
$ sudo debfoster
Požádá vás, abyste si ponechali tmux nebo ne. Pokud uchováváte tmux v souboru Keepers, jednoduše zadejte Y .
Keep tmux? [Ynpsiuqx?], [H]elp:Y
Případně můžete ručně upravit soubor Keepers a přidat tmux do seznamu.
$ sudo vi /var/lib/debfoster/keepers
Přidejte do něj tmux.
[...] tmux
Zadejte :wq pro uložení a ukončení souboru. Nyní při spuštění příkazu "debfoster -s" neuvidíte žádné osiřelé balíčky.
Upozorňujeme, že zde osiřelý balíček znamená balíček, který není uveden v databázi debfoster. Neznamená to, že balíček není zcela nezbytný. Docela užitečné jsou například utility screen a tmux. Můžeme je tedy přidat do databáze debfoster.
Přidávání/odebírání balíčků
Protože debfoster je obal pro správce balíčků apt-get a dpkg, můžete jej také použít k přidávání nebo odstraňování balíčků.
Chcete-li nainstalovat balíček, spusťte:
$ sudo debfoster screen
Nyní debfoster za vás spustí apt-get a nainstaluje určený balíček.
Chcete-li balíček odebrat, jednoduše umístěte mínus (-) přímo za jeho název, jak je uvedeno níže.
$ sudo debfoster screen- Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: screen* 0 upgraded, 0 newly installed, 1 to remove and 608 not upgraded. After this operation, 972 kB disk space will be freed. Do you want to continue? [Y/n]
Hledání závislostí
Chcete-li vypsat všechny balíčky, na kterých balíček závisí, použijte -d vlajka.
$ debfoster -d screen
A pro vypsání všech balíčků v databázi debfoster, které závisí na daném balíčku, použijte -e příznak jako níže.
$ debfoster -e screen
Další podrobnosti naleznete na manuálových stránkách.
$ man debfoster
Jak můžete vidět, Debfoster vám pomůže udržet si přehled o tom, co jste nainstalovali, a odstranit všechny ostatní balíčky, které nejsou vyžadovány. Znovu vás varuji - tuto aplikaci musíte používat velmi opatrně. Neodstraňujte důležité balíčky související se systémem, jako je Ubuntu-base, grub, aktuální jádro atd. Pokud tak učiníte, můžete skončit s nepoužitelným systémem.
Doporučené čtení:
- Odstraňte nepotřebné konfigurační soubory ze systémů založených na Debianu
- Jak najít a odebrat nepoužívané balíčky v systému Linux