本文是关于 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 的实用程序。