3

Я пытаюсь добавить функциональность git в производственную систему CentOS 5.5, в которой нет инструментов разработки (поскольку это производственная система). Так что у меня нет доступа к make/gcc/etc. Я в основном хочу установить Git, чтобы иметь возможность легко и быстро синхронизировать каталог веб-сайта с моим репозиторием Git, поэтому мне не нужно компилировать какие-либо исходные файлы.

У меня нет доступа с правами root, и по понятным причинам root не хочет устанавливать Git в системе prod, но ничего страшного, если я могу настроить его локально для собственного использования.

Я пытался загрузить и распаковать 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 , я получаю сообщение об ошибке msg No manual entry for git-clone . Это подтверждается git --man-path (/usr/share/man). Другие команды не работают аналогично.

Как я могу сказать git использовать ~/git в качестве корня вместо / в качестве корня для всех зависимостей git без перекомпиляции? Я не могу найти какие-либо переменные среды или мерзавцы, которые я могу установить.

Здесь есть аналогичный вопрос, размещенный на SO, но, к сожалению, оба предложенных решения нежизнеспособны - то есть: перекомпилировать 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

1 ответ1

1

Если RPM не настроен на перемещение (в подавляющем большинстве нет), вы не сможете сделать это таким образом. Лучше всего ставить официальные материалы, поэтому они будут отслеживаться / обновляться вместе с остальной системой.

Если это не может быть сделано, вы можете сделать что-то вроде:

  1. Получить последний источник
  2. Настройте, например, "configure prefix = $ HOME ..."
  3. Сборка и установка, например, "сделать установку"
  4. Выясните, что происходит с Git, по крайней мере, вещи в ~/bin/, ~/share/man/, ~/libexec/, упакуйте их и перенесите на компьютер жертвы.
  5. Распакуйте жертву и попробуйте. Поместите ~/bin в конце вашего пути

Но, пожалуйста, не делайте этого, не убедившись сначала в силах, которые будут, что они в порядке.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .