¿Cómo instalar paquetes tarball en una distribución basada en Debian?

19

Me gustaría saber cómo instalar los paquetes .tar.bz y .tar.bz2 en Debian, deme una explicación completa.

Zignd
fuente
2
Esos son archivos. Necesitas desempacarlos y ver las instrucciones dentro. Por lo general es ./configure, make, make install, pero estoy seguro de que alguien va a ofrecer una mejor respuesta a que, con enlaces donde se puede aprender estas cosas muy básicas antes de que realmente intenta construir nada
zetah
3
Dependiendo de lo que desee instalar, también necesita instalar el paquete build-essential y los paquetes -dev de las bibliotecas que utiliza el software. Asegúrese de instalar en el prefijo / usr / local / (que normalmente es el predeterminado), de lo contrario, puede dañar su sistema. Para un principiante, le sugiero que se limite a los paquetes disponibles de Debian. El siguiente paso sería buscar software ya empaquetado (paquetes .deb) e instalarlos a mano dpkg -i ./path/to/package.deb. El uso de paquetes .tar. {Gz, bz2} es la última y más difícil opción.
jofel
@jofel Estoy de acuerdo con usted, pero algunos programas no están disponibles en un paquete .deb y solo puede instalarlo desde el código fuente (por ejemplo, Firefox).
Zignd
1
Firefox está definitivamente disponible en los repositorios y rara vez necesita ser construido desde la fuente.
Daemon of Chaos
1
Si desea instalar desde fuentes manualmente, lo más difícil a menudo es instalar las dependencias correctas. Si README o INSTALL no los enumera, puede necesitar ejecutar el script ./configure a mano (para sistemas de compilación basados ​​en autoconf). Si falla con "buscando xyz: No", "xyz no encontrado" o similar, instale el paquete libxyz-dev (en sistemas basados ​​en Debian) e intente nuevamente. Si el paquete no existe, primero debe encontrar el paquete correcto o instalar la biblioteca necesaria a mano. A veces tiene que seleccionar una versión de biblioteca específica.
jofel

Respuestas:

30

En primer lugar, de acuerdo con los Estándares de jerarquía del sistema de archivos , la ubicación de este paquete instalado debe ser /optsi es una instalación binaria y /usr/localsi es una instalación de origen.

Binarios puros

Estos están listos para usar binarios. Normalmente solo necesitan ser extraídos para ser instalados. Un paquete binario será fácil:

  • sudo tar --directory=/opt -xvf <file>.tar.[bz2|gz]
  • agregue el directorio a su ruta: export PATH=$PATH:/opt/[package_name]/bin

y listo

De las fuentes

Un paquete fuente va a ser más problemático (de lejos) y, a pesar de que se puede procesar aproximadamente con el siguiente método, cada paquete es diferente :

  • descargue el paquete a /usr/local/src
  • tar xf <file>.tar.[bz2|gz]
  • cd <package name>
  • lea el READMEarchivo (esto casi con seguridad existe).
  • La mayoría de los proyectos de código abierto usan autoconf / automake, las instrucciones deben estar en el README. Probablemente este paso irá: ./configure && make && make install(ejecute los comandos por separado por cordura si algo sale mal).

Si hay algún problema en la instalación, tendrá que hacer preguntas específicas. Es posible que tenga problemas de versiones incorrectas de bibliotecas o dependencias faltantes. Hay una razón por la que Debian empaqueta todo para usted. Y hay una razón por la que Debian Stable ejecuta paquetes antiguos: es difícil encontrar todos los casos de instalación de paquetes en más de una docena de arquitecturas diferentes e innumerables configuraciones de hardware / sistemas diferentes. Cuando instala algo por su cuenta, ¡puede encontrarse con uno de estos problemas!

dave
fuente
2
¡Hice el comando tar más fácil! No necesita cd / opt. En su lugar, cd donde está el tarball y use el tar -Co la --directoryopción.
Jess
1
Ah y no lo olvides sudo: D
Jess
10

