Instalar algo en Windows requiere un clic de un botón. Pero cada vez que intento instalar algo en Linux, que no se encuentra en APT, me confundo.
Descarga una carpeta comprimida, ¿y luego qué? Si tiene suerte, hay un archivo README, refiérase a alguna documentación que podría serle útil si tiene suerte.
¿Cuál es el truco de magia al "instalar" extensiones y aplicaciones que no se encuentran en APT?
Me encanta Linux, pero este problema me persigue todos los días.
software-installation
directory-structure
Marcus Johansson
fuente
fuente
Respuestas:
Si se trata de un software que obedece al estándar de jerarquía del sistema de archivos que se debe colocar en
/usr/local
y los subdirectorios apropiados (comobin
,lib
,share
, ...).Otro software debe colocarse en su propio directorio bajo
/opt
. Luego, configure suPATH
variable para incluir elbin
directorio o el directorio que contenga los ejecutables, o cree enlaces simbólicos/usr/local/bin
.fuente
No hay una respuesta simple a esta pregunta, pero puedo darle un resumen general de cómo funciona:
La mayoría del software de Linux es proporcionado por los autores (el "upstream") en forma de código fuente. Esto permite a todos los que tienen un compilador para su plataforma particular y configuración del sistema descargar el código fuente y compilarlo ellos mismos. Desafortunadamente para usted, muchos programas dependen de funciones proporcionadas por otros programas y bibliotecas de software (dependencias).
El software de Windows generalmente viene en forma precompilada. Eso significa que hay un archivo ejecutable genérico para todas las computadoras con Windows, y las dependencias a menudo vienen con él en el paquete de instalación.
Las distribuciones de Linux toman el código fuente, lo precompilan por usted y también se lo ofrecen como paquete. El paquete no incluye las dependencias, pero se refiere a ellas y obliga al sistema del paquete a instalarlas también (lo que a veces puede conducir a problemas que probablemente ya haya experimentado).
Si no hay un paquete precompilado, siempre puede descargar el código fuente y compilarlo usted mismo. La mayoría de las veces, lo siguiente funcionará:
La línea ./configure establece el escenario para el proceso de compilación (y escupe errores si no se cumplen las dependencias). La línea make ejecutará el Makefile, un script que compila todas las partes del programa.
Tradicionalmente, usaría make install para luego instalar el software. Esto generalmente coloca los ejecutables en / usr / local / bin.
Como estás usando apt, te recomiendo que compruebes checkinstall. Puede usarlo en lugar de make install, y generará un paquete .deb para usted. Esto hace que sea mucho más fácil eliminar limpiamente el software más adelante.
Tenga en cuenta que hay un puñado de otros sistemas de compilación, por ejemplo cmake; y algún software viene precompilado pero sin empaquetar (en cuyo caso puede iniciarlo directamente desde la carpeta descomprimida); y algunos programas vienen como una colección de scripts que debes ejecutar tú mismo. El código nuevo de SVN a veces viene sin scripts de configuración, por lo que primero debe ejecutar la cadena de herramientas de autoconf ... etc, etc ... ve que hay muchas excepciones a la regla, pero con un poco de experiencia podrá diga qué hacer con la mayoría de esas descargas misteriosas. Configure-Make-Checkinstall es un buen primer comienzo.
PD. Pase un fin de semana o dos para aprender a programarse, y las cosas se volverán muy obvias :-)
PPS Quizás se pregunte por qué los autores de software de Linux no solo proporcionan paquetes precompilados en lugar del código fuente. Bueno, a veces lo hacen. Pero las diferentes plataformas y distribuciones de Linux tienen sus propios formatos de paquete y reglas de sistema de archivos, por lo que como desarrollador tendría que proporcionar paquetes para cada configuración posible, lo cual es una molestia. Sin embargo, los paquetes de Ubuntu son a menudo los más fáciles de encontrar: ¡debe averiguar qué es un PPA y cómo funciona!
fuente
Deberías revisar checkinstall . En lugar de
tú lo haces
y podrá administrar ese paquete como si lo hubiera instalado a través de apt.
fuente
Hay una razón válida y sensata que es tan confusa (también hay una razón molesta para los artefactos) ...
Unix tiene un historial de ser multiusuario y la mayoría de los usuarios no tenían acceso para instalar aplicaciones fuera de las áreas a las que se les había otorgado acceso específico.
Entonces, la teoría sería que construiría algo en su directorio de inicio y luego lo copiaría en un área sobre la que tenía control (su propia área de proyecto o un área compartida).
Las PC con Windows generalmente son sistemas de un solo usuario y no tienen esta restricción, todo va en Archivos de programa sin importar qué.
Luego está el hecho estúpido y molesto de que cada vez que salía una nueva versión de Unix, los creadores sentían que era necesario cambiar de ubicación, pero los antiguos aún tenían que estar allí para los scripts automatizados. Esto le brinda un montón de directorios vinculados que tienen el mismo propósito.
El sistema init es aún peor.
fuente