Хотя в настоящее время у меня нет времени, чтобы дать очень подробный ответ, я могу наметить возможную стратегию запуска исполняемых файлов из предварительно созданного git
пакета в вашем домашнем каталоге. Этот ответ нацелен на Debian, поскольку, как вы сказали, вы используете, но основная концепция применима и к другим ОС и дистрибутивам.
Сначала перейдите на http://packages.debian.org/squeeze/git и просмотрите зависимости git
пакета. К счастью, вы найдете, что git
не так много. Большинство важных из них, вероятно, уже установлены, возможно, за исключением libcurl3-gnutls
и libexpat1
.
Затем загрузите двоичный пакет .deb и извлеките его содержимое (поищите в Интернете, чтобы узнать, как извлечь пакет .deb вручную). Вы найдете data.tar.gz
файл. Извлеките это, и вы получите usr/bin/git*
и usr/lib/git-core/*
файлы. Вы можете поместить эти файлы где-нибудь в вашем домашнем каталоге. Теперь важная часть: /usr/bin/git
вызов многочисленных программ-помощников /usr/lib/git-core
, и этот последний путь жестко закодирован /usr/bin/git
. К счастью, вы можете переопределить жестко заданное значение, установив GIT_EXEC_PATH
переменную среды, поэтому обновите ваши точечные файлы, чтобы они указывали, где вы решили хранить различные /usr/lib/git-core
файлы.
Наконец, возможно, что не все из зависимостей библиотеки (и их зависимостей, и т.д., и т.д.) были установлены в вашей системе (например, libcurl3-gnutls
, libexpat1
). Вы также можете скачать двоичные пакеты для них, распаковать их в свой домашний каталог, а затем помочь git
найти их, настроив LD_LIBRARY_PATH
соответствующую переменную среды.
PS Возможно, у меня было больше, чем моя справедливая доля в вашем положении, поэтому то, что я изложил выше, является более чем теоретическим. Но работать над этим видом проблемы - это немного чёрного искусства, так что, как правило, вокруг него будут некоторые дополнительные проблемы. Удачи.