Soy totalmente nuevo en Ubuntu/Linux, usando Ubuntu Server en este momento. Solo trato de averiguar algo básico.
¿Cómo puede saber dónde está instalando un programa? Por ejemplo, acabo de instalar el motor de búsqueda Sphinx colocando el tarball que descargué de su sitio en mi:
/home/sphinx
directorio. Creé el directorio sphinx para colocar ese tarball. Luego ejecuté estos comandos:
tar xvzf sphinx-0.9.8.1.tar.gz
cd sphinx-0.9.8.1/
./configure --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib/mysql
y luego estos:
make
sudo make install
Ahora tengo muchos archivos en el directorio donde ejecuté estos comandos. ¿Es esta mi instalación de Spynx o se instaló en otro lugar?
En Windows, si ejecuta un instalador (archivo .exe) en cualquier lugar, el programa aún se instalará en su directorio C:\Program Files. ¿Se aplica algo similar a Linux donde todos los programas están instalados en un lugar central, o puede instalar programas en cualquier parte del sistema?
Preguntas
-
Preferiría mantener todos mis programas instalados en un solo lugar, entonces
¿cuál es el lugar correcto para esto en términos de mejores prácticas? En
otras palabras, ¿cuál es el equivalente en Linux de C:\Program Files? -
¿Y cómo se instala siempre en esta ubicación? ¿Se trata simplemente de colocar el tarball y ejecutar los comandos de instalación desde esta ubicación?
-
¿Qué pasa si uso sudo apt-get para instalar un paquete? ¿Cómo puedo señalar esta ubicación para decirle a apt-get que siempre se instale allí?
Mejor respuesta
¿Se aplica algo similar a Linux donde todos los programas están instalados en un lugar central?
Aproximado equivalentes de los directorios de instalación de Windows en Linux
\Windows
=/bin
\Windows\System32
=/lib
y/sbin
\Program Files
=/usr/bin
y/usr/lib
Preferiría mantener todos mis programas instalados en un solo lugar, entonces, ¿cuál es el lugar correcto para esto en términos de mejores prácticas? En otras palabras, ¿cuál es el equivalente en Linux de C:\Program Files?
Esos serían los directorios bajo /usr
, específicamente /usr/bin
y /usr/lib
.
¿Y cómo se instala siempre en esta ubicación? ¿Se trata simplemente de colocar el tarball y ejecutar los comandos de instalación desde esta ubicación?
-
No. Dónde se encuentra cuando ejecuta los comandos de instalación casi nunca importa.
-
Programas que instala a través de
apt-get
(oaptitude
) casi siempre terminará apropiadamente en/usr
. PERO programas que compilas desde la fuente ymake install
terminará más a menudo en/usr/local/bin
,/usr/local/lib
, etc., y es posible que tenga problemas con eso, ya que la ruta instalada por el usuario en Debian/Ubuntu es/usr
y no/usr/local
. -
Al compilar desde la fuente, agregue este modificador para configurar:
./configure --prefix=/usr
. De esta manera cuandomake install
los archivos terminarán en el directorio correcto -
También mire en el
checkinstall
programa, que realiza un seguimiento de los archivos que instala un paquete compilado desde la fuente, crea un archivo deb y permite una fácil desinstalación/reinstalación.
¿Qué pasa si uso sudo apt-get para instalar un paquete? ¿Cómo puedo señalar esta ubicación para decirle a apt-get que siempre se instale allí?
apt-get
/dpkg
encargarse de esto automáticamente. Puede usar dpkg -L name-of-package
para ver todos los archivos instalados por un paquete y dónde fueron instalados.