Possível duplicata:
Onde está instalado um programa Linux típico
Eu sou novo no Linux e quero perguntar um pouco mais sobre pacotes.
No Windows, faço o download de um .exe
arquivo e o instalo. Quando instalo, defino o caminho em que desejo que esse aplicativo seja armazenado. Nessa pasta, tenho todos os arquivos necessários para o aplicativo.
No entanto, quando instalo um pacote no Linux usando yum
ou apt-get
, não sei para onde o pacote está instalado e onde estão armazenados os arquivos necessários para esse aplicativo. Vi que a maioria das configurações está no /etc
diretório Mas por que o Linux armazena os arquivos necessários para um aplicativo em diretórios diferentes?
Alguém pode me dizer como os pacotes são instalados e onde e como eles são armazenados? E se meu entendimento sobre gerenciamento de pacotes estiver errado, corrija-me.
rpm
, você poderárpm -q --whatprovides
encontrar o nome do pacote para um arquivo específico e, em seguida,rpm -q -a
descobrir quais arquivos o pacote instalou.apt-get
, se o pacote estiver instaladodpkg -L PKGNAME
, use , se não estiver em usoapt-file list
.Respostas:
Muitos programas (os binários / scripts) terminam em
/bin
ou/usr/bin
com outras partes em vários diretórios de configuração (geralmente em / sobetc
) como você já observou.Para qualquer comando específico, você pode verificar onde
e fornecerá algumas informações sobre onde esse comando deve ser encontrado. Você também pode tentar quais
Além disso, este gráfico e explicação / exemplos podem ser úteis.
fonte
/etc/
, mas ter um local central para os arquivos de configuração facilita muito o backup deles. (Imagine o apoio para cima arquivos de configuração de todo o sistema no Windows, onde eles estão espalhados por todo o sistema de arquivos e registro ...)No Windows, principalmente nas versões mais antigas, era comum os programas armazenarem arquivos de configuração e dados não constantes em seus
C:\Program Files
diretórios. Isso é derivado de como os programas eram geralmente instalados e executados no DOS de usuário único, sem rede e sem permissão de arquivo.Do ponto de vista da segurança, essa é uma má ideia. Locais onde o código executável reside devem ser separados dos dados modificáveis. Dessa forma, é mais fácil aplicar permissões de arquivo apropriadas para impedir a modificação de binários instalados por usuários não autorizados. Da mesma forma, os diretórios da biblioteca que podem ser atualizados separadamente dos principais executáveis também devem estar em um diretório separado.
Com o advento dos aborrecimentos do Vista e do UAC, essa tradição está finalmente começando a perder seriamente a tração.
O UNIX e o Linux, sendo um sistema multiusuário desde muito cedo, tinham a tendência de separar diretórios executáveis de outros diretórios muito antes, pois havia a necessidade de impedir que outros usuários, além do root, modificassem os binários instalados. Também é por isso que,
/usr
e/sbin
às vezes até são, partições separadas - um administrador particularmente consciente da segurança pode montar essas partições somente leitura e remontá-las para leitura / gravação quando uma instalação / desinstalação precisar acontecer.Os pacotes geralmente são instalados a partir de um gerenciador de pacotes. Existem vários gerenciadores de pacotes, como
aptitude
(Debian e distribuições derivadas),yum
(Redhat e distribuições derivadas),pacman
(esqueça que distribuição é essa ...) e outros.O gerenciador de pacotes permite procurar repositórios, baixar, instalar, consultar e remover software, como uma sofisticada (e gratuita) "loja de aplicativos". Ele assume a responsabilidade de garantir que as dependências sejam atendidas e rastrear o que está instalado no momento.
Normalmente, o gerenciador de pacotes também permitirá as mesmas operações em um pacote baixado manualmente fora de qualquer repositório. As ferramentas também estão disponíveis se você quiser criar o seu próprio a partir do software que você criou ou compilou.
Como o pacote em si NÃO é um arquivo executável, você não precisa executar um executável não confiável, o que realmente não sabe o que faz. (O Windows finalmente está disponibilizando atualizações distribuindo
.msu
's em vez de.exe
' - mas.msi
já existem há algum tempo ...)fonte
Você pode obter uma lista dos arquivos que um determinado
yum
pacote instala fazendo:Então você pode executá-lo assim:
(Obviamente, substitua "yum-utils" nesse segundo pelo nome do pacote cuja lista de arquivos você gostaria de ver.)
Para
apt-get
, você pode usar:fonte
Normalmente
/usr/bin
, apesar de depender do aplicativo ou biblioteca específico que você está instalando.fonte
No Linux / Unix, a maioria dos programas geralmente não termina em um único diretório, mas diferentes partes dele (arquivos executáveis, arquivos de configuração, arquivos de log, documentação e outros recursos) estão espalhados pelo sistema de arquivos - geralmente por meio de ligação simbólica. O artigo da Wikipedia descreve com mais detalhes a estrutura de diretórios padrão sob uma hierarquia normal do sistema de arquivos, mostrando os diferentes diretórios e o que você pode esperar encontrar em cada um.
fonte
O
/opt
diretório é reservado para instalações do tipo Windows, onde cada pacote possui sua própria árvore de diretórios. Ninguém usa. Não sei por que; pode ser que acrescentar/opt/PACKAGE/bin
ao seu$PATH
toda vez que você instala um pacote seja muito irritante.fonte
/opt
parece ser usado principalmente por pacotes de software comerciais / não livres, como o MATLAB./opt
mas também o LibreOffice 3.5, que eu instalei diretamente daqui .O software no Linux é um pouco diferente em paradigma do Windows ou Mac. Nesses, um executável e todos os seus arquivos de suporte são instalados em uma única pasta: o Windows normalmente os mantém
c:\Program Files\program name
, a Apple entra/Applications/program.app
. No Linux, há uma estrutura comunitária mais ... Os binários geralmente estão dentro/usr/bin
, a configuração em todo o sistema está dentro/etc
, a configuração específica do usuário geralmente está em~/.program
. As bibliotecas estão disponíveis/usr/lib
, os arquivos de suporte (por exemplo, obras de arte) estão frequentemente disponíveis/usr/share/program
, etc. Existe até um padrão sugerindo para onde as coisas devem ir.Os programas são geralmente instalados pelos gerenciadores de pacotes
rpm
edpkg
; eles são pesquisados e recuperados automaticamente (incluindo gerenciamento de dependências) poryum
eaptitude
/apt-get
, respectivamente. Em um nível mais técnico, os pacotes são arquivos compactados simples (acredito que rpm e deb são ambos.tar.gz
). Esses arquivos contêm um espelho das partes do sistema de arquivos da raiz para onde os arquivos vão (por exemplo, um arquivo que deveria ser instalado/usr/bin/program
estará nausr/bin/program
pasta apropriada dentro do pacote.Para encontrar informações sobre um pacote específico, use o gerenciador de pacotes do seu sistema, como outros explicaram aqui.
fonte
A página de hier hier pode fornecer algumas informações
fonte