我刚刚为我的 webapp 在共享主机上获得了一个帐户。为了让我的开发环境更加舒适,我在 /home 目录中安装了很多东西(例如 git、vim)。我想我可以让系统管理员来安装它们,但这样做似乎能让我更好地控制事情;我不必麻烦他们进行更新。
我这样做对吗?我应该让我的系统管理员安装这些东西吗?他们运行的是 CentOS,没有很多现代软件包。
假设这是一种可接受的做法,那么我管理本地安装的东西的最佳方法是什么?例如,这样我就可以一次性升级所有内容吗?除了从源代码构建所有内容,然后对每个要更新的程序执行此操作之外
apt-get update
,我还有更好的选择吗?git pull
hg pull
答案1
使用 CentOS 和其他基于 RPM 的发行版时,一种可能性是使用 RPM。通过运行 来测试 RPM 是否“可重定位” 。可重定位 RPM 允许您使用命令的选项rpm -qip PACKAGENAME.rpm
更改默认前缀。请注意,该命令维护安装在的数据库,因此您可能还需要使用选项来告诉 rpm--prefix=DIR
rpm
rpm
rpms
/var/
--root=$HOME
不是使用系统 rpm 数据库,而是在您的主目录中创建一个。此外,可能会有关于未满足依赖关系的投诉,在这种情况下(在手动确保依赖关系已安装后),您可以使用--nodeps
。