J'ai installé git via apt-get sur debian 7 qui me donne:
# git --version
git version 1.7.10.4
Je voudrais passer à la version la plus récente de git. J'ai essayé:
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git
Mais cela donne les erreurs suivantes:
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
J'ai également essayé de suivre ce guide:
http://backports.debian.org/Instructions/
mais je ne peux toujours pas obtenir le dernier git, des suggestions?
Réponses:
Mise à jour 2016-07-27: un wheezy-backports est maintenant disponible pour Git 1.9.1. Des instructions s'appliquent toujours pour installer une version plus récente ou pour Jessie.
Lorsqu'une version plus récente d'un package de rétroportage n'est pas disponible, vous avez deux options:
Demandez aux responsables du package de préparer un backport. Il n'est pas garanti de fonctionner, mais certains responsables sont positifs quant à la création de rétroportages, alors j'essaierais simplement.
Les e-mails des responsables se trouvent là .
Construisez-le vous-même à partir des sources. Cela pourrait se faire de deux manières:
Construisez "tel quel" à partir de l'archive tar source. Si vous choisissez cette route, assurez-vous de configurer le système de construction de Git pour installer tout sous
~/git
ou/opt/git
ou quelque chose comme ça sinon plus tard, vous aurez un excellent PITA supprimant ce que vous avez installé.Le problème est que la manière conventionnelle Unix d'installer un logiciel en le répartissant sur l'ensemble du système de fichiers est raisonnable, mais uniquement lorsque vous avez une sorte de registre qui "sait" quel fichier appartient à quel paquet et vice-versa, et des systèmes de conditionnement tels que Debian. faites exactement cela. Si vous effectuez une installation "normale" d'un package construit à partir des sources, dans la plupart des cas, vous n'aurez aucun moyen de désinstaller ce logiciel plus tard (à court d'utiliser à la
checkinstall
place demake install
, mais c'est vraiment un dernier recours). Inversement, si vous configurez un package source pour tout installer sous un seul répertoire, vous aurez des difficultés mineures à exécuter le logiciel (ses répertoires "binaires" ne seront pas sur votre$PATH
), en échange de le désinstaller plus tard sera une évidence - un seulrm -rf /path/to/that/dir
.Rétroportez-vous. C'est plus compliqué, mais dans des cas simples, cela pourrait bien fonctionner, alors l'OMI vaut la peine d'essayer.
Fondamentalement, vous allez comme ça (un lien vers le
.dsc
fichier est tiré de la page du package dans unstable ):Vérifiez si toutes les dépendances de génération sont satisfaites en exécutant:
Et installez tout ce que l'outil dit manque actuellement. Parfois, un package peut faire référence à une version de quelque chose de trop récent pour être disponible dans la distribution vers laquelle vous rétroportez; dans ce cas, il est normal d'essayer de tricher et de corriger la version d'un tel package dans le
debian/control
fichier.Maintenant, corrigez la version des paquets sur le point d'être construits. La meilleure façon d'y parvenir est d'avoir un outil qui fasse ce qu'il faut:
Il ajoutera une entrée au
debian/changelog
fichier et ouvrira votre éditeur de texte de choix pour le superviser. Fermez simplement l'éditeur - la version des packages à construire est tirée de l'entrée supérieure de ce fichier.Essayons maintenant de construire:
Si vous êtes chanceux, à ce stade, vous aurez un tas de nouveaux
.deb
packages Git brillants..
, que vous pouvez simplement installer en utilisantdpkg -i <packagename> ...
.(Exécutez
debuild clean
pour vous débarrasser du crud intégré ou supprimez simplement legit
répertoire complètement. Vous pouvez également supprimer tout ce que vous avez installé après l'exécutiondpkg-checkbuilddep
.)Malheureusement, si la construction échoue pour une raison quelconque, il faut certaines connaissances pour tenter de corriger, mais cela est hors de portée de cette discussion.
la source
dget
n'est pas nécessaire? Son but est de vous apporter tous les fichiers constituant le paquet source afin que vous ayez réellement quelque chose à décompresser, à modifier et à construire. Récupérer uniquement le.dsc
fichier unique fera exactement cela, mais les tarballs source et de debianisation seront manquants.Vous pouvez toujours utiliser Git PPA pour Ubuntu Precise en disant à apt de construire à partir de la dernière source qu'il y trouve. Les distributions sont suffisamment similaires pour que cela fonctionne très bien.
Je l'ai utilisé avec succès sur Raspbian (qui est basé sur Wheezy) pour obtenir des packages pour armhf, mais cela devrait fonctionner pour n'importe quelle architecture.
Ajoutez d'abord la clé GPG pour le PPA:
Ajoutez l'URL des packages source à apt:
Mettre à jour apt:
Installez les dépendances de build:
Téléchargez et compilez git depuis la source. Vous voudrez peut-être faire ceci est un répertoire temporaire, car le processus de construction crée un peu de cruauté:
Installez le package que vous venez de construire et nettoyez (git-core n'est plus nécessaire):
la source
Si vous souhaitez mettre à niveau un paquet spécifique dans Debian 7 (Wheezy), vous avez la possibilité d'utiliser des rétroportages en ajoutant simplement à votre /etc/apt/sources.list les lignes suivantes:
Ensuite, pour installer / mettre à niveau git , exécutez les commandes:
Vous pouvez également configurer les rétroportages dans un fichier séparé dans /etc/apt/sources.list.d/. Je préfère particulièrement utiliser un fichier /etc/apt/sources.list.d/backports.list .
la source