源代码安装在“非标准”目录中的后果

我从源代码自己编译和安装了很多程序。 因为我有一个工作安装的Apache + PHP,但想尝试Nginx + PHP-FPM我想安装这些非标准的位置,如/ nginx和/ php-fpm

除了可执行文件不在PATH中(但可以解决这个问题),还有什么其他的问题或后果呢?

手工编译到自定义位置的主要缺点可以分为手动编译和自定义位置存储引起的缺点。

在手工编译的缺点中,我发现:

  1. 这是一个维护噩梦,因为在发布安全更新时,您必须不断从源代码重新编译;
  2. 这是一个双重维护的噩梦,因为你必须不断观看论坛,邮件列表,网站和(最近)的IRC频道,为你编译的每一个软件,所以你可以find更新,因为它们被释放,就每个人做出判断,就像你发现的那样,你是否需要这个特别的更新;
  3. 这是一个稳定的噩梦。 RH(以及其他服务器级别的发行版供应商)的策略是在操作系统的稳定版本中不增加版本。 相反,他们只将必要的补丁(主要是安全性,但并非总是)反向移植到已发布的版本,这样就不会经常与旧的configuration文件争斗成为语法无效的存储数据库,需要应用架构补丁等等,每个你决定采取新的发行版。

在自定义位置的缺点之中,我发现:

  1. 这使得系统难以维护,因为任何新的pipe理员首先要解开当前系统软件所在的迷宫;
  2. 它增加了一些无法备份的机会(你必须不断更新你的策略以包含新的目录)。
  3. 除非你对./configure很小心,否则它/nginx/etc/nginx.confconfiguration文件分散到整个FS(例如/php-fm/etc/php-fm.ini ),而不是全部集中在/etc 。 这可以使更改控制更加困难。

简而言之,如果你是唯一一个必须在这个服务器上工作的人,那么你就没有任何其他的服务器可以工作,而且你有时间按照你所要的软件包手工编译,这样做的痛苦会减到最小,而且可能会很小。 否则,痛苦可能会很大。