Por que meu pacote foi instalado em / opt?

7

Um tempo atrás eu instalei o couchdb a partir do código-fonte na minha máquina debian. Parecia instalar tudo bem e tudo funcionou.

Algumas semanas depois, eu queria atualizar e instalar a partir de um .deb usando o dpkg. Tudo agora parece ter sido instalado em /opt . Tudo parece funcionar bem, mas eu realmente não entendo porque tudo foi instalado em /opt . Não parece tão "suave" como quando as coisas foram instaladas diretamente em /usr/local/bin e /etc e /var/log . É mais complicado configurar do que quando eu editei anteriormente os arquivos de configuração que foram instalados em / etc / couchdb

Alguém se importaria de me explicar por que a instalação de /opt é "uma coisa boa" e por que essa é uma maneira melhor de fazer as coisas do que a instalação anterior que era da fonte?

Eu sei que esta é uma pergunta um tanto vaga, mas só sou competente com o Linux, não como especialista e não entendo o pensamento por trás da instalação em /opt

    
por Mikel 26.03.2011 / 00:53

4 respostas

10

O Padrão de hierarquia do sistema de arquivos fornece estas definições:

  • /opt : Pacotes de software de aplicativos adicionais
  • /usr/local : hierarquia local (para uso pelo administrador do sistema ao instalar o software localmente)

A maneira como eu li isso:

  • Os aplicativos de sistema padrão devem estar em /bin e /usr/bin (implied)
  • Os pacotes de terceiros devem entrar em /opt
  • Algo só deve ser instalado em /usr/local se o administrador do sistema quiser

Por extensão, se o sysadmin instalar algo usando dpkg ou rpm , ele não deve entrar em /usr/local por padrão.

Então, é indiscutivelmente fazer a coisa certa.

    
por 26.03.2011 / 03:16
5

Política Debian diz

9.1.2 Site-specific programs

As mandated by the FHS, packages must not place any files in /usr/local, either by putting them in the file system archive to be unpacked by dpkg or by manipulating them in their maintainer scripts.

Não existe tal proibição específica contra / opt. Política também adiciona

The location of all installed files and directories must comply with the Filesystem Hierarchy Standard (FHS), version 2.3, with the exceptions noted below, and except where doing so would violate other terms of Debian Policy.

e o Padrão de hierarquia de arquivos diz

The directories /opt/bin, /opt/doc, /opt/include, /opt/info, /opt/lib, and /opt/man are reserved for local system administrator use.

e depois mais abaixo

Distributions may install software in /opt, but must not modify or delete software installed by the local system administrator without the assent of the local system administrator.

Note que Política é para o próprio Debian, mas geralmente corresponde a uma recomendação de boas práticas. O resultado, se eu estou lendo isso corretamente, é que não está Ok para instalar pacotes binários (deb) para / usr / local, mas está Ok para instalar em / opt, desde que não interfira com o uso do sysadmin de o espaço.

Minha opinião pessoal é que é uma má idéia ter pacotes deb em / usr / local ou / opt. Eu não concordo com o D4RIO quando ele diz

There is a couchdb package for debian (I mean, official), so if you downloaded another, it's Ok, it must be installed in /opt or /usr/local/bin either.

Você geralmente não deseja dois pacotes deb correspondentes ao mesmo software instalado, e se eles forem realmente o mesmo nome do pacote, o dpkg não permitirá isso de qualquer maneira. Pacotes Debian não-oficiais de software disponíveis como um pacote oficial comumente (mas nem sempre) têm o mesmo nome que os oficiais; você acabou de instalar um ou outro, não ambos.

Por que vale a pena, acho que colocar pacotes deb em / opt é uma má ideia, e a única ocorrência recente disso que eu vi é no Google Chrome. No entanto, o Google nem sempre segue as práticas recomendadas.

    
por 26.03.2011 / 09:48
4

/opt é para software de terceiros. Existe um pacote couchdb para o debian (quer dizer, oficial), então se você baixou outro, é Ok, ele deve ser instalado em /opt ou /usr/local/bin .

    
por 26.03.2011 / 01:06
2

Mesmo que não seja o Debian, o Fedora Packaging Guidelines são bem claros sobre isso:

…no Fedora package can have any files or directories under /opt or /usr/local…

A razão para os pacotes não colocarem as coisas em / opt é bastante simples: Como foi apontado anteriormente, o File Hierarchy Standard afirma que…

Distributions may install software in /opt, but must not modify or delete software installed by the local system administrator without the assent of the local system administrator.

Isso é algo que não pode ser garantido por pacotes, pois uma instalação ou atualização pode modificar esses dados.

Eu sei que o Fedora não é Debian, mas eu acho que neste caso, eles são bem parecidos. Especialmente desde que o Lintian, a ferramenta de checagem de pacotes para o Debian, tem um erro especial para isso: ou-file-in-opt

    
por 26.05.2013 / 14:13