Soy totalmente nuevo en Ubuntu / Linux, usando Ubuntu Server en este momento. Solo trato de descubrir 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: \ Archivos de programa. ¿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, ¿cuál es el lugar adecuado para esto en términos de mejores prácticas? En otras palabras, ¿cuál es el equivalente de Linux de C: \ Archivos de programa?
¿Y cómo se instala siempre en esta ubicación, es solo una cuestión 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 indicarle a apt-get que siempre se instale allí?
fuente
make uninstall
NO es una característica estándar y no se encuentra en muchas fuentes de programas. Además, a/usr/local
menudo no se encuentra en la ruta en Ubuntu y puede causar problemas al intentar ejecutar programas o al compilar (debido a que incluye/usr/local
).Por lo general, los programas se instalan en un par de directorios en un directorio superior , llamado prefijo . El directorio principal que se utilizará dependerá de quién esté instalando, para qué bruja y quién administrará el software.
El prefijo
/usr
es un software usado empaquetado por su distribución. Usted debe no instalar ningún otro software allí, ya que se confunda la distribución al instalar y actualizar software embalado por la distribución. Por lo tanto , no instale su propio software compilado allí. Esa no es una buena idea, a menos que realmente sepas lo que haces. Y a menos que sea un desarrollador de Debian o Ubunut, generalmente no lo hace. No haría eso de todos modos.Para el software comercial,
/opt
se usa el prefijo . Está reservado para que interfieran menos con las distribuciones y el administrador del sistema local.Para el software que el administrador del sistema instala para todos los usuarios,
/usr/local
se utiliza el prefijo . Está fuera del camino de la instalación comercial o de distribución y no interferirá con ellos. Entonces, como administrador del sistema, usted usa eso (si tiene privilegios de root, es administrador del sistema).Si usted es un usuario común que instala software para usted, puede usar su directorio de inicio como prefijo, utilizando la
--prefix
opciónconfigure
con el directorio de prefijo "~/
" o$HOME/
. Lo usaba mucho cuando era estudiante. :-)Por lo general, el software hace lo correcto cuando ejecuta
configure
con la opción--prefix
con el valor correcto y luegomake; make install
.Bajo cualquiera de estos prefijos, generalmente encuentra estos directorios en una instalación estándar.
bin
- los programas ejecutables, binarios.sbin
- binarios del sistema, que generalmente no deberían ser ejecutados por usuarios comunes.man
- páginas de manual para programas, bibliotecas y archivos de configuración, etc.etc
- archivos de configuración con valores predeterminados para el software.lib
- bibliotecas de programas y archivos de datos que dependen de la arquitectura (como la CPU) en su computadora.share
- archivos de datos que no son diferentes en diferentes arquitecturas y que pueden compartirse entre diferentes computadoras.var
- directorios con datos que cambian durante la ejecución del programa. Al igual que los archivos de registro, etc.La mayoría de esos directorios se pueden usar con sistemas de archivos protegidos contra escritura para aumentar la seguridad. El único en el que los usuarios necesitan escribir es en el
var/
directorio. Cuando el software se actualiza, estos directorios obviamente (?) Necesitan tener privilegios de escritura. Eso se puede hacer con un remontaje con privilegios de escritura durante la instalación y luego remontar con lectura solo después de la instalación. Pero esto es avanzado, y solo lo doy como un ejemplo de gestión avanzada de paquetes.Hay también algunos directorios directamente bajo
/
(el directorio raíz) que no existe en ningún otro prefijo, como/dev
,/tmp
,/proc
y/srv
(para los directorios de datos de servidor, pero son por lo general bajo/var/lib
o/var/www
y directorios así, por lo que necesita para cambiar la configuración de use este directorio. Le recomiendo que lo haga cuando esté ejecutando un servidor. Solo use/var/
para probar una instalación estándar)./usr
como Debian / Ubuntu usa/usr/local
. Aprende tu distribución.--prefix
son útiles para los programas que usanconfigure
. La mejor manera de saberlo es probablemente leer elREADME.txt
archivo o algo así, que probablemente se le proporciona en el archivo tar. El archivo tar se puede extraer en cualquier lugar, como su directorio de inicio. Una vez finalizados los pasos de instalación, puede eliminar el archivo tar extraído, si tiene poco almacenamiento. Pero no lo haga tan pronto, a menos que haya probado su instalación correctamente.apt-get
oaptitude
siempre se instalan en el lugar adecuado para la distribución. No puedes cambiar ese lugar.fuente
Cuando instala programas desde un repositorio utilizando la instalación normal, se instalará en el lugar correcto, creará archivos de configuración en el lugar correcto (funcionalmente similar al registro de Windows) y creará entradas de menú automáticamente.
Cuando descarga un archivo (no preferido, pero a menudo necesario cuando la aplicación no está en un repositorio), lo primero que hizo fue ejecutar tar, equivalente a descomprimir en Windows. Esto crea los archivos que probablemente veas.
Luego, cuando ejecute make install, eso generalmente colocará los resultados en el lugar correcto, tal vez cree menús, pero no borrará los archivos no alquilados. Lo más probable es que pueda hacer eso, pero es posible que desee guardarlos temporalmente por si acaso.
Aquí hay un artículo interesante sobre la estructura de directorios de Debian .
fuente