本文是關於 Stow 的,它是用於 Linux 的軟體安裝管理公用程式,它許多地方都優於“久經考驗”的 Red Hat 和 Debian 軟體包管理系統。通過使用 Stow,可以將應用程式打包成標準的 tar 檔案,並按照邏輯安排應用程式二進位檔案,以易於訪問。
Stow 是用 Perl 編寫的,易於安裝和使用,它雖然簡單,但對於在 Linux 機器上組織和管理各種軟體安裝卻很有效。Stow 可以方便地將不同軟體包安排在組織良好的分類樹結構中。這不僅有助於將屬於特殊軟體包的檔案與其它檔案分開,而且還給予使用者在任何期望的位置儲存或安裝軟體包的自由,同時使軟體看上去被安裝在軟體包或 OS 要求的位置上。
註:如果具有 Linux 的中級知識並安裝過 Linux 應用程式,則有助於理解本文。在本文中,我們使用 Stow V1.3.3 和 Perl V5.005。
Linux 的軟體安裝管理
在我們開始瞭解 Stow 之前,先讓我們研究一下軟體安裝管理,它也稱作軟體包管理。軟體安裝管理在總體上描述了在系統上安裝、卸載、更新和組織軟體應用程式(或稱為軟體包)的活動。在這些活動中,組織應用程式是尤其重要的活動。如果應用程式組織得井井有條,那麼在 Linux 機器上安裝、升級和卸載應用程式會變得更加容易且更方便。
在 Linux 系統上,大多數應用程式必須安裝在某一特定目錄(通常是 /usr/local/)中才能正確運行和起作用;這種需求來自 Linux 或應用程式本身。如果只在 Linux 系統上安裝了很少的應用程式並且它們各自的檔案都可以很容易地彼此區分,那麼這不會造成任何嚴重問題。
然而,在實際方案中,可能有大量應用程式安裝在同一目錄中,該目錄不久就會變得很雜亂。設想一下,在安裝一個應用程式時,它意外地覆蓋了屬於另一個應用程式的檔案,那麼您不得不替換該檔案。或者設想一下,在卸載和刪除應用程式之前,設法確定哪些檔案屬於該應用程式。或者,您可能希望找到並刪除應用程式不需要的檔案。所有這些情形都會花費許多精力和時間,並且要求牢記檔案名稱。
為了克服這樣的問題,所以將軟體安裝管理公用程式用於 Linux 系統。它們不僅有助於組織和安排多個軟體安裝,而且還可以根據需要,任意次數地更改這樣的安排,而且不費吹灰之力。Stow 就是這樣一種用於 Linux 的公用程式。