如何在没有root访问权限的情况下在CentOS5上安装git?


3

我正在尝试将git功能添加到没有开发工具的生产CentOS 5.5系统(因为它是一个生产系统)。所以我没有make / gcc / etc的访问权限。我基本上想安装Git以便能够轻松地和快速将网站目录与我的Git仓库同步,​​所以我不需要编译任何源文件。

我没有root访问权限,并且由于显而易见的原因,root用户不想在prod系统上安装Git,但如果我可以在本地设置它以供我自己使用,那就没关系。

我已经尝试下载git-core.rpm并将其解压缩到我的主目录中,虽然我能够运行git的一些功能,但是没有git的依赖项是它所期望的,所以它失败了。

我的结构如下所示:

~/git
~/git/usr
~/git/usr/bin
~/git/usr/share
~/git/usr/share/doc
~/git/usr/share/git-core
~/git/usr/share/locale
~/git/usr/share/man

当我运行类似的东西 git help clone,我收到一个错误信息 No manual entry for git-clone。这证实了 git --man-path (在/ usr / share / man的)。其他命令类似地失败。

我怎么能告诉git使用 ~/git 作为根而不是 / 作为所有git依赖项的根,无需重新编译?我似乎无法找到任何可以设置的环境变量或git变量。

发布了类似的问题 所以在这里 ,但不幸的是,提供的两个解决方案都不可行 - 即:重新编译git(我没有任何make工具)或解压缩rpm(已尝试但是如所示,git查找预定义路径)。

如建议 这里 ,我尝试过设置GIT_EXEC_PATH,但也取得了很小的成功:

[eric ~]$ export GIT_EXEC_PATH=~/git/usr/bin/git
[eric ~]$ git --man-path
/usr/share/man
[eric ~]$ git help clone
No manual entry for git-clone
[eric ~]$ git --exec-path
/home/eric/git/usr/bin/git

你是如何在你的家庭目录中安装git-core.rpm的?


2
@Satish - 我下载了git-1.7.10.2-1.w5.i386.rpm并使用过 rpm2cpio git-1.7.10.2-1.w5.i386.rpm | cpio -idmv
Eric B.

@jjlin - 它类似于那个问题,是的,但不是重复的。也许我应该在原帖中链接到这个问题 - 我会编辑它以进行更正。不幸的是,SO帖子中提供的解决方案不适用(即:下载源和重新编译,因为我没有制作工具,或者只是提取rpm,因为提取rpm不起作用)。
Eric B.

@jjlin - 它在另一篇文章中提到过,但是从快速谷歌中了解它的作用,它似乎与msysGit项目和/或构建过程有关。我也用GIT_EXEC_PATH的相关信息更新了我的问题。
Eric B.

Answers:


1

除非RPM设置为重定位(绝大多数不是),否则你不能这样做。最好的办法是正式安装,所以它将与系统的其余部分一起进行跟踪/更新。

如果无法做到这一点,你可以这样做:

  1. 获取最新的来源
  2. 用例如配置“configure prefix = $ HOME ...”
  3. 构建和安装,例如“make install”
  4. 找出来自git的内容,至少是〜/ bin /,〜/ share / man /,〜/ libexec /中的内容, 打包并将其转移到受害者机器
  5. 打开受害者的包装然后试一试。把〜/ bin放在 结束 你的路径

但是,如果没有首先确定他们可以做到这一点的权力,请不要这样做。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.