¿Cómo se organizan los archivos y aplicaciones de Linux?

4

Soy un usuario novato de Linux (Ubuntu) y me gustaría saber si alguien puede dar algunos consejos sobre dónde instalar cosas, qué carpetas no tocan, cuál es el significado de cada carpeta, etc.

Mi primera preocupación es, ¿debería ir todo a mi carpeta de inicio? He instalado Komodo Edit "manualmente" (es un IDE) y se ha ido a mi carpeta de inicio, realmente no me gusta la idea de tener una aplicación allí. (en Windows solía tener mis archivos de trabajo / imágenes / descargas ... partición y luego la partición del sistema operativo con todas las aplicaciones).

Entonces, ¿hay algún lugar donde pueda instalar este software? ¿Algún consejo para pedir mi carpeta de inicio? ¿Quizás debería crear una carpeta de aplicaciones en mi directorio de inicio?

Gracias por adelantado. :)

pd: la mayoría de las veces uso apt para instalar cosas, pero no siempre encuentro el software que quiero allí ...

abrochar
fuente
He visto que existen básicamente tres formas de instalar software. Primero, paquetes (el mejor), luego tarballs autocontenidos (simplemente descomprimir y ejecutar), y finalmente las cosas de "hacer instalar". He creado una carpeta de aplicaciones para los tarballs y para las aplicaciones "make install" que estoy usando "checkinstall" que crea un paquete para que luego sea más fácil desinstalar estas aplicaciones. De todos modos, gracias por las respuestas. :)
doup
Por defecto, el único lugar donde un usuario puede escribir es en su directorio de inicio. Si hay un paquete disponible para su distribución, úselo a menos que tenga una buena razón para no hacerlo. Si debe instalar algo manualmente, la mayoría de la gente lo coloca en / opt / packagename o / usr / local /
packagename

Respuestas:

4

/home/<yourlogin>es su equivalente efectivo de 'Mis documentos' a Windows. Tu escritorio está ahí, tus fotos, etc.

Por lo general, descarga cosas allí y compila / ejecuta rpms desde esa ubicación que luego solicita acceso de superusuario (elevación) e instalará sus aplicaciones en lugares como:

/usr/bin /usr/lib etc ...

  • /binContiene comandos globales del sistema operativo, al igual que PATHen Windows
  • /sbin Contiene comandos globales del sistema operativo para superusuarios (requiere elevación)
  • /usr/bin Contiene aplicaciones
  • /usr/sbin Contiene aplicaciones que requieren elevación
  • /devContiene dispositivos (por ejemplo: /dev/sda0es Scsi Drive A, partición 0, /dev/floppyes su disquetera, etc.
  • /etc es donde está la configuración de su sistema, generalmente en archivos .conf

Esa es una cartilla básica, supongo.

Además, el prefijo de una carpeta .lo hará 'oculto', es decir: /home/aren/.sshaún puede ir a él, pero debe usarlo ls -apara que aparezca en la lista cuando busque.

Aren B
fuente
2
El sistema de archivos se llama POSIX. Hay muchas documentaciones que describen eso. Aparte de eso. Por lo general, instala software en 3 sabores. 1) .deb con APT / dpkg 2) fuente (./configure, make, make install) 3) descomprímalo. Komodo es muy probablemente el tercero. Por lo general, cuando instala un software, debe usar los siguientes comandos. ./configure --prefix = / usr && make && sudo make install. || SIN EMBARGO. NO es recomendable. Simplemente debe usar los PPA: launchpad.net/ubuntu/+ppas (haga clic en uno para obtener más información. En pocas palabras, software fresco / otro)
Shiki
(Más información: PPA es Personal Package Archive en resumen. Es como tener un pequeño espacio (~ 1 gb) donde puede cargar su paquete fuente, y los servidores crearán .debs a partir de él. ¿Cuál es el punto? Puede hacer paquetes .deb con facilidad, distribúyalos, etc. Además, es muy sencillo agregar tal PPA a su Ubuntu. Simplemente haga clic en uno y use el texto azul "Más información sobre la instalación ...".
Shiki
4

Wikipedia tiene un gran artículo sobre esto . Una cita de la parte más útil de ese artículo:

En el FHS, todos los archivos y directorios aparecen bajo el directorio raíz "/", incluso si están almacenados en diferentes dispositivos físicos. Sin embargo, tenga en cuenta que algunos de estos directorios pueden o no estar presentes en un sistema Unix dependiendo de si ciertos subsistemas, como el sistema X Window, están instalados.

La mayoría de estos directorios existen en todos los sistemas operativos UNIX y generalmente se usan de la misma manera; sin embargo, las descripciones aquí son las que se usan específicamente para el FHS, y no se consideran autorizadas para plataformas que no sean Linux.

  • / Raíz de la jerarquía primaria y directorio raíz de toda la jerarquía del sistema de archivos.
  • /bin/ Binarios de comandos esenciales que deben estar disponibles en modo de usuario único; para todos los usuarios, por ejemplo, cat, ls, cp.
  • /boot/ Archivos del cargador de arranque, por ejemplo, kernels, initrd; a menudo una partición separada [8]
  • /dev/ Dispositivos esenciales, por ejemplo, / dev / null.
  • /etc/ Archivos de configuración de todo el sistema específicos del host (el nombre proviene de etcétera [9]).
  • /etc/opt/ Archivos de configuración para / opt /.
  • /etc/X11/ Archivos de configuración para el sistema X Window, versión 11.
  • /etc/sgml/ Archivos de configuración para SGML.
  • /etc/xml/ Archivos de configuración para XML.
  • /home/ Directorios de inicio de los usuarios, que contienen archivos guardados, configuraciones personales, etc .; a menudo una partición separada.
  • /lib/ Bibliotecas esenciales para los binarios en / bin / y / sbin /.
  • /media/ Puntos de montaje para medios extraíbles como CD-ROM (aparecido en FHS-2.3).
  • /mnt/ Sistemas de archivos montados temporalmente.
  • /opt/ Paquetes opcionales de software de aplicación [10].
  • /proc/ Sistema de archivos virtual que documenta el kernel y el estado del proceso como archivos de texto, por ejemplo, tiempo de actividad, red. En Linux, corresponde a un montaje Procfs.
  • /root/ Directorio de inicio para el usuario root.
  • /sbin/ Binarios esenciales del sistema, por ejemplo, init, ip, mount.
  • /srv/ Datos específicos del sitio que son servidos por el sistema.
  • /tmp/ Archivos temporales (ver también / var / tmp). A menudo no se conserva entre reinicios del sistema.
  • /usr/ Jerarquía secundaria para datos de usuario de solo lectura; contiene la mayoría de las utilidades y aplicaciones de (múltiples) usuarios. [11]
  • /usr/bin/Binarios de comandos no esenciales (no necesarios en modo de usuario único); para todos los usuarios.
  • /usr/include/ Estándar incluye archivos.
  • /usr/lib/ Bibliotecas para los binarios en / usr / bin / y / usr / sbin /.
  • /usr/sbin/ Binarios del sistema no esenciales, por ejemplo, demonios para diversos servicios de red.
  • /usr/share/ Datos independientes de la arquitectura (compartidos).
  • /usr/src/ Código fuente, por ejemplo, el código fuente del núcleo con sus archivos de encabezado.
  • /usr/X11R6/ X Window System, Versión 11, Release 6.
  • /usr/local/Jerarquía terciaria para datos locales, específicos de este host. Normalmente tiene subdirectorios adicionales, por ejemplo, bin /, lib /, share /. [12]
  • /var/ Archivos variables: archivos cuyo contenido se espera que cambie continuamente durante el funcionamiento normal del sistema, como registros, archivos de cola y archivos temporales de correo electrónico. A veces una partición separada.
  • /var/lib/Información del estado. Datos persistentes modificados por los programas a medida que se ejecutan, por ejemplo, bases de datos, metadatos del sistema de empaquetado, etc.
  • /var/lock/Bloquear archivos Archivos que realizan un seguimiento de los recursos actualmente en uso.
  • /var/log/Archivos de registro. Varios registros.
  • /var/mail/ Buzones de usuarios.
  • /var/run/ Información sobre el sistema en ejecución desde el último arranque, por ejemplo, usuarios actualmente conectados y demonios en ejecución.
  • /var/spool/ Cola para tareas que esperan ser procesadas, por ejemplo, colas de impresión y correo no leído.
  • /var/spool/mail/Ubicación obsoleta para los buzones de los usuarios. /var/tmp/Archivos temporales que se conservarán entre reinicios.
  • /var/www/ Jerarquías de archivos del sitio web (la ubicación predeterminada para los sitios web atendidos por Apache).
Josh
fuente
1

En Linux, los directorios en la carpeta raíz /se presentan de acuerdo con el Estándar de jerarquía del sistema de archivos . Por lo general, se usa un administrador de paquetes proporcionado por la distribución para instalar y desinstalar software. También hay varios lugares donde se almacenan los archivos de configuración (sobre todo en /etc/) y, a veces, estos deben ser editados por el usuario. De lo contrario, debería haber poca necesidad de perder el tiempo fuera de su directorio de inicio.

Cuando instala el software a mano, generalmente no desea instalarlo en los directorios del sistema como /usr/bin/, /bin/o /sbin/o /usr/sbin/. En su lugar, el software instalado manualmente debe usarse /usr/local/para evitar conflictos con el software instalado por el administrador de paquetes y que efectivamente tiene la misma estructura /(por ejemplo, para el uso de instalación manual /usr/localcomo prefijo)

Cuando instala software fuera de la estructura habitual, el shell podría no encontrar los ejecutables y los archivos binarios podrían no encontrar bibliotecas con las que estaba vinculado. Se buscan binarios en todos los directorios enumerados en la variable de shell $PATHque puede ajustar. Lo mismo se aplica a $LD_LIBRARY_PATHla lista de directorios para buscar bibliotecas al resolver dependencias de enlace (ver man ld).

(Nota: arriba contiene una gran cantidad de "generalmente" y "costumbre". Esto se debe a que nadie te obliga a seguir un estándar (razonable): eres libre de dispararte en el pie).

Benjamin Bannier
fuente