Я установил git через apt-get на Debian 7, который дает мне:
# git --version
git version 1.7.10.4
Я хотел бы перейти на последнюю версию git. Я пытался:
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git
Но это дает следующие ошибки:
Fetched 6,944 B in 0s (10.1 kB/s)
W: Failed to fetch http://ppa.launchpad.net/git-core/ppa/ubuntu/dists/wheezy/main/source/Sources 404 Not Found
W: Failed to fetch http://ppa.launchpad.net/git-core/ppa/ubuntu/dists/wheezy/main/binary-amd64/Packages 404 Not Found
Я также пытался следовать этому руководству:
http://backports.debian.org/Instructions/
но я до сих пор не могу получить последний мерзавец, какие-либо предложения?
Ответы:
Обновлено 2016-07-27: wheezy-backports теперь доступен для Git 1.9.1. Инструкция по-прежнему применяется для установки более новой версии или для Джесси.
Если более новая версия пакета обратного порта недоступна, у вас есть два варианта:
Попросите, чтобы сопровождающие посылки подготовили бэкпорт. Работать не гарантируется, но некоторые сопровождающие положительно относятся к созданию бэкпортов, поэтому я просто попробую.
Электронные письма сопровождающих можно найти там .
Построй сам из источников. Это можно сделать двумя способами:
Сборка "как есть" из исходного архива. Если вы выберете этот маршрут, обязательно настройте систему сборки Git для установки всего под
~/git
или,/opt/git
или что-то подобное, иначе позже у вас будет отличная PITA, удаляющая то, что вы установили.Проблема в том, что обычный Unix-способ установки программного обеспечения путем распространения его по всей файловой системе является разумным, но только когда у вас есть какой-то реестр, который «знает», какому файлу принадлежит какой пакет и наоборот, и системы упаковки, такие как Debian. сделать именно это. Если вы выполняете «обычную» установку пакета, созданного из исходных кодов, в большинстве случаев у вас не будет возможности удалить этот фрагмент программного обеспечения позже (если не использовать
checkinstall
вместоmake install
, но это действительно последнее средство). И наоборот, если вы сконфигурируете пакет с исходным кодом для установки всего в одном каталоге, у вас будут небольшие проблемы с запуском программного обеспечения (его «двоичные» каталоги не будут в вашем$PATH
), в обмен на удаление его позже будет легко - синглrm -rf /path/to/that/dir
.Сделай бэкпорт сам. Это более сложный процесс, но в простых случаях это может сработать, поэтому стоит попробовать IMO.
В основном вы идете так (ссылка на
.dsc
файл взята со страницы пакета в нестабильном ):Проверьте, удовлетворены ли все зависимости сборки, запустив:
И установите все, что, как говорит инструмент, в настоящее время отсутствует. Иногда пакет может ссылаться на версию чего-то слишком свежего, чтобы быть доступным в дистрибутиве, к которому вы обращаетесь; в этом случае можно попытаться обмануть и исправить версию такого пакета в
debian/control
файле.Теперь исправьте версию пакетов, которые собираются собрать. Лучший способ добиться этого - заставить инструмент делать правильные вещи:
Он добавит запись в
debian/changelog
файл и откроет ваш текстовый редактор по вашему выбору. Просто закройте редактор - версия для сборки пакетов берется из верхней записи в этом файле.Теперь давайте попробуем собрать:
Если вам повезет, в этот момент у вас будет куча великолепных новых
.deb
пакетов Git..
, которые вы можете просто установить, используяdpkg -i <packagename> ...
.(Запустите,
debuild clean
чтобы избавиться от встроенного crud или просто полностью удалитеgit
каталог. Вы также можете удалить все, что вы установили после запускаdpkg-checkbuilddep
.)К сожалению, если по какой-то причине сборка не удалась, для исправления требуются определенные знания, но это выходит за рамки данного обсуждения.
источник
dget
это не нужно? Весь смысл в том, чтобы принести вам все файлы, составляющие пакет с исходным кодом, чтобы у вас действительно было что распаковать, настроить и собрать. Выборка только одного.dsc
файла будет делать именно это, но архивы исходного кода и debianization будут отсутствовать.Вы все еще можете использовать Git PPA для Ubuntu Precise, сказав apt собирать из последнего найденного там источника. Распределения достаточно похожи, чтобы все работало нормально.
Я успешно использовал его на Raspbian (который основан на wheezy), чтобы получить пакеты для armhf, но он должен работать для любой архитектуры.
Сначала добавьте ключ GPG для PPA:
Добавьте URL для исходных пакетов в apt:
Обновить апт:
Установите зависимости сборки:
Скачайте и соберите git из исходного кода. Возможно, вы захотите сделать это временным каталогом, так как процесс сборки создает некоторую путаницу:
Установите только что собранный пакет и очистите его (git-core больше не нужен):
источник
Если вы хотите обновить определенный пакет в Debian 7 (Wheezy), у вас есть возможность использовать backports, просто добавив в ваш /etc/apt/sources.list следующие строки:
Затем для установки / обновления git выполните команды:
Вы также можете настроить backports в отдельном файле в /etc/apt/sources.list.d/. Я особенно предпочитаю использовать файл /etc/apt/sources.list.d/backports.list .
источник