Установка Git с учетной записью пользователя без полномочий root
Я уже создал репозиторий Git в GitHub и совершил несколько изменений с моей машины Windows.
Но завтра мне придется работать в этом репозитории с машины с Ubuntu с ограниченными привилегиями (т.е. без sudo).
Есть ли переносимая версия Git для Linux? Или какой-то источник, который позволяет мне компилировать и устанавливать Git только для текущего пользователя?
Ответы
Ответ 1
Вы можете загрузить источник git и сделать ./configure --prefix=/home/user/myroot && make && make install
, чтобы установить git в свой домашний каталог, если у вас есть инструменты сборки. Если у вас нет установленного пакета сборки (dpkg --list|grep build-essential
), вам также нужно будет установить его в свой домашний каталог.
Ответ 2
Мне не нравятся только ссылки, но эта ссылка Я последовал за шагом на машине Fedora и работал без изменений. Очень, очень легко. Бинарные файлы попадают в ваш каталог ~/bin. Вы загружаете архив, извлекаете источники, запускаете make
и запускаете make install
, и это все.
Как утверждает автор, 2 предпосылки - gcc и ssh, и если вы встретитесь, эти git должны работать для вас как пользователь без полномочий root.
Ответ 3
Связанный ответ https://askubuntu.com/a/350.
Я мог бы заставить его работать с предложенным третьим методом:
apt-get source git
cd git_vXXX
./configure --prefix=$HOME
make
make install
Я не знаю почему, но когда я попытался установить из исходной загрузки из github вместо этого, у меня было много проблем с отсутствующими зависимостями
Ответ 4
Чтобы установить git и зависимости из источника, возможно, полезно.
Замените место, в котором вы устанавливаете свои приложения, отличные от root, и рассмотрите возможность проверки последних версий исходного кода.
wget https://curl.haxx.se/download/curl-7.47.1.tar.gz
tar -xf curl-7.47.1.tar.gz
mkdir <local_curl_dir>
cd curl-7.47.1
./configure --prefix=<local_curl_dir>
make
make install
wget http://downloads.sourceforge.net/expat/expat-2.1.0.tar.gz
tar -xf expat-2.1.0.tar.gz
mkdir <local_expat_dir>
cd expat-2.1.0
./configure --prefix=<local_expat_dir>
make
make install
wget https://github.com/git/git/archive/v2.6.4.tar.gz
tar -xf v2.6.4
mkdir <local_git_dir>
cd git-2.6.4
make configure
./configure --prefix=<local_git_dir>/git --with-curl=<local_curl_dir>/curl --with-expat=<local_expat_dir>/expat
make
make install