Usando o dpkg para instalar pacotes de atualização e dist-upgrade

9

Então, eu estou brincando com a instalação de pacotes offline no 12.04 Server, baixando pacotes recuperando e wgetting seus URIs usando as instruções aqui: http://www.webupd8.org/2009/11/get-list-of-packages- and-dependencies.html

Eu fiz isso apt-get upgradee apt-get dist-upgrade, em seguida, fui instalar os pacotes baixados usando dpkg -i. Então, o processo ficou assim:

  1. Obter URIs
  2. wgetos pacotes para uma pasta ( upgradepacotes para / upgrade e dist-upgradepacotes para / dist-upgrade)
  3. corra dpkg -i /upgrade/*.debe depoisdpkg -i /dist-upgrade/*.deb

A minha pergunta é: será que esse método de instalação manualmente os pacotes atualizados corretamente se tudo atualizados, dando o mesmo resultado como se eu tivesse acabado de correr apt-get upgradee apt-get dist-upgradenormalmente? Ou existe algo que os apt-getcomandos normais fazem que não seriam executados dessa maneira?

R4mzy
fonte

Respostas:

15

Em vez de usar dpkg, que é um gerenciador de pacotes de baixo nível, seria melhor usá-lo apt. Para instalar os arquivos .deb usando apt, copie-os para o cache apt

sudo cp *.deb /var/cache/apt/archives/

e faça a atualização regular:

apt-get upgrade

O aptcomando usará os arquivos em seu cache, em vez de baixá-los da rede, de modo que atenda a sua finalidade.

sayantankhan
fonte
Obrigado, isso funciona muito bem. Embora eu ainda esteja curioso sobre o que exatamente apté diferente dpkgnesse caso, dado que originalmente eu costumava aptobter os URIs de todos os pacotes, incluindo suas dependências? Quando se trata do ato real de instalação, parece que ele aptestá apenas usando dpkgpara executar a descompactação e instalação dos pacotes, a única diferença é que aptverifica as dependências de antemão (mas isso já está coberto porque eu costumava aptbaixar os pacotes, incluindo dependências, em primeiro lugar). A menos que eu esteja perdendo alguma coisa?
R4mzy 7/11
Além disso, parte do motivo pelo qual pergunto é que estou preocupado com o apt'scomportamento, se, digamos, os pacotes baixados forem copiados em um sistema que tenha acesso à Internet e, em seguida, aptperceberem que alguns ou todos os pacotes baixados não são os mais recentes. (mas mais recente do que o que está atualmente instalado) e, em seguida, tenta obter as versões atualizadas desses pacotes específicos (quero instalar apenas os pacotes / versões específicos que baixei). Basicamente, aptprefere a versão online mais recente ou prefere uma versão local, mais nova, mas não a mais recente?
R4mzy 7/11
11
@ R4mzy Você tem um ponto válido lá. apttentará obter o pacote mais recente da Internet, mesmo se houver pacotes mais antigos disponíveis localmente. Pode ser necessário alterar para verificar /etc/apt/sources.listse ele instala os pacotes locais.
precisa
@sayantankhan, você pode mostrar como isso seria na sua resposta? Estou perguntando porque copiei meu arquivo .deb, /var/cache/apt/archives/mas sudo apt-get update && sudo apt-get upgradenão o vejo ou atualizo / atualizo o pacote necessário. Sinto que preciso atualizar a lista, mas não sei como.
21416 Todd
11
@ Todd Eu não fiz isso sozinho, mas aqui está uma maneira de alguém substituir a prioridade do pacote apt.
sayantankhan