Toda vez que leio as dicas para instalar um SDK, IDE, alguma extensão e assim por diante, ele diz que devo descompactá-las na /opt
pasta. Por que eu preciso fazer isso?
Quando estava instalando o Ubuntu, li que deveria definir apenas 10 a 20 GiB para o /
sistema de arquivos e o espaço restante definido /home
. Então, devo estender o espaço para a pasta raiz ou deixar todas as coisas em /home
? Existe alguma diferença?
filesystem
disk-usage
Praytic
fonte
fonte
Respostas:
Primeiro, entenda que qualquer diretório que não seja explicitamente um ponto de montagem para uma partição separada (ou um subdiretório desse ponto de montagem) é armazenado na
/
partição root ( ). Portanto, se você possui root (/
) e/home
, e nenhuma outra partição, seu/opt
diretório é simplesmente um diretório em root (/
). Da mesma forma para/tmp
,/sbin
e qualquer outra coisa. Portanto, a pergunta inicial é baseada na falsa premissa de que você precisa de partições separadas para cada diretório que sai do root (/
) e, portanto, não pode ser respondido diretamente.Segundo,
/opt
é usado para software de terceiros, que no contexto do Ubuntu, significa software pré-compilado que não é distribuído através de pacotes Debian. Ocasionalmente, você verá a documentação oficial do programa que se refere/opt
, mas há pacotes Debian disponíveis que descartam esses arquivos em outros lugares. Nesses casos, você deve ignorar a documentação oficial, ou pelo menos ignorar suas referências de local de arquivo, quando você usa o pacote Debian. Além disso, se você tiver a opção de usar um pacote pré-compilado por meio de um pacote tarball ou Debian, geralmente é melhor usar o pacote Debian. Em suma, o uso de/opt
é bastante raro nos dias de hoje. Se você ainda acha que precisa colocar arquivos/opt
, convém nomear o software, pois as pessoas aqui podem saber se um pacote Debian está disponível para esse software.Finalmente, combinando os dois pontos anteriores, é muito raro as instalações do Ubuntu se dividirem
/opt
em uma partição separada, porque é raro que quantidades significativas de dados sejam armazenadas lá. A maioria dos softwares Ubuntu entra/usr
e em outros locais. Era comum dividir/usr
em uma partição separada, mas essa prática é bastante rara hoje. Se você precisar instalar muitos softwares/opt
, criar uma partição separada para isso podefaz sentido - mas em muitos casos isso não será realmente útil. Partições separadas fazem sentido se você precisar lidar com a segurança de maneira diferente, se diferentes recursos do sistema de arquivos forem úteis, para compartilhar dados entre várias instalações do SO em uma configuração de inicialização múltipla e por outros motivos. A instalação rotineira de software provavelmente não se beneficiará de uma partição separada; de fato, a criação de uma partição separada para isso/opt
pode causar problemas se o tamanho consumido pelo software armazenado lá mudar ou se você errar inicialmente a estimativa do tamanho.fonte
Você?
O fato é que você não precisa fazer isso. Usar
/opt
é uma convenção. Eu recomendaria usá-lo, mas não é estritamente necessário.Da hierarquia do sistema de arquivos Linux: Capítulo 1. Hierarquia do sistema de arquivos Linux :
fonte
/opt
muitas vezes havia uma unidade separada. Seria usado para instalar software proprietário, que geralmente possuía enormes requisitos de espaço em disco devido ao agrupamento de todas as bibliotecas necessárias e outros recursos. Nos tempos modernos, as unidades são tão grandes que é possível e mais fácil usar apenas uma raiz em uma única unidade./opt
é usado para aplicativos externos (às vezes proprietários) que não são considerados parte da distribuição do Linux. Esses aplicativos podem ter caminhos codificados e, portanto, só serão executados corretamente quando instalados em/opt
- mas se não houver caminhos codificados, você poderá instalá-los em qualquer caminho. Um programa que está instalado/opt
deve ser independente.A principal razão para o uso
/opt
é fornecer um caminho padrão comum em que o software externo possa ser instalado sem interferir com o restante do sistema instalado./opt
não aparece nos caminhos padrão do compilador ou vinculador (gcc -print-search-dirs
ou/etc/ld.so.conf
etc.); portanto, os cabeçalhos e bibliotecas instalados são um pouco isolados do sistema principal e não devem interferir nos programas já instalados.O uso de
/opt
é especificado pelo padrão de hierarquia do sistema de arquivos : / opt , que observa que/opt
originalmente veio do Unix.fonte
Não há nada de sagrado
/opt
, é apenas prática comum colocar software pré-compilado que deve estar acessível a todos os usuários de um sistema nesse diretório. Se você é o único usuário do sistema, não há nada de errado em extraí-lo no diretório inicial. E mesmo se houver vários usuários no sistema que precisem acessar esse software, mas você desejar usar o espaço em sua/home
partição, não há nada de errado em criar um/home/softwarename
diretório acessível ao público e extrair seu software (a única ressalva é se você ocorrer para ter um usuário nomeadosoftwarename
, você não poderá usá-lo no diretório inicial do usuário).fonte
As respostas detalhadas são muito boas, mas (além do software que pode conter caminhos absolutos codificados - não é a melhor prática de programação), o ponto principal é que o software que não é do sistema / não-distribuição não deve ser armazenado misturado com o arquivos de sistema regulares.
Colocar
/opt
ou/usr/local
manter as coisas limpas e seguras.Em particular, o caminho de pesquisa do software ($ PATH) determina a ordem na qual os locais são pesquisados ao procurar um programa com um nome específico para executar. Normalmente, lugares como
/opt
e/usr/local
estão no final da lista.Se você instalar um pacote que possui um programa nomeado
cp
, a ordem de pesquisa padrão que acompanha a sua distribuição encontrará a normal porque o diretório em que está armazenado é pesquisado antes de lugares como/opt
.Se não funcionasse dessa maneira, quem sabe o que poderia quebrar ou abrir uma falha de segurança se um programa chamado
cp
que faz outra coisa for executado quando você pensa que está apenas tentando copiar alguns arquivos.Se algo assim acontecer, pode levar algum tempo até que alguém pense em executar um comando como
type cp
(o que pode nem ser suficiente para mostrar que algo está errado) para descobrir que o que está sendo executado não é o que você pensa que é. Até esse ponto, você fica preso em "Tudo é exatamente como deveria ser, exceto pelos pequenos detalhes de que não funciona!"Ele basicamente ajuda a impedir que coisas inesperadas aconteçam e também evita situações nas quais as atualizações do sistema podem remover ou substituir alguns ou todos os seus pacotes instalados "personalizados". Ou, pelo contrário, alguns programas "personalizados" podem substituir os programas fornecidos pelo sistema nos quais muitos outros programas ou scripts podem confiar.
Do ponto de vista administrativo, a mistura de programas / arquivos "sistema" e "opcionais" nos mesmos locais coloca o sistema em um estado "indefinido" ou pelo menos "ambíguo".
Se você tiver um problema com seu sistema ou programa e precisar de ajuda, uma das primeiras perguntas que será feita é "O que você mudou?" e "Podemos desativar temporariamente algumas dessas mudanças, para que possamos ver o problema real e não apenas um sintoma de outra coisa".
Em locais separados, essas alterações podem ser rapidamente identificadas e tudo o que você precisa fazer (pelo menos para os próprios programas) é remover temporariamente seus diretórios do caminho.
fonte