Usuń programy zainstalowane ze źródła za pomocą Stow w systemie Linux
Ten przewodnik wyjaśnia, czym jest GNU Stow, jak zainstalować GNU Stow w systemie Linux i jak usunąć programy zainstalowane ze źródła za pomocą GNU Stow.
Co to jest GNU Stow?
Czasami trzeba zainstalować niektóre programy, kompilując je ręcznie ze źródła. Ponieważ mogą nie być dostępne w oficjalnych repozytoriach lub repozytoriach stron trzecich, więc nie można ich zainstalować za pomocą zwykłych menedżerów pakietów.
Jak być może już wiesz, podczas instalowania programów ze źródła pliki pakietu zostaną skopiowane do wielu lokalizacji, takich jak /usr/local/bin, /usr/local/etc/, w systemie plików.
Jeśli zainstalowany program ze źródła nie ma wbudowanego dezinstalatora, usunięcie pakietów, których już nie potrzebujesz, będzie żmudnym zadaniem.
Być może trzeba będzie poświęcić kilka (lub kilka) minut na znalezienie tych plików pakietu i usunięcie ich ręcznie. Robiłem to aż do chwili, gdy natknąłem się na narzędzie o nazwie „GNU Stow”. Na szczęście Stow umożliwia łatwe zarządzanie programami instalowanymi ze źródła.
Cytując oficjalną stronę internetową,
GNU Stow to menedżer farmy dowiązań symbolicznych, który pobiera odrębne pakiety oprogramowania i/lub danych znajdujących się w oddzielnych katalogach w systemie plików i sprawia wrażenie, że są zainstalowane w tym samym miejscu.
Mówiąc najprościej, Stow pomaga uporządkować pliki pakietów w sposób łatwy do zarządzania. W tej metodzie pliki nie zostaną skopiowane do wielu lokalizacji. Zamiast tego wszystkie pliki są zapisywane w określonym folderze, zwykle pod samą nazwą programu, a Stow tworzy dowiązania symboliczne do plików wszystkich programów w odpowiednich miejscach.
Na przykład /usr/local/bin może zawierać dowiązania symboliczne do plików w obrębie /usr/local/stow/vim/bin<, /usr/local/stow/python/bin itd. i podobnie rekurencyjnie dla innych podkatalogów, takich jak .../ udostępnij, .../man i tak dalej.
W tym samouczku pokażę Ci, jak łatwo zarządzać programami zainstalowanymi ze źródła za pomocą Stow na praktycznym przykładzie. Czytaj.
Zainstaluj GNU Stow w systemie Linux
GNU Stow jest dostępny w domyślnych repozytoriach popularnych systemów operacyjnych Linux.
W Arch Linux i jego wariantach uruchom następujące polecenie, aby zainstalować Stow.
sudo pacman -S stowW Debianie, Ubuntu, Linux Mint, Pop OS:
sudo apt install stowW Fedorze:
sudo dnf install stowW RHEL/CentOS, AlmaLinux i Rocky Linux:
sudo dnf install epel-releasesudo dnf install stowUsuń programy zainstalowane ze źródła za pomocą Stow w systemie Linux
Jak już wspomniałem wcześniej, wszystkie pliki programów pakietu zostaną zapisane w folderze głównym zlokalizowanym w /usr/local/stow/. W tym katalogu głównym lub nadrzędnym każdy pakiet zostanie zapisany w jego własnym prywatnym podkatalogu.
Na przykład, jeśli zainstalujemy edytor Vim ze źródła, wszystkie pliki programów i katalogi powiązane z Vimem zostaną zapisane pod /usr/local/stow/vim silny>folder. Jeśli zainstalujesz pythona ze źródła, wszystkie pliki powiązane z pythonem będą przechowywane w folderze /usr/local/stow/python i tak dalej.
Pozwól mi zainstalować program, na przykład witaj, ze źródła.
Najpierw pobierz archiwum tar programu „hello”.
wget http://ftp.gnu.org/gnu/hello/hello-2.10.tar.gzWyodrębnij pobrany plik tar za pomocą polecenia:
tar -zxvf hello-2.10.tar.gzPowyższe polecenie utworzy katalog o nazwie „hello-2.10” w bieżącym katalogu roboczym i wyodrębni z niego całą zawartość.
Przejdź do wyodrębnionego katalogu:
cd hello-2.10/Uruchom następujące polecenie z opcją --prefix.
./configure --prefix=/usr/local/stow/helloPowyższe polecenie zapisze pliki kompilacji we wskazanej lokalizacji, czyli w naszym przypadku /usr/local/stow/hello.
Na koniec zbuduj i zainstaluj program hello, używając następujących poleceń:
makesudo make install
Otóż to. Program hello został zainstalowany w lokalizacji /usr/local/stow/hello/. Możesz to sprawdzić za pomocą polecenia „ls”, jak pokazano poniżej.
$ ls /usr/local/stow/hello/
bin shareNa koniec przejdź do katalogu /usr/local/stow/ i uruchom następującą komendę, aby wygenerować niezbędne dowiązania symboliczne.
cd /usr/local/stow/sudo stow helloWszystko gotowe!
Właśnie się stało, że wszystkie pliki i katalogi zawarte w pakiecie hello zostały dowiązane symbolicznie do katalogu /usr/local/. Innymi słowy, /usr/local/stow/hello/bin został dowiązany symbolicznie do /usr/local/bin i /usr/local/stow/hello/share zostało dowiązane symbolicznie do /usr/local/share i /usr/local/stow/hello/share/man zostało dowiązane symbolicznie do /usr/local/share/man i tak dalej.
Możesz je zweryfikować za pomocą polecenia 'ls':
$ ls /usr/local/bin/
helloSprawdźmy czy program hello działa czy nie za pomocą polecenia:
$ hello
Hello, world!Tak, to działa!!
Podobnie możesz instalować programy w sposób opisany powyżej w ich własnym podkatalogu.
Oto zawartość katalogu głównego Stow:
tree /usr/local/stow/Wyświetl zawartość katalogu głównego Stow
Widzieć? Program hello jest zainstalowany w lokalizacji "/usr/local/stow/hello/". Podobnie wszystkie pakiety będą przechowywane w osobnym katalogu.
Oto główna część. Usuńmy program hello. W tym celu przejdź do katalogu /usr/local/stow/:
cd /usr/local/stow/..i uruchom następujące polecenie:
sudo stow --delete helloUsuń program za pomocą Stow
Program hello został właśnie usunięty. Możesz sprawdzić, czy rzeczywiście został usunięty, czy nie, za pomocą polecenia:
$ hello
-bash: /usr/local/bin/hello: No such file or directoryUruchom program hello world
Widzieć? Witam, program został usunięty!
Należy pamiętać, że Stow usunął tylko dowiązania symboliczne. Wszystkie pliki programów i katalogi związane z programem hello są nadal dostępne w folderze /usr/local/stow/hello. Możesz więc ponownie zainstalować program hello bez konieczności pobierania rzeczywistego pliku źródłowego.
Jeśli nie chcesz już programu hello, po prostu usuń jego folder.
sudo rm -fr /usr/local/stow/hello/Aby poznać więcej szczegółów na temat Stow, zapoznaj się ze stronami podręcznika.
man stowWniosek
GNU Stow pomaga odinstalować programy tak łatwo, jak je instalujesz. Jeśli zastanawiasz się, jak efektywnie zarządzać wieloma programami zainstalowanymi ze źródeł, GNU Stow jest jednym z takich programów, który znacznie ułatwia to zadanie. Spróbuj, nie będziesz zawiedziony.
Zasoby:
- Strona główna GNU Stow
- Instrukcja przechowywania
Sugerowana lektura:
- Jak znaleźć i usunąć nieużywane pakiety w systemie Linux


