我最近开始在 LAMP 服务器上做更多的工作,这对我来说是很新鲜的。起初,迁移我的首选项文件不是问题,但随着我的成长和了解更多,我的首选项和工作流程变得更加具体(并且不太可移植*)。今天早上,我被要求在一台旧的 Red Hat 4 服务器上工作,它......它太旧了,我不知道如何处理它。维姆 6?一切都是通过 RPMForge 安装的吗?tree
无需添加存储库就无法安装?除了 root 之外没有其他实际用户帐户? /sbin/
甚至/usr/sbin/
不在 root 用户的路径中?
这东西安装过一次就没有修改过。每个安装的软件包都来自冰河时代。第一个冰河时代。
那么在这种情况下你会怎么做呢?我应该费心去工作吗在在服务器上,或者有更好的方法来解决这个问题吗?
* - 唯一有问题的是对 Jellybeans 颜色主题的支持,以及我对 Vim 选项卡的使用。
编辑-我想我提出的方式还不清楚,但问题的重点应该是你。我真正想要了解的是其他人在类似情况下会做什么。
请记住:我正在咨询。重新安装服务器不是我的工作。进行安全审核和强化服务器不是我的工作。我的工作是从运行非常旧的服务器的非技术客户那里获取模糊的要求,并使其在尽可能短的时间内实现。就是这样。
我是一名开发人员,而不是系统管理员;这对我来说都是很新鲜的,要正确地加快速度需要花费更多的时间,超出了我的承受能力。它已经生产多年了;我只是做一些修改。
我是吗想这个服务器有待改进吗?当然!我可以吗想这个项目是我引以为豪的事情吗?是的!这会发生吗?不。我正在维护旧的软件,我对它的兴趣为零,甚至没有收到很多流量。我只是想以一种舒适的方式完成任务,而不需要太多麻烦。
编辑2 - 经过一番搜索和摆弄后,我最终使用 sshfs 和 MacFuse 在本地安装了我需要的东西。这样我就可以留在终端并根据我正在做的事情混合使用本地和远程工具。
答案1
您应该了解如何使用常见的 UNIX 工具。 vim 可能在 redhat 4 和 redhat 300 之间发生了变化,但我敢打赌 vi 是相同的(即使他们使用 vim 作为 vi 的替代品,vi 命令也将按预期工作)。您可能不熟悉这些打包工具,但我敢打赌您仍然可以下载 tgz 文件,,,,./configure
它。make
sudo make install
学习最新和最好的东西固然很棒,但您还应该学习构建您的工具所依赖的工具。在unixland中,有些东西保持相当不变,如果你知道并理解如何使用它们,你会发现自己对你最终使用的任何变体都更加熟悉,无论年龄如何(在合理范围内的人)。
树没有安装?我敢打赌 grep、find、awk 和 sed 都是。这些是你的朋友。
作为 cygwin/etc 的替代方案,安装 VirtualBox 并在虚拟环境中设置 Linux 盒子并不难,然后您可以将其用于开发,并稍后将文件推送到服务器。
答案2
进入“你们这些该死的孩子”模式。
您的工具应该帮助您更有效地完成工作,而不妨碍您了解正在发生的事情。确实,RH 4 并没有那么老,而且与今天的产品大多相似。它可能不是最新和最好的,但应该足以满足您的需要(您需要什么)。
咆哮完了。
另一方面,如果这种情况发生在网络上,则确实需要至少使用最新的 RH 4 软件包进行更新。
答案3
大多数服务专业人员最终都会达到这样的地步:他们可以轻松地告诉客户“您当前的设置是错误/危险的。如果没有纠正它,我不会碰它。”
尽管它在法律或道德上可能准确,也可能不准确,但从实际角度来看,非技术人员会责怪最后一个在失败的系统上工作的人。如果您是最后一个登录到受到损害或停止工作的服务器的人,那么您很可能会因失败而受到指责,即使您更改(或只是查看)的内容与此无关与失败。
这在物理事物上更为明显(想象一下,去一家轮胎店,轮胎已经秃了,并要求修补秃轮胎,或者去刹车店,4 个车轮的刹车都坏了,并要求他们只修理 1 个轮组;或者要求燃气公司重新点亮生锈危险的热水器上的指示灯)同样的原则和注意事项也适用于软件和服务器。
听起来您的客户至少有两个问题:无人维护的服务器环境,并且他们的开发和生产环境在同一物理硬件上运行,因此不可能在不影响另一个的情况下修改一个环境。
如果你假装这是一种合理的运行方式,那么当它出现问题时,你就会被期望去修复它,而且你可能会被期望免费这样做,因为它是明显地你的错是它根本失败了。
为了直接回答你的问题,我会告诉客户,他们的共享硬件系统是一个需要修复的问题,并且无人维护的服务器环境太旧了,因此支付你将他们现有的数据移动到新系统的费用会更便宜而不是跟踪升级旧系统所需的所有更改和依赖项。他们应该 (a) 获取新硬件来运行开发系统,以及 (b) 在新硬件上安装最新软件,然后将开发迁移到该新硬件。修复共享硬件问题的好处是,您可以在进行迁移之前测试新的开发环境,这应该可以实现更平稳的过渡。
答案4
您的选择是更新所有软件包并添加新的存储库,或者仅备份数据和站点并重新安装服务器。