Ich habe git über apt-get auf debian 7 installiert, was mir Folgendes gibt:
# git --version
git version 1.7.10.4
Ich würde gerne die neueste Version von Git herunterladen. Ich habe versucht:
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git
Dies führt jedoch zu folgenden Fehlern:
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
Ich habe auch versucht, dieser Anleitung zu folgen:
http://backports.debian.org/Instructions/
aber ich kann immer noch nicht den neuesten git bekommen, irgendwelche vorschläge?
Antworten:
Aktualisiert am 27.07.2016: Ein Wheezy-Backport ist jetzt für Git 1.9.1 verfügbar . Die Anweisungen gelten weiterhin für die Installation einer neueren Version oder für Jessie.
Wenn eine neuere Version eines Backport-Pakets nicht verfügbar ist, haben Sie zwei Möglichkeiten:
Bitten Sie die Paketbetreuer, einen Backport vorzubereiten. Es ist nicht garantiert, dass es funktioniert, aber einige Betreuer sind zuversichtlich, Backports zu erstellen, also würde ich es einfach versuchen.
Der Maintainer E-Mails gefunden werden konnte dort .
Bauen Sie es selbst aus den Quellen. Dies kann auf zwei Arten erfolgen:
Erstellen Sie "as is" aus dem Quell-Tarball. Wenn Sie sich für diese Route entscheiden, müssen Sie das Build-System von Git so konfigurieren , dass alles unter
~/git
oder/opt/git
oder so installiert wird. Andernfalls wird später ein großartiger PITA das, was Sie installiert haben, entfernen.Das Problem ist, dass die konventionelle Unix-Art, Software über das gesamte Dateisystem zu installieren, sinnvoll ist, aber nur, wenn Sie eine Art Registrierung haben, die "weiß", welche Datei zu welchem Paket gehört und umgekehrt, und Verpackungssysteme wie Debian genau das tun. Wenn Sie „normal“ zu tun installieren ein Paket aus den Quellen gebaut, Sie in den meisten Fällen keine Möglichkeit haben , dieses Stück Software später zu deinstallieren (kurz verwenden
checkinstall
stattmake install
, aber das ist wirklich ein letztes Mittel ). Umgekehrt, wenn Sie ein Quellpaket so konfigurieren, dass es alles in einem einzigen Verzeichnis installiert, haben Sie kleinere Schwierigkeiten, die Software$PATH
auszuführen (die "binären" Verzeichnisse befinden sich nicht auf Ihrer Seite ). Wenn Sie sie später deinstallieren, ist dies ein Kinderspiel. eine einzelnerm -rf /path/to/that/dir
.Machen Sie selbst einen Backport. Dies ist aufwändiger, aber in einfachen Fällen funktioniert es möglicherweise, also lohnt es sich, es zu versuchen.
Grundsätzlich geht man so vor (ein Link zu der
.dsc
Datei wird von der Seite des Pakets in Unstable genommen ):Überprüfen Sie, ob alle Build-Abhängigkeiten erfüllt sind, indem Sie Folgendes ausführen:
Und installieren Sie alles, was das Tool derzeit vermisst. Manchmal bezieht sich ein Paket auf eine Version von etwas, das zu frisch ist, um in der Distribution, für die Sie einen Backport erstellen, verfügbar zu sein. In diesem Fall ist es in Ordnung, die Version eines solchen Pakets in der
debian/control
Datei zu manipulieren und zu korrigieren .Korrigieren Sie nun die Version der zu erstellenden Pakete. Der beste Weg, dies zu erreichen, besteht darin, ein Tool das Richtige tun zu lassen:
Es wird ein Eintrag zu der
debian/changelog
Datei hinzugefügt und ein Texteditor Ihrer Wahl geöffnet, um sie zu überwachen. Schließen Sie einfach den Editor - die Version für die zu erstellenden Pakete wird aus dem obersten Eintrag in dieser Datei entnommen.Nun wollen wir tatsächlich versuchen zu bauen:
Wenn Sie Glück haben, haben Sie an diesem Punkt eine Reihe von glänzenden neuen Git-
.deb
Paketen..
, die Sie einfach mit installieren könnendpkg -i <packagename> ...
.(Führen
debuild clean
Sie den Befehl aus, um den erstellten Code zu entfernen, oder entfernen Sie dasgit
Verzeichnis vollständig. Möglicherweise möchten Sie auch das entfernen, was Sie nach dem Ausführen installiert habendpkg-checkbuilddep
.)Wenn die Erstellung aus irgendeinem Grund fehlschlägt, sind bestimmte Kenntnisse erforderlich, um eine Fehlerbehebung zu versuchen. Dies ist jedoch nicht Gegenstand dieser Diskussion.
quelle
dget
nicht erforderlich ist? Es geht darum, Ihnen alle Dateien des Quellpakets zur Verfügung zu stellen, damit Sie tatsächlich etwas entpacken, optimieren und erstellen können. Wenn Sie nur die einzelne.dsc
Datei abrufen, reicht dies aus, aber die Quell- und Debianisierungs-Tarballs fehlen.Sie können Git PPA für Ubuntu Precise weiterhin verwenden, indem Sie apt mitteilen, dass es aus der neuesten Quelle erstellt werden soll, die es dort findet. Die Distributionen sind ähnlich genug, dass dies gut funktionieren sollte.
Ich habe es mit Erfolg auf Raspbian (das auf Wheezy basiert) verwendet, um Pakete für armhf zu erhalten, aber es sollte für jede Architektur funktionieren.
Fügen Sie zuerst den GPG-Schlüssel für den PPA hinzu:
Fügen Sie die URL für die Quellpakete zu apt hinzu:
Aktualisiere apt:
Installieren Sie Build-Abhängigkeiten:
Laden Sie Git von der Quelle herunter und erstellen Sie es. Möglicherweise möchten Sie dies ein temporäres Verzeichnis, da der Erstellungsprozess ein wenig cruft erstellt:
Installieren Sie das soeben erstellte Paket und bereinigen Sie es (Git-Core wird nicht mehr benötigt):
quelle
Wenn Sie ein bestimmtes Paket in Debian 7 (Wheezy) aktualisieren möchten, haben Sie die Möglichkeit, Backports zu verwenden, indem Sie einfach die folgenden Zeilen zu Ihrer /etc/apt/sources.list hinzufügen :
Führen Sie dann zum Installieren / Aktualisieren von git die folgenden Befehle aus:
Sie können Backports auch in einer separaten Datei in /etc/apt/sources.list.d/ konfigurieren. Ich bevorzuge besonders die Verwendung einer /etc/apt/sources.list.d/backports.list-Datei .
quelle