Cada vez que leo los consejos para instalar un SDK, IDE, alguna extensión, etc., dice que debería descomprimirlos en la /opt
carpeta. ¿Por qué necesito hacer eso?
Cuando estaba instalando Ubuntu, leí que debería configurar solo 10-20 GiB para el /
sistema de archivos y el espacio restante establecido para /home
. Entonces, ¿debo extender el espacio para la carpeta raíz o dejar todo en /home
? ¿Hay alguna diferencia?
filesystem
disk-usage
Praytic
fuente
fuente
Respuestas:
Primero, comprenda que cualquier directorio que no sea explícitamente un punto de montaje para una partición separada (o un subdirectorio de dicho punto de montaje) se almacena en la
/
partición root ( ). Por lo tanto, si tiene root (/
) y/home
, y ninguna otra partición, su/opt
directorio es simplemente un directorio en root (/
). Del mismo modo para/tmp
,/sbin
y cualquier otra cosa. Por lo tanto, la pregunta inicial se basa en la premisa falsa de que necesita particiones separadas para cada directorio que sale de root (/
), por lo que no se puede responder directamente.En segundo lugar,
/opt
se utiliza para software de terceros, que en el contexto de Ubuntu, significa software precompilado que no se distribuye a través de paquetes Debian. Ocasionalmente verá la documentación oficial del programa que hace referencia/opt
, pero hay paquetes de Debian disponibles que eliminan estos archivos en otro lugar. En tales casos, debe ignorar la documentación oficial, o al menos ignorar sus referencias de ubicación de archivos, cuando utiliza el paquete Debian. Además, si tiene la opción de usar un paquete precompilado a través de un paquete tar o un paquete Debian, generalmente es mejor usar el paquete Debian. En general, el uso de/opt
es bastante raro en estos días. Si todavía cree que necesita colocar archivos/opt
, puede hacer bien en nombrar el software, ya que la gente aquí puede saber si hay un paquete de Debian disponible para ese software.Finalmente, combinando los dos puntos anteriores, es muy raro que las instalaciones de Ubuntu se dividan
/opt
en una partición separada porque es raro que grandes cantidades de datos se almacenen allí. La mayoría del software de Ubuntu entra/usr
y otras ubicaciones. Alguna vez fue común dividirse/usr
en una partición separada, pero esa práctica es bastante rara hoy en día. Si necesita instalar una gran cantidad de software/opt
, entonces crear una partición separada para él podríatiene sentido, pero en muchos casos esto realmente no será útil. Las particiones separadas tienen sentido si necesita manejar la seguridad de manera diferente, si diferentes características del sistema de archivos serán útiles, para compartir datos a través de múltiples instalaciones del sistema operativo en una configuración de arranque múltiple, y por otras razones. Es probable que la instalación de software de rutina no se beneficie de una partición separada; de hecho, la creación de una partición separada/opt
podría causar problemas si el tamaño consumido por el software almacenado allí cambia, o si obtiene una estimación del tamaño incorrecta inicialmente.fuente
¿Vos si?
El hecho es que no necesitas hacerlo. Usar
/opt
es una convención. Recomendaría usarlo, pero no es estrictamente necesario.De la jerarquía del sistema de archivos de Linux: Capítulo 1. Jerarquía del sistema de archivos de Linux :
fuente
/opt
, a menudo era un disco separado. Se usaría para instalar software propietario, que a menudo tenía enormes requisitos de espacio en disco debido a la agrupación de todas las bibliotecas requeridas y otros recursos. En los tiempos modernos, las unidades son tan grandes que es factible y más fácil usar una sola raíz en una sola unidad./opt
se usa para aplicaciones externas (a veces propietarias) que no se consideran parte de la distribución de Linux. Estas aplicaciones pueden tener rutas codificadas y, por lo tanto, solo se ejecutarán correctamente cuando se instalen/opt
, pero si no hay rutas codificadas, entonces podría instalarlas en cualquier ruta. Se supone que un programa instalado/opt
está autocontenido.La razón principal para usar
/opt
es proporcionar una ruta estándar común donde se pueda instalar software externo sin interferir con el resto del sistema instalado./opt
no aparece en el compilador estándar o en las rutas de enlace (gcc -print-search-dirs
o/etc/ld.so.conf
etc.), por lo que los encabezados y bibliotecas instalados allí están algo aislados del sistema principal y no deberían interferir con los programas ya instalados.El uso de
/opt
está especificado por el Estándar de jerarquía del sistema de archivos : / opt , que señala que/opt
originalmente provino de Unix.fuente
No tiene nada de sagrado
/opt
, es una práctica común colocar software precompilado que debería ser accesible para todos los usuarios de un sistema en este directorio. Si usted es el único usuario del sistema, no hay nada de malo en extraerlo en su directorio de inicio. E incluso si hay varios usuarios en el sistema que necesitan acceso a este software pero desea utilizar el espacio en su/home
partición, no hay nada de malo en crear un/home/softwarename
directorio de acceso público y extraer su software allí (la única advertencia es si sucede tener un usuario nombradosoftwarename
, no podrá usarlo en el directorio de inicio del usuario).fuente
Las respuestas detalladas son muy buenas, pero (aparte del software que puede tener rutas absolutas codificadas, no es la mejor práctica de programación), el punto principal es que el software que no es de sistema / no distribución no debe almacenarse mezclado con el archivos regulares del sistema.
Poner cosas
/opt
o/usr/local
mantenerlas limpias y más seguras.En particular, su ruta de búsqueda de software ($ PATH) determina el orden en el que se buscan las ubicaciones cuando busca un programa con un nombre particular para ejecutar. Por lo general, los lugares como
/opt
y/usr/local
están al final de la lista.Si instala un paquete que tiene un programa nombrado
cp
, el orden de búsqueda predeterminado que viene con su distribución encontrará el normal porque el directorio en el que se almacena se busca antes de lugares como/opt
.Si no funcionó de esa manera, quién sabe qué podría romper o abrir un agujero de seguridad si un programa llamado
cp
que hace algo más se ejecuta cuando cree que solo está tratando de copiar algunos archivos.Si sucede algo como esto, puede pasar un tiempo antes de que alguien piense en ejecutar un comando como
type cp
(que podría no ser suficiente para mostrar que algo está mal) para descubrir que lo que se está ejecutando no es lo que usted piensa que es. Hasta ese momento, estás estancado en "¡Todo es exactamente como debería ser, aparte del pequeño detalle de que no funciona!"Básicamente, ayuda a evitar que sucedan cosas inesperadas y también evita situaciones en las que las actualizaciones del sistema pueden eliminar o reemplazar algunos o todos sus paquetes instalados "personalizados". O, al revés, algunos programas "personalizados" pueden sobrescribir los programas suministrados por el sistema en los que pueden confiar muchos otros programas o scripts.
Desde un punto de vista administrativo, la combinación de programas / archivos "sistema" y "opcionales" en las mismas ubicaciones coloca su sistema en un estado "indefinido" o al menos "ambiguo".
Si tiene un problema con su sistema o programa y necesita ayuda, una de las primeras preguntas que se le hace es "¿Qué cambió?" y "¿Podemos desactivar temporalmente algunos de todos esos cambios para saber que estamos viendo el problema real y no solo un síntoma de otra cosa".
Con ubicaciones separadas, estos cambios se pueden identificar rápidamente y todo lo que tiene que hacer (al menos para los propios programas) es eliminar temporalmente sus directorios de la ruta.
fuente