交給你怎樣用簡單方法在Linux中移除從源代碼安裝的程序交給你怎樣用簡單方法在Linux中移除從源代碼安裝的程序 簡單來說,Stow 幫助你把這些程序文件以一種容易管理的方式組織在了一起。在這個方法中,文件將不會被復制到多個位置。所有的這些文件都會被保存在一個特定的文件夾中,通常是以程序名命名的,然后 Stow 會在一個合適的位置為所有的程序文件創建符號連接。
不是所有的程序都可以在官方或者第三方庫中找到,因此你不能使用常規的包管理來安裝它們。有時你不得不從源代碼中手動構建這些程序。就如你已經知道的一樣,當你從源代碼中安裝一個程序的時候,這個軟件包所包含的文件將會復制到本地的多個位置,例如 引用官方網站里的一段介紹, GNU Stow 是一個符號鏈接歸集管理器,它可以收集文件系統上不同目錄中的不同軟件和/或數據包,使它們看起來像是一個整體。 簡單來說,Stow 幫助你把這些程序文件以一種容易管理的方式組織在了一起。在這個方法中,文件將不會被復制到多個位置。所有的這些文件都會被保存在一個特定的文件夾中,通常是以程序名命名的,然后 Stow 會在一個合適的位置為所有的程序文件創建符號連接。比如 安裝 GNU Stow GNU Stow 在流行 Linux 操作系統的默認庫中都可用。 在 Arch Linux 及它的衍生版本中,運行下面的命令安裝 Stow。 $ sudo pacman -S stow 在 Debian、Ubuntu、Linux Mint 上: $ sudo apt install stow 在 Fedora 上: $ sudo dnf install stow 在 RHEL/CentOS 上: $ sudo yum install epel-release $ sudo yum install stow 在 Linux 上輕松移除從源代碼安裝的程序 就像我之前提到的,所有包的程序文件都將被保存在位于 我現在從源代碼中來安裝一個叫做 hello 的程序。 首先下載 hello 程序的壓縮包。 $ wget 使用下面的命令解壓壓縮包: $ tar -zxvf hello-2.10.tar.gz 上面的命令將會在當前工作目錄下創建一個叫做 切換到這個目錄當中: $ cd hello-2.10/ 運行下面的命令,并且添加 $ ./configure --prefix=/usr/local/stow/hello 上面的命令將會保存構建文件到一個指定位置,在這個例子中是 最后,使用下面的命令構建并安裝 hello 這個程序: $ make $ sudo make install 就這樣。hello 這個程序就已經安裝在 $ ls /usr/local/stow/hello/ bin share 最后,進入 $ cd /usr/local/stow/ $ sudo stow hello 大功告成! 剛才那一步是將包含在 hello 這個程序中的所有文件或者目錄創建了鏈接到 你可以使用 $ ls /usr/local/bin/ hello 可以使用下面的命令來確認 hello 這個程序是否可以正常工作了: $ hello Hello, world! 很好,它已經開始工作了!! 類似地,你可以像上面描述的那樣安裝程序到它對應的子目錄下。 下面是 Stow 根目錄包含的內容: $ tree /usr/local/stow/
看,hello 這個程序已經安裝在 下面進入主要環節,移除 hello 這個程序。首先進入 $ cd /usr/local/stow/ 然后運行下面的命令: $ sudo stow --delete hello hello 這個程序就會被移除了。你可以使用下面的命令確認它是否真的被移除了: $ hello -bash: /usr/local/bin/hello: No such file or directory
看, Hello 已經被移除了! 請注意 Stow 僅僅只移除了符號鏈接。所有與 hello 這個程序相關的文件或者目錄還保存在 $ sudo rm -fr /usr/local/stow/hello/ 想了解更多 Stow 的細節,請參閱 man 手冊。 $ man stow Stow 可以像安裝程序一樣輕松地幫你移除它。如果你想知道如何高效的管理很多從源代碼中安裝的程序,GNU Stow 就是一個使得這個任務更加輕松的一個選擇,嘗試一下,你一定不會失望的。 這就是所有的內容了,希望對你有所幫助。還有更多干活即將到來,可以期待一下的! 祝近祺!
|