Uso de diretórios / opt e / usr / local no contexto de um PC

56

Qual é a diferença entre os diretórios /opt e /usr/local e que tipo de programas devem ser instalados para eles?

Eu me referi a Hierarquia do sistema de arquivos do Linux , mas a explicação não é clara. De acordo com o link acima;

/opt : - Este diretório é reservado para todos os softwares e pacotes complementares que não fazem parte da instalação padrão

/usr/local : - A hierarquia /usr/local é para uso pelo administrador do sistema ao instalar o software localmente. Ele precisa estar protegido contra a sobregravação quando o software do sistema for atualizado.

No contexto de um PC sem computadores em rede, qual deve ser o diretório para instalar um software que será acessado por vários usuários locais? (por exemplo, onde devo instalar um software como o netbeans)

Obrigado

    
por Niroshan 13.04.2011 / 16:42

3 respostas

60

/opt é para aplicativos de terceiros que não dependem de nenhuma dependência fora do escopo do pacote. /usr/local é para pacotes instalados nesta máquina fora do escopo do gerenciador de pacotes de distribuição.

Um exemplo:

Um cliente sip de código aberto fornecido como um .deb seria instalado em /usr . Se fosse construído com o framework Qt, o apt o colocaria como dependência.

O mesmo cliente sip de código aberto criado a partir da fonte residiria em /usr/local , de modo que não seria confundido com o apt se você instalasse posteriormente um pacote .deb para o mesmo aplicativo. Você pode construir suas dependências a partir do código-fonte ou obtê-las do gerenciador de pacotes.

Um aplicativo de terceiros em /opt deve ser independente. Por exemplo, um cliente sip proprietário usando o Qt não dependeria da versão do apt, mas o teria empacotado ou vinculado estaticamente.

Para mais informações, consulte o Padrão de hierarquia do sistema de arquivos .

    
por Egil 13.04.2011 / 21:00
11

Eu instalaria pacotes binários somente de terceiros para /opt .

Qualquer coisa que você construa a partir da fonte eu colocaria em /usr/local .

netbeans está no Ubuntu Repos. Você precisa de uma versão específica?

    
por Broam 13.04.2011 / 18:15
8

É tudo sobre embalagem. Se algo for empacotado no modo LHS (colocando executáveis em bin / libraries em lib / etc), ele deve ir para / usr / local.

Se algo tiver um diretório de nível superior e não seguir esse modelo, ele será inserido em / opt. Geralmente, você deve incluir explicitamente o conteúdo em / opt no seu PATH.

Veja também Esta pergunta no superusuário

    
por TREE 13.04.2011 / 22:23