GNU/Linux >> Znalost Linux >  >> Linux

Jak odebrat programy nainstalované ze zdroje pomocí GNU Stow v Linuxu

Někdy musíte nainstalovat některé programy ruční kompilací ze zdroje. Protože nemusí být dostupné v oficiálních repozitářích nebo repozitářích třetích stran, takže je nemůžete nainstalovat pomocí běžných správců balíčků. Jak již možná víte, při instalaci programů ze zdroje se soubory balíčků zkopírují do více umístění, například /usr/local/bin , /usr/local/etc/ , na souborovém systému. Pokud nainstalovaný program ze zdroje nemá vestavěný odinstalační program, bude zdlouhavý úkol odstranit balíčky, když je již nepotřebujete. Možná budete muset strávit několik (nebo několik) minut hledáním těchto souborů balíčků a jejich ručním odstraněním. To je to, co jsem dělal, dokud jsem nenarazil na nástroj s názvem "GNU Stow" . Naštěstí má Stow snadný způsob, jak snadno spravovat programy nainstalované ze zdroje.

Chcete-li citovat oficiální stránky,

Jednoduše řečeno, Stow vám pomáhá udržovat soubory balíčků organizované tak, aby je bylo možné snadno spravovat. Při této metodě nebudou soubory zkopírovány do více umístění. Místo toho jsou všechny soubory uloženy ve specifické složce, obvykle pod samotným názvem programu, a Stow vytváří symbolické odkazy na soubory všech programů na příslušná místa. Například /usr/local/bin může obsahovat symbolické odkazy na soubory v /usr/local/stow/vim/bin , /usr/local/stow/python/bin atd. a podobně rekurzivně pro jakékoli další podadresáře, jako je .../share , .../man , a tak dále. V tomto návodu vám na praktickém příkladu ukážu, jak jednoduše spravovat programy nainstalované ze zdroje pomocí Stow. Čtěte dál.

Nainstalujte GNU Stow v Linuxu

GNU Stow je k dispozici ve výchozích repozitářích oblíbených operačních systémů Linux.

V systému Arch Linux a jeho variant, spusťte následující příkaz k instalaci Stow.

$ sudo pacman -S stow

V Debianu , Ubuntu , Linux Mint , Pop OS :

$ sudo apt install stow

Na Fedoře :

$ sudo dnf install stow

V systému RHEL/CentOS , AlmaLinux a Rocky Linux :

$ sudo dnf install epel-release
$ sudo dnf install stow

Odeberte programy nainstalované ze zdroje pomocí Stow v Linuxu

Jak jsem již uvedl dříve, všechny programové soubory balíčku budou uloženy v kořenové složce umístěné v /usr/local/stow/ . V tomto kořenovém nebo nadřazeném adresáři bude každý balíček uložen ve svém vlastním soukromém podadresáři. Pokud například nainstalujeme Vim editor ze zdroje, všechny programové soubory a adresáře související s Vim budou uloženy pod /usr/local/stow/vim složka. Pokud si nainstalujete python ze zdroje budou všechny soubory související s pythonem uloženy pod /usr/local/stow/python a tak dále.

Dovolte mi nainstalovat program, například ahoj , ze zdroje.

Nejprve si stáhněte tarball programu „ahoj“.

$ wget http://ftp.gnu.org/gnu/hello/hello-2.10.tar.gz

Extrahujte stažený tarball pomocí příkazu:

$ tar -zxvf hello-2.10.tar.gz

Výše uvedený příkaz vytvoří v aktuálním pracovním adresáři adresář s názvem 'hello-2.10' a rozbalí v něm veškerý obsah.

Přepněte do extrahovaného adresáře:

$ cd hello-2.10/

Spusťte následující příkaz s volbou --prefix.

$ ./configure --prefix=/usr/local/stow/hello

Výše uvedený příkaz uloží soubory sestavení do určeného umístění, tj. /usr/local/stow/hello v našem případě.

Nakonec vytvořte a nainstalujte program hello pomocí následujících příkazů:

$ make
$ sudo make install

A je to. Program hello byl nainstalován do /usr/local/stow/hello/ umístění. Můžete to ověřit pomocí příkazu 'ls', jak je uvedeno níže.

$ ls /usr/local/stow/hello/
bin share

Nakonec přejděte na /usr/local/stow/ a spusťte následující příkaz pro vygenerování potřebných symbolických odkazů.

$ cd /usr/local/stow/
$ sudo stow hello

Vše hotovo!

Právě se stalo, že všechny soubory a adresáře obsažené v balíčku hello byly symbolicky propojeny s adresářem /usr/local/ . Jinými slovy, /usr/local/stow/hello/bin byl symbolicky propojen s /usr/local/bin a /usr/local/stow/hello/share byl symbolicky propojen s /usr/local/share a /usr/local/stow/hello/share/man byl symbolicky propojen s /usr/local/share/man a tak dále.

Můžete je ověřit pomocí 'ls' příkaz:

$ ls /usr/local/bin/
hello

Pojďme zkontrolovat, zda program hello funguje nebo nepoužívá příkaz:

$ hello
Hello, world!

Jo, funguje to!!

Podobně můžete instalovat programy, jak je popsáno výše, do jeho vlastního podadresáře.

Zde je obsah kořenového adresáře Stow:

$ tree /usr/local/stow/

Vidět? Program hello je nainstalován v "/usr/local/stow/hello/" umístění. Stejně tak budou všechny balíčky uloženy ve vlastním adresáři.

Zde přichází hlavní část. Pojďme odstranit program hello. Chcete-li tak učinit, přejděte na /usr/local/stow/ adresář:

$ cd /usr/local/stow/

..a spusťte následující příkaz:

$ sudo stow --delete hello

Program hello byl právě odstraněn. Zda je skutečně odstraněn nebo ne, můžete ověřit příkazem:

$ hello
-bash: /usr/local/bin/hello: No such file or directory

Vidět? Program Hello je odstraněn!

Upozorňujeme, že Stow odstranil pouze symbolické odkazy. Všechny programové soubory a adresáře související s programem hello jsou stále dostupné v /usr/local/stow/hello složka. Takže můžete znovu nainstalovat program hello, aniž byste museli stahovat skutečný zdrojový soubor.

Pokud již program hello nechcete, jednoduše smažte jeho složku.

$ sudo rm -fr /usr/local/stow/hello/

Chcete-li se dozvědět více podrobností o Stow, podívejte se na manuálové stránky.

$ man stow

Závěr

GNU Stow vám pomůže odinstalovat programy stejně snadno, jako je nainstalujete. Pokud vás zajímá, jak efektivně spravovat spoustu programů nainstalovaných ze zdroje, GNU Stow je jedním z takových programů, který vám tento úkol značně usnadní. Vyzkoušejte to, nebudete zklamáni.


Linux
  1. Jak ladit programy C v Linuxu pomocí gdb

  2. Jak zkompilovat a nainstalovat software ze zdrojového kódu na Linuxu

  3. Jak nainstalovat TBB ze zdroje na Linux a zprovoznit jej

  1. Jak nainstalovat phpMyAdmin v Linuxu pomocí zdrojového kódu

  2. Jak nainstalovat nejnovější GNU Nano v Linuxu

  3. Nainstalujte Apache 2 ze zdroje na Linux

  1. Jak nainstalovat SQLite3 ze zdroje na Linuxu (s ukázkovou databází)

  2. Jak nainstalovat a nakonfigurovat Nginx ze zdroje na Linuxu

  3. Jak nainstalovat MongoDB ze zdroje (a pomocí YUM) na Linuxu