首頁 >系統教程 >Linux >如何使用Linux中的GNU Stow從源安裝和管理軟件

如何使用Linux中的GNU Stow從源安裝和管理軟件

William Shakespeare
William Shakespeare原創
2025-03-16 10:51:11665瀏覽

本教程解釋了GNU Stow如何簡化從Linux中的源安裝的管理軟件。它使用符號鏈接來保持安裝的組織,防止衝突並輕鬆進行更新/刪除。

什麼是GNU Stow?

GNU Stow是一名Symlink Manager,簡化了Linux和Unix樣系統上的源代碼軟件。它通過創建從中央位置到實際軟件文件的符號鏈接來組織文件,從而實現高效的管理和維護。這樣可以防止多個軟件包之間的衝突。這對於管理自己的安裝和配置的用戶通常與版本控件配對特別有用。它是免費和開源的。

GNU Stow的工作方式

Stow假設每個軟件包都位於其自己的目錄中(例如/usr/local/stow/package1 )。 stow package1創建了從此目錄到適當的系統位置的符號鏈接(例如/usr/local/bin )。 stow -D package1刪除了這些鏈接。

GNU存儲功能

  • 符號鏈接:創建符號鏈接,避免文件衝突。
  • 軟件包管理:管理在用戶特定或系統範圍內安裝的軟件。
  • 簡單的升級/刪除:更新或刪除包裝很簡單;存儲自動處理符號鏈接。
  • 靈活配置:可自定義以適合個人需求。

使用GNU Stow的優點

  • 簡化的軟件包管理:易於安裝,更新和刪除。同一軟件包的多個版本可以共存。
  • 避免衝突:隔離的軟件包目錄最小化文件衝突。
  • 可重複性:易於復制和記錄軟件環境。

用例

非常適合開發人員從源和管理多個系統的配置文件(dotfiles)中定期編譯軟件的理想選擇。

基本用法

安裝包裝: cd /usr/local/stow; stow package1卸載一個軟件包: cd /usr/local/stow; stow -D package1

使用GNU Stow從源安裝軟件(curl示例)

  1. 更新系統: sudo apt update (Debian/Ubuntu), sudo yum update (Centos/Rhel),等等。
  2. 安裝開發工具: sudo apt install build-essential libssl-dev (debian/ubuntu for with openssl),對系統進行調整和所需的TLS後端(Gnutls需要不同的庫)。
  3. 安裝GNU Stow: sudo apt install stow (Debian/Ubuntu),調整您的發行版。
  4. 下載並提取捲髮: wget https://github.com/curl/curl/releases/download/curl-8_8_0/curl-8.8.0.tar.gz; tar xvf curl-8.8.0.tar.gz (替換為最新版本)。
  5. 配置構建: cd curl-8.8.0; ./configure --with-ssl --prefix=/usr/local/stow/curl-8.8.0 (or --with-gnutls for Gnutls)。
  6. 編譯: make
  7. 安裝: sudo make install
  8. 使用Stow進行管理: cd /usr/local/stow; sudo stow curl-8.8.0
  9. 驗證: curl --version

如何使用Linux中的GNU Stow從源安裝和管理軟件

更新軟件

  1. 卸載舊版本: cd /usr/local/stow; sudo stow -D curl-8.7.1 (替換為舊版本)。
  2. 從安裝部分下載,提取,配置和構建新版本:重複步驟4-7。
  3. 用Stow管理新版本: cd /usr/local/stow; sudo stow curl-8.8.0
  4. 驗證: curl --version
  5. 刪除舊目錄(可選): sudo rm -rf /usr/local/stow/curl-8.7.1

高級用法

Stow提供了可重新定位軟件包( --dir--target ),幹運行( -n ),詳細輸出( -v ),忽略文件( .stow-local-ignore ), restow-R ), destow-D ),採用現有文件( --adopt ),處理衝突( - 驗證衝突( --override )和指定自定義的定制目錄)的選項。有關詳細信息,請參見man stow頁面。

GNU存放備忘單(常見命令和選項的摘要)

  • stow package_name :存儲一個軟件包。
  • stow -D package_name package_name :解開軟件包。
  • stow -R package_name :重新啟動包裝。
  • stow --dir=/path/to/packages package_name :指定源目錄。
  • stow --target=/path/to/target package_name :指定目標目錄。
  • stow -n package_name :乾式運行。
  • stow -v package_name :詳細輸出。
  • stow --adopt package_name :採用現有文件。
  • stow --override package_name :覆蓋衝突。

常見問題(常見問題解答) (用原始文本涵蓋,但可以在這裡總結為簡潔)

結論

GNU Stow是有效地管理Linux中源構建軟件,改善組織並簡化更新和刪除的有價值的工具。它對符號鏈接的使用會阻止衝突,並使多個軟件版本直接管理。

以上是如何使用Linux中的GNU Stow從源安裝和管理軟件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn