Instalar git en el servidor sin sudo

Estoy tratando de instalar git en un servidor con un usuario que no tiene acceso root. He visto un montón de tutoriales que sugieren el uso de ./configure , pero cuando he descargado el último git zip de github, no había tal archivo. Aparentemente debería funcionar con make y make install , pero cuando ejecuto make , obtengo errores:

 In file included from credential-store.c:1: cache.h:21: error: expected specifier-qualifier-list before 'z_stream' make: *** [credential-store.o] Error 1 

Al parecer esto tiene que ver con zlib no se está instalando. Puedo descargar zlib , pero no tengo idea de cómo obtener git para saber dónde lo he instalado. También puede haber otras dependencias, pero probablemente pueda manejarlas de manera similar.

También me gustaría tener el ejecutable git solo en /home/user/bin sin otras carpetas o mierda allí. ¿Hay alguna manera que puedo descargar el ejecutable compilado? Porque eso también estaría bien.

Aunque actualmente no tengo tiempo para proporcionar una respuesta super detallada, puedo describir una posible estrategia para ejecutar ejecutables desde un paquete git pre-construido en su directorio personal. Esta respuesta está dirigida a Debian, ya que eso es lo que dijiste que estás usando, pero el concepto básico es aplicable a otros sistemas operativos y distros también.

Primero, vaya a http://packages.debian.org/squeeze/git y revise las dependencias del paquete git . Afortunadamente, usted encontrará que git no tiene que muchos. La mayoría de los más importantes probablemente ya están instalados, quizás con la excepción de libcurl3-gnutls y libexpat1 .

A continuación, descargue el paquete binario .deb y extraiga su contenido (busque en la Web para averiguar cómo extraer un paquete .deb manualmente). Encontrará un archivo data.tar.gz Extraiga eso y obtendrá los archivos usr/bin/git* y usr/lib/git-core/* . Puede colocar estos archivos en algún lugar de su directorio personal. Ahora la parte crítica: /usr/bin/git llama a numerosos programas "helper" bajo /usr/lib/git-core , y esta última ruta es hardcoded en /usr/bin/git . Por suerte, puede reemplazar el valor de GIT_EXEC_PATH estableciendo la variable de entorno GIT_EXEC_PATH , así que actualice sus archivos de punto para apuntar a donde decidió guardar los distintos archivos /usr/lib/git-core .

Por último, es posible que no todas las dependencias de la biblioteca (y sus dependencias, etc, etc) se instalaron en su sistema (por ejemplo, libcurl3-gnutls , libexpat1 ). También puede descargar los paquetes binarios para éstos y extraerlos en su directorio de inicio y, a continuación, ayudar a git encontrarlos configurando la LD_LIBRARY_PATH entorno LD_LIBRARY_PATH apropiadamente.

PS He tenido probablemente más que mi parte justa de estar en su posición, así que lo que he esbozado arriba es más que teórico. Pero trabajar en torno a este tipo de problema es un poco de un arte negro, por lo que normalmente habrá un poco más de molestia alrededor. Buena suerte.

Tienes mucho trabajo por delante. Usted necesita asegurarse de que su wget o curl están disponibles para usted, ya que necesitará uno o el otro de ellos para obtener los tarballs que necesita si los paquetes adecuados no están instalados.

Crear un

/home/youruser/src directorio de /home/youruser/src ( mkdir -p /home/youruser/src ).

Cd en el directorio src y obtener el código fuente de git

wget http://git-core.googlecode.com/files/git-1.7.11.2.tar.gz

Desábalo y hazlo

./configure --help

Esto le mostrará todos los paquetes necesarios que necesitará, como expat, openssl, etc. Tendrá que cargarlos todos, construirlos e instalarlos en /home/youruser Cuando haya terminado tendrá /home/youruser/bin Junto con varios directorios necesarios .

Por favor, lea el archivo INSTALL en el directorio sin ataduras y publique su progreso.

    Intereting Posts