Sou totalmente novo no Ubuntu / Linux, usando o Ubuntu Server no momento. Apenas tentando descobrir algo básico.
Como você pode saber onde está instalando um programa. Por exemplo, eu acabei de instalar o mecanismo de pesquisa Sphinx colocando o arquivo que baixei do site deles para o meu:
/home/sphinx
diretório. Eu criei o diretório sphinx para colocar o tarball. Em seguida, executei estes comandos:
tar xvzf sphinx-0.9.8.1.tar.gz
cd sphinx-0.9.8.1/
./configure --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib/mysql
e então estes:
make
sudo make install
Agora eu tenho muitos arquivos no diretório em que executei esses comandos. Esta é a minha instalação do Spynx ou instalou em outro lugar?
No Windows, se você executar um instalador (arquivo .exe) em qualquer lugar, o programa ainda será instalado no diretório C: \ Arquivos de Programas. Algo semelhante se aplica ao Linux, onde todos os programas estão instalados em um local central, ou você pode instalar programas em qualquer lugar do sistema.
Questões
Eu preferiria manter todos os meus programas instalados em um só lugar, então qual é o lugar certo para isso em termos de práticas recomendadas. Em outras palavras, qual é o equivalente do Linux a C: \ Arquivos de Programas?
E como se instala sempre neste local, é apenas uma questão de colocar o tarball e executar os comandos de instalação a partir deste local?
E se eu usar o sudo apt-get para instalar um pacote. Como posso apontar para este local para dizer ao apt-get para sempre instalar lá?
fonte
make uninstall
NÃO é um recurso padrão e não é encontrado em muitas fontes de programa. Além disso,/usr/local
geralmente não está no caminho do Ubuntu e pode causar problemas ao tentar executar programas ou ao compilar (por causa de inclusões no/usr/local
).Normalmente, os programas são instalados em alguns diretórios em um diretório superior , chamado prefixo . Qual diretório principal usar depende de quem está instalando, para fins de bruxa e quem gerenciará o software.
O prefixo
/usr
é um software usado por sua distribuição. Você deve não instalar qualquer outro software lá, porque vai confundir a distribuição durante a instalação e atualização de software embalado pela distribuição. Portanto , não instale seu próprio software compilado lá. Essa não é uma boa ideia, a menos que você realmente saiba o que faz. E a menos que você seja um desenvolvedor do Debian ou Ubunut, normalmente não. Eu não faria isso de qualquer maneira.Para software comercial, o prefixo
/opt
é usado. Está reservado para eles interferirem menos nas distribuições e no administrador do sistema local.Para o software que o administrador do sistema instala para todos os usuários, o prefixo
/usr/local
é usado. Está fora do caminho tanto da instalação comercial quanto da distribuição e não interferirá com elas. Portanto, como administrador do sistema, você o usa (se você possui privilégios de root, é um administrador do sistema).Se você é um usuário comum instalando software para si mesmo, pode usar seu diretório pessoal como prefixo, usando a
--prefix
opção paraconfigure
com o prefixo diretório "~/
" ou$HOME/
. Eu usei muito isso quando eu era estudante. :-)Normalmente, o software faz a coisa certa quando você executa
configure
com a opção--prefix
com o valor certo e depoismake; make install
.Sob qualquer um desses prefixos, você geralmente encontra esses diretórios em uma instalação padrão.
bin
- os programas executáveis, binários.sbin
- binários do sistema, que geralmente não devem ser executados por usuários comuns.man
- páginas de manual para programas, bibliotecas e arquivos de configuração etc.etc
- arquivos de configuração com valores padrão para o software.lib
- bibliotecas de programas e arquivos de dados que dependem da arquitetura (como a CPU) do seu computador.share
- arquivos de dados que não são diferentes em arquiteturas diferentes e podem ser compartilhados entre computadores diferentes.var
- diretórios com dados que são alterados durante a execução do programa. Como arquivos de log etc.A maioria desses diretórios pode ser usada com sistemas de arquivos protegidos contra gravação para aumentar a segurança. O único que os usuários precisam gravar é o
var/
diretório. Quando o software é atualizado, esses diretórios obviamente (?) Precisam ter privilégios de gravação. Isso pode ser feito com uma remontagem com privilégios de gravação durante a instalação e depois remontada com somente leitura após a instalação. Mas isso é avançado, e eu apenas o cito como um exemplo de gerenciamento avançado de pacotes.Há também alguns diretórios diretamente sob
/
(o diretório root) que não existe em qualquer outro prefixo, como/dev
,/tmp
,/proc
e/srv
(para os diretórios de dados do servidor, mas eles são geralmente sob/var/lib
ou/var/www
e diretórios assim, então você precisa de configuração mudança use este diretório .. Eu recomendo que você faça isso quando estiver executando um servidor. Use apenas/var/
para testar uma instalação padrão)./usr
como Debian / Ubuntu/usr/local
. Aprenda sua distribuição.--prefix
são úteis para programas usandoconfigure
. A melhor maneira de saber é provavelmente ler oREADME.txt
arquivo ou algo parecido, que você provavelmente recebe no arquivo tar. O arquivo tar pode ser extraído em qualquer lugar, como no diretório inicial. Após a conclusão da etapa de instalação, você poderá remover o arquivo tar extraído, se houver pouco armazenamento. Mas não faça isso antes, a menos que você tenha testado sua instalação corretamente.apt-get
ouaptitude
sempre instalados no local apropriado para a distribuição. Você não pode mudar esse lugar.fonte
Quando você instala programas de um repositório usando a instalação normal, ele é instalado no local correto, cria arquivos de configuração no local correto (funcionalmente semelhante ao registro do Windows) e cria entradas de menu automaticamente.
Quando você baixa um arquivo (não preferido, mas geralmente necessário quando o aplicativo não está em um repositório), a primeira coisa que você fez foi executar o tar, equivalente a descompactar no Windows. Isso cria os arquivos que você provavelmente está vendo.
Então, quando você executa o make install, isso geralmente coloca os resultados no lugar certo, talvez crie menus, mas não apaga os arquivos não tarados. Você provavelmente pode fazer isso, mas convém salvá-los temporariamente, apenas por precaução.
Aqui está um artigo interessante sobre a Estrutura de Diretórios Debian .
fonte