Como os arquivos e aplicativos do Linux são organizados?

4

Eu sou um usuário novato do Linux (Ubuntu) e gostaria de saber se alguém pode dar alguns conselhos sobre onde instalar coisas, quais pastas não tocam, qual é o significado de cada pasta e assim por diante.

Minha primeira preocupação é, se tudo entrar na minha pasta pessoal? Eu instalei o "manualmente" Komodo Edit (é um IDE) e ele foi para minha pasta pessoal, eu realmente não gosto da idéia de ter um aplicativo lá. (no windows eu costumava ter meus arquivos de trabalho / imagens / downloads ... partição e, em seguida, a partição do sistema operacional com todos os aplicativos).

Então, existe algum lugar onde eu possa instalar este software? Algum conselho para ter minha pasta de casa ordenada? Talvez eu deva criar uma pasta de aplicativos no meu diretório pessoal?

Obrigado antecipadamente. :)

pd: na maior parte do tempo eu uso o apt para instalar coisas, mas nem sempre encontro o software que quero lá ...

    
por doup 30.04.2010 / 23:27

3 respostas

4

/home/<yourlogin> é o seu efetivo 'Meus Documentos' equivalente a janelas. Sua área de trabalho está lá, suas fotos, etc ...

Geralmente você faz o download de coisas lá, e compila / executa rpms daquele local que, em seguida, solicita acesso de superusuário (elevação) e instala seus aplicativos em lugares como:

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

  • /bin Contém comandos globais do sistema operacional, muito parecido com PATH on windows
  • /sbin Contém comandos globais do sistema operacional para superusuários (requer elevação)
  • /usr/bin contém aplicativos
  • /usr/sbin Contém aplicativos que exigem elevação
  • /dev Contém Dispositivos (por exemplo: /dev/sda0 é a Unidade Scsi A, a partição 0, /dev/floppy é sua unidade de disquete, etc ...
  • /etc é onde está a configuração do seu sistema, geralmente em arquivos .conf

Isso é um primer básico, eu acho.

Além disso, prefixar uma pasta com . a tornará "oculta", por exemplo: /home/aren/.ssh , você ainda pode acessá-la, mas deve usar ls -a para que apareça na lista ao procurar.

    
por 30.04.2010 / 23:35
4

A Wikipédia tem um ótimo artigo sobre isso . Uma citação da parte mais útil desse artigo:

In the FHS all files and directories appear under the root directory "/", even if they are stored on different physical devices. Note however that some of these directories may or may not be present on a Unix system depending on whether certain subsystems, such as the X Window System, are installed.

The majority of these directories exist in all UNIX operating systems and are generally used in much the same way; however, the descriptions here are those used specifically for the FHS, and are not considered authoritative for platforms other than Linux.

  • / Primary hierarchy root and root directory of the entire file system hierarchy.
  • /bin/ Essential command binaries that need to be available in single user mode; for all users, e.g., cat, ls, cp.
  • /boot/ Boot loader files, e.g., kernels, initrd; often a separate partition[8]
  • /dev/ Essential devices, e.g., /dev/null.
  • /etc/ Host-specific system-wide configuration files (the name comes from et cetera[9]).
  • /etc/opt/ Configuration files for /opt/.
  • /etc/X11/ Configuration files for the X Window System, version 11.
  • /etc/sgml/ Configuration files for SGML.
  • /etc/xml/ Configuration files for XML.
  • /home/ Users' home directories, containing saved files, personal settings, etc.; often a separate partition.
  • /lib/ Libraries essential for the binaries in /bin/ and /sbin/.
  • /media/ Mount points for removable media such as CD-ROMs (appeared in FHS-2.3).
  • /mnt/ Temporarily mounted filesystems.
  • /opt/ Optional application software packages[10].
  • /proc/ Virtual filesystem documenting kernel and process status as text files, e.g., uptime, network. In Linux, corresponds to a Procfs mount.
  • /root/ Home directory for the root user.
  • /sbin/ Essential system binaries, e.g., init, ip, mount.
  • /srv/ Site-specific data which is served by the system.
  • /tmp/ Temporary files (see also /var/tmp). Often not preserved between system reboots.
  • /usr/ Secondary hierarchy for read-only user data; contains the majority of (multi-)user utilities and applications.[11]
  • /usr/bin/ Non-essential command binaries (not needed in single user mode); for all users.
  • /usr/include/ Standard include files.
  • /usr/lib/ Libraries for the binaries in /usr/bin/ and /usr/sbin/.
  • /usr/sbin/ Non-essential system binaries, e.g., daemons for various network-services.
  • /usr/share/ Architecture-independent (shared) data.
  • /usr/src/ Source code, e.g., the kernel source code with its header files.
  • /usr/X11R6/ X Window System, Version 11, Release 6.
  • /usr/local/ Tertiary hierarchy for local data, specific to this host. Typically has further subdirectories, e.g., bin/, lib/, share/.[12]
  • /var/ Variable files—files whose content is expected to continually change during normal operation of the system—such as logs, spool files, and temporary e-mail files. Sometimes a separate partition.
  • /var/lib/ State information. Persistent data modified by programs as they run, e.g., databases, packaging system metadata, etc.
  • /var/lock/ Lock files. Files keeping track of resources currently in use.
  • /var/log/ Log files. Various logs.
  • /var/mail/ Users' mailboxes.
  • /var/run/ Information about the running system since last boot, e.g., currently logged-in users and running daemons.
  • /var/spool/ Spool for tasks waiting to be processed, e.g., print queues and unread mail.
  • /var/spool/mail/ Deprecated location for users' mailboxes. /var/tmp/ Temporary files to be preserved between reboots.
  • /var/www/ Website file hierarchies (the default location for websites served by Apache).
    
por 30.04.2010 / 23:59
1

Nos diretórios do Linux, na pasta raiz / , estão dispostos de acordo com o Padrão de hierarquia do sistema de arquivos . Normalmente, um usa um gerenciador de pacotes fornecido pela distribuição para instalar e desinstalar o software. Existem também vários locais onde os arquivos de configuração são armazenados (mais notavelmente em /etc/ ) e às vezes eles precisam ser editados pelo usuário. Caso contrário, deve haver pouca necessidade de mexer fora do seu diretório pessoal.

Quando você instala o software manualmente, geralmente não deseja instalar nos diretórios do sistema, como /usr/bin/ , /bin/ ou /sbin/ ou /usr/sbin/ . Em vez disso, o software instalado manualmente deve usar /usr/local/ para evitar conflitos com o software instalado pelo gerenciador de pacotes e que efetivamente possui a mesma estrutura como / (ou seja, para instalação manual use /usr/local como prefixo)

Quando você instala o software fora da estrutura usual, o shell migh não encontra os executáveis e os binários podem não encontrar as bibliotecas com as quais ele foi vinculado. Os binários são procurados em todos os diretórios listados na variável de shell $PATH que você pode ajustar. O mesmo vale para $LD_LIBRARY_PATH , que mantém a lista de diretórios para procurar bibliotecas ao resolver dependências de links (consulte man ld ).

(Nota: acima contém muito "normalmente" e "costumeiro". Isso é porque ninguém o força a seguir algum padrão (razoável) - você está livre para atirar no próprio pé.)

    
por 30.04.2010 / 23:55