Descomprimir los archivos y, a continuación, en el directorio que se ha creado, busca una READMEo INSTALLarchivo que le dirá lo que necesita saber con el fin de instalar un paquete (por ejemplo, dependencias, opciones de configuración, comandos para ejecutar etc ...).

Por lo general, se reduce a ./configure, makeentonces make install.

Renan
fuente
3
Tenga en cuenta que la compilación probablemente fallará en la configuración. ¿Por qué? Debido a que la fuente que ha descargado probablemente tenga dependencias de tiempo de compilación que no haya instalado. En Debian / Ubuntu, si el paquete también está disponible con apt, puede instalarlos con: sudo apt-get build-dep package-name
anonfunc
7

La forma estándar de hacer esto es:

  1. tar zxvf file.tar.gz o tar xvjpf file.tar.bz2
  2. ejecutar ./configure ( ./configure --helpgeneralmente da opciones de personalización)
  3. correr make
  4. correr make install

Por lo general, también hay un archivo README o INSTALL que brinda instrucciones.

bigdaveyl
fuente
5

En términos generales, cuando instala tar.gz / tgz / tar / bz2 (recuerde, estos son solo archivos de paquetes comprimidos), necesitaría abrir el archivo tar ( tar xvfz/ tar xvfj) y luego cdal directorio y ejecutarlo ./configure.

En algunos sistemas, puede tomar los valores predeterminados (/ usr / local / {lib, bin, etc ...} por ejemplo) como la ubicación de instalación predeterminada, o puede usar / opt / local / {lib, bin, etc}.

Así que lo haría ./configure --prefix=/usr/localy luego make, make install.

Depende de usted dónde desea instalar sus paquetes. Recuerde que donde quiera que decida hacerlo, es posible que desee agregar la ruta a su variable de shell PATH para que pueda ejecutar fácilmente esos paquetes. (a menudo export PATH=$PATH:/opt/local/bin:/usr/local/bin)

Mark Cohen
fuente
2

Permítanme ilustrar esto con un ejemplo, digamos que desean instalar un paquete abc. Las dependencias del paquete abcpueden identificarse leyendo su documentación. Debe resolver las dependencias (bibliotecas necesarias, etc.) antes de la instalación para una experiencia fluida.

Antes de que una gcc 4.7.2acumulación del g++, m4, gawk, gcc-multilib, gmp, mpfr, y mpcdebe ser construido.

Luego viene el edificio desde la parte fuente para el cual el primer paso es siempre la extracción. Esto se puede hacer mediante el tarcomando o por la simple interfaz gráfica de usuario. Una vez que haya extraído los archivos en una carpeta, debe buscar esa carpeta con el cdcomando, por ejemplo, si el contenido está en Descargas, entonces:

$cd Downloads/abc

Ahora necesitas correr ./configure. Especifique el directorio de instalación utilizando la --prefix=opción con configure.

En primer lugar, de acuerdo con los Estándares de jerarquía del sistema de archivos, la ubicación de este paquete instalado debe ser / opt si es una instalación binaria y / usr / local si es una instalación de origen.

así que si está instalando en el /usr/abcdirectorio, proporcionará la opción --prefix=/usr/abccon las ./configureinstrucciones.

$./configure --prefix=/usr/abc

--prefix=Sin embargo, no es lo único que puede querer especificar, es posible que desee proporcionar otra información para una compilación exitosa como el tipo de su sistema --build=x86_64-linux-gnupara 64 bits y --build=i386-linux-gnupara un sistema de 32 bits. Es aconsejable leer el archivo README en los archivos extraídos, ya que puede contener la información sobre qué opciones especificar con el ./configurecomando.

Después de ./configureejecutar el makecomando, y luego el make install. Después de la instalación, debe especificar la ruta de la biblioteca, las variables de shell / entorno utilizando el exportcomando.

export PATH=/usr/abc/bin:$PATH
Balístico
fuente