O que o script de instalação faz no apt-get install?

13

Parece que apt-get install baixará um pacote Debian e tentará executar o script de instalação para:

  • Crie o diretório adequado
  • Crie uma conta adequada
  • Copiar arquivos binários
  • Copiar arquivos de dados
  • Copiar arquivos Conf
  • Copiar script init.d
  • Iniciar serviço
  • etc.

Estou realmente interessado e quero descobrir o que está acontecendo passo a passo. Existe alguma maneira de ver isso? Como os comandos do shell de impressão em modo “dry run”?

    
por ShenLei 11.02.2015 / 10:14

1 resposta

24

Resumindo : apt-get install faz tudo o que é necessário para que seu sistema possa executar com êxito o novo aplicativo de software instalado.

Versão mais longa:

Preliminares:

Na página de manual :

All packages required by the package(s) specified for installation will also be retrieved and installed.

Esses pacotes são armazenados em um repositório na rede (internet). Portanto, apt-get faz o download de todos os pacotes necessários em um diretório temporário ( /var/cache/apt/archives/ ). Eles serão baixados de um servidor web ou FTP. Eles são especificados no chamado sources.list ; uma lista de repositórios para o gerenciador de pacotes apt. A partir daí, eles são instalados um por um processualmente.

Os primeiros a serem instalados são os que não possuem mais dependências; Portanto, nenhum outro pacote deve ser instalado para que funcione corretamente. Através disso, outros pacotes (que tinham dependências anteriormente) não têm mais dependências agora. O sistema continua fazendo esse processo repetidamente até que os pacotes especificados sejam instalados.

Cada pacote é submetido a um procedimento de instalação.

Procedimento de instalação do pacote:

Nas distribuições Linux baseadas no Debian, como Ubuntu ou Mint, esses pacotes estão em um formato padronizado especificado chamado: deb - > O formato do pacote binário do Debian .

Esse pacote contém os arquivos a serem instalados no sistema. Além disso, eles contêm um arquivo de controle . Esse arquivo contém scripts que o sistema de empacotamento deve executar em uma situação específica; os chamados scripts do mantenedor . Esses scripts são divididos em:

  • preinst : antes da instalação dos arquivos na hierarquia de arquivos do sistema
  • postinst : após a instalação
  • prerm : antes da desinstalação
  • postrm : após a desinstalação

Esses scripts são o lugar onde usuários específicos são criados ou alguns serviços que precisam ser reiniciados ou outras preliminares necessárias para o pacote funcionar.

Além desses scripts, o sistema de pacotes tem acionadores destinados a eventos específicos. Por exemplo, a regeneração de initrds ao instalar uma nova versão do kernel ou ldconfig ou o man-db. Eles são ativados por um ou mais pacotes e executados no final de todo o processo de instalação.

Há uma foto interessante mostrando o procedimento de uma instalação de um novo pacote:

Existemtambémmaisarquivosdecontrole,osmaisimportantessãoosseguintes:

Se você está interessado, pode descompactar um pacote deb (depois de baixar) manualmente e ver o que está dentro:

# to only download the package (no installation)
apt-get download package
# to unpack the deb file
ar x package.deb

Agora você vê um arquivo chamado data.tar.gz contendo os arquivos e um arquivo chamado control.tar.gz contendo os quatro scripts do mantenedor e os arquivos de controle mencionados acima.

    
por 11.02.2015 / 11:16