O que significa “pacote instalado localmente” no mundo do Unix?

3

Eu estive a coçar a cabeça sobre o Padrão de Hierarquia do Sistema de Arquivos recentemente e, em várias ocasiões, quando falei sobre o diretório /usr/local , me deparei com o termo "pacotes instalados localmente". Alguém poderia explicar o que exatamente significa "local" neste contexto?

    
por DarthPaghius 01.10.2017 / 02:13

2 respostas

4

Um pacote instalado localmente em /usr/local , ou /opt de acordo com o padrão FHS, significa pacotes não instalados pela distribuição padrão, mas pacotes instalados especificamente para esse sistema.

The directories /opt/bin, /opt/doc, /opt/include, /opt/info, /opt/lib, and /opt/man are reserved for local system administrator use. Packages may provide "front-end" files intended to be placed in (by linking or copying) these reserved directories by the local system administrator, but must function normally in the absence of these reserved directories.

Programs to be invoked by users must be located in the directory /opt/<package>/bin or under the /opt/ hierarchy. If the package includes UNIX manual pages, they must be located in /opt/<package>/share/man or under the /opt/ hierarchy, and the same substructure as /usr/share/man must be used.

Package files that are variable (change in normal operation) must be installed in /var/opt. See the section on /var/opt for more information.

Host-specific configuration files must be installed in /etc/opt. See the section on /etc for more information.

No other package files may exist outside the /opt, /var/opt, and /etc/opt hierarchies except for those package files that must reside in specific locations within the filesystem tree in order to function properly. For example, device lock files must be placed in /var/lock and devices must be located in /dev.

Os pacotes em questão podem ser instalados pelo administrador do sistema ou receber os direitos apropriados por outros usuários.

Geralmente, eles são compilados localmente ou scripts, mas também é possível implantar binários / pacotes para um grupo específico de servidores ou, se instalados pelo sysadmin, podem ser compilados e empacotados de acordo com o padrão de distribuição (por exemplo, deb no Debian - Eu tenho repos locais).

    
por 01.10.2017 / 02:24
2

Isso significa coisas diferentes para diferentes Unices.

A ESF não diz nada sobre "pacotes" em relação a /usr/local , mas descreve-a como uma "hierarquia terciária" para dados locais, específicos para este host ".

  • Na maioria dos Linuxes, isso significa que um administrador local pode instalar software compilado localmente, ou software proveniente de outras fontes que não a distribuição Linux em uso, em /usr/local . O gerenciador de pacotes da distribuição não usará /usr/local .

    Pacotes instalados a partir de um repositório de pacotes não são considerados "específicos para este host".

  • Em sistemas BSD, por outro lado, significa que o software instalado com o gerenciador de pacotes do sistema operacional será instalado em /usr/local (exceto no caso do NetBSD que usa /usr/pkg ). Os sistemas BSD consideram software instalado localmente para incluir pacotes de terceiros instalados por um administrador local, mesmo que eles possam ser instalados com o gerenciador de pacotes do sistema. Software compilado localmente (no sentido do Linux) provavelmente deve ser instalado em outro lugar, por exemplo, em /srv ou /opt , para não entrar em conflito acidental com o software mantido em /usr/local .

    Pacotes instalados a partir de um repositório de pacotes são considerados "específicos para este host".

por 01.10.2017 / 10:20