He instalado git a través de apt-get en debian 7 que me da:
# git --version
git version 1.7.10.4
Me gustaría pasar a la última versión de git. Yo he tratado:
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git
Pero eso da los siguientes errores:
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
También he tratado de seguir esta guía:
http://backports.debian.org/Instructions/
pero todavía no puedo obtener el último git, ¿alguna sugerencia?
Respuestas:
Actualizado 2016-07-27: un wheezy-backports ahora está disponible para Git 1.9.1. Las instrucciones aún se aplican para instalar una versión más reciente o para Jessie.
Cuando una versión más nueva de un paquete de backport no está disponible, tiene dos opciones:
Pídale a los encargados de los paquetes que preparen un backport No se garantiza que funcione, pero algunos mantenedores son positivos acerca de hacer backports, así que solo lo intentaré.
Los correos electrónicos de los mantenedores se podían encontrar allí .
Constrúyalo usted mismo a partir de las fuentes. Esto podría hacerse de dos maneras:
Construir "tal cual" a partir del tarball fuente. En caso de elegir esta ruta, asegúrese de configurar el sistema de construcción de Git para instalar todo lo bajo
~/git
o/opt/git
o algo como esto lo contrario temprano tendrá un gran PITA eliminar lo ha instalado.El problema es que la forma convencional de Unix de instalar software extendiéndolo por todo el sistema de archivos es sensible, pero solo cuando tiene algún tipo de registro que "sabe" qué archivo pertenece a qué paquete y viceversa, y sistemas de empaque como Debian's haz exactamente esto. Si realiza la instalación "normal" de un paquete creado a partir de las fuentes, en la mayoría de los casos no tendrá forma de desinstalar este software más adelante (sin usarlo en
checkinstall
lugar de hacerlomake install
, pero este es realmente un último recurso). Por el contrario, si configura un paquete fuente para instalar todo en un solo directorio, tendrá dificultades menores para ejecutar el software (sus directorios "binarios" no estarán en su$PATH
), a cambio, desinstalarlo más tarde será obvio: una solarm -rf /path/to/that/dir
.Haz backport a ti mismo. Esto es más complicado, pero en casos simples podría funcionar, así que vale la pena probarlo.
Básicamente vas así (
.dsc
se toma un enlace al archivo desde el página del paquete en inestable ):Compruebe si tiene todas las dependencias de compilación satisfechas ejecutando:
E instale todo lo que dice la herramienta que falta actualmente. A veces, un paquete puede referirse a una versión de algo demasiado nuevo para estar disponible en la distribución a la que está realizando el backport; en este caso, está bien intentar engañar y corregir la versión de dicho paquete en el
debian/control
archivo.Ahora arregle la versión de los paquetes que están por construirse. La mejor manera de lograr esto es hacer que una herramienta haga lo correcto:
Agregará una entrada a la
debian/changelog
archivo y abrirá el editor de texto de su elección para supervisarlo. Simplemente cierre el editor: la versión de los paquetes que se crearán se toma de la entrada superior de este archivo.Ahora intentemos construir:
Si tienes suerte, en este punto tendrás un montón de nuevos
.deb
paquetes Git brillantes..
, que puedes instalar usandodpkg -i <packagename> ...
.(Ejecutar
debuild clean
para deshacerse de la basura construida o simplemente eliminar elgit
directorio por completo. También es posible que desee eliminar lo que instaló después de ejecutardpkg-checkbuilddep
).Desafortunadamente, si la construcción falla por alguna razón, se necesita cierto conocimiento para intentar solucionarlo, pero esto está fuera del alcance de esta discusión.
fuente
dget
no es necesario? Su objetivo es brindarle todos los archivos que constituyen el paquete fuente para que realmente tenga algo que desempaquetar, ajustar y compilar. Obtener solo el.dsc
archivo único hará justamente eso, pero faltarán los tarballs de origen y de debianización.Todavía puede usar el Git PPA para Ubuntu Precise si le dice a apt que construya desde la última fuente que encuentre allí. Las distribuciones son lo suficientemente similares como para que esto funcione bien.
Lo utilicé con éxito en Raspbian (que se basa en wheezy) para obtener paquetes para armhf, pero debería funcionar para cualquier arquitectura.
Primero agregue la clave GPG para el PPA:
Agregue la URL de los paquetes fuente a apt:
Actualizar apto:
Instalar dependencias de compilación:
Descarga y crea git desde la fuente. Es posible que desee hacer esto es un directorio temporal, ya que el proceso de creación crea un poco de cruft:
Instale el paquete que acaba de construir y limpie (git-core ya no es necesario):
fuente
Si desea actualizar un paquete específico en Debian 7 (Wheezy), tiene la opción de usar backports simplemente agregando a su /etc/apt/sources.list las siguientes líneas:
Luego, para instalar / actualizar git , ejecute los comandos:
También puede configurar backports en un archivo separado en /etc/apt/sources.list.d/. Particularmente prefiero usar un archivo /etc/apt/sources.list.d/backports.list .
fuente