Reempacotamento e repositório local em um sistema Debian-like

Nesse pequeno artigo venho demonstrar como criar um repositório local para cache de pacotes .deb e veremos também como reempacotar todo um sistema para a utilização posterior de seus pacotes.

[ Hits: 20.886 ]

Por: edps em 11/04/2011 | Blog: https://edpsblog.wordpress.com/


Considerações finais



Espero que este artigo seja bastante útil, sobretudo em poder ajudar aqueles que precisem instalar um sistema Debian-like (Debian, Ubuntu, Linux Mint e derivados), mas não disponham de CD de instalação ou acesso à Internet.

Como visto o único pacote requerido para o processo é o dpkg-repack e fora o passo indicado no início, o dpkg-repack também pode ser através desse endereço:
ou em:
Após ter baixado o pacote instale-o assim:

sudo dpkg -i dpkg-repack*.deb
$ sudo apt-get -f install


Fontes consultadas:
* caso alguém se interesse em divulgar este artigo em outro espaço que não o VOL, só peço que mantenham os créditos de autoria do mesmo ou que me envie uma MP.

Um abraço.

Página anterior    

Páginas do artigo
   1. Introdução
   2. Criação do repositório local
   3. Considerações finais
Outros artigos deste autor

Instalação do Debian em partição ReiserFS

Sabayon CoreCDX FluxBox 5.3, excelente!

Turbinando o Bodhi Linux

Instalação do navegador Vivaldi no GNU/Linux

Recuperação de partições deletadas com o TestDisk

Leitura recomendada

Debian sem Systemd

Tutorial de Instalação do Módulo Gerente em Servidor FreeBSD

Slackware 14.2 - Configuração pós-instalação

Como transformar Salix OS em Slackware

Atributos de arquivos no Linux

  
Comentários
[1] Comentário enviado por eldermarco em 11/04/2011 - 17:29h

Que interessante esse negócio de reempacotar todo o sistema! Muito bom edps!

[2] Comentário enviado por removido em 11/04/2011 - 18:21h

Obrigado eldermarco, isso é bastante útil no caso das pessoas que não tem acesso a Net e que assim quem sabe podem utilizar uma versão determinada de um programa que esteja disponível em outra máquina.

A questão do espelho local é porque ultimamente venho compilando e empacotando muitos pacotes com o Checkinstall, assim fica mais fácil de gerenciá-los. O LibreOffice já está nos repositórios Debian, mas por hora preferi manter a versão que tinha baixado do site oficial.

t+

[3] Comentário enviado por removido em 11/04/2011 - 19:44h

Não sei quem é mais versátil, se é você com toda sua bagagem em GNU/Linux ou o próprio Linux.
Quantas possibilidades! Incrível! Não tem como não dizer que o Linux é o melhor sistema.
Quanto mais leio e aprendo, mais coisas tenho a aprender com você e todos aqui.

Muito bom, Edinaldo.

[4] Comentário enviado por removido em 11/04/2011 - 22:25h

Obrigado Izaias por suas palavras;

a idéia do espelho local não é nova inclusive existem artigos no próprio VOL a esse respeito, mas foi com a dica do DicasL que obtive o melhor resultado.

Sobre o reempacotamento já fiz muito disso quando conheci as maravilhas dos antigos knoppix, kanotix, sidux... grande parte de seus aplicativos eu reempacotava e instalava no meu Debian. Não existe a promessa que tudo o que for reempacotado será possível instalar noutra máquina devido a questão das dependências, porém em máquinas com sistemas semelhantes é bem provável que tudo funcione.

um abraço!


[5] Comentário enviado por rauldipeas em 11/04/2011 - 23:33h

Existe algum meio de "autenticar" os pacotes do repositório local?
Por que no Ubuntu, o gerenciador de atualizações dá erro com esses pacotes na hora de atualizar...

[6] Comentário enviado por removido em 11/04/2011 - 23:42h

@rauldipeas,

você pode usar o método que expus nessa dica:

http://www.vivaolinux.com.br/dica/Autenticacao-de-repositorios-em-distros-Debianlike/

ou simplesmente usar a opção ' allow-unauthenticated ' como em:

$ sudo apt-get install --allow-unauthenticated kde-full

* o método da dica é bem melhor pois é definitivo.

um abraço.

[7] Comentário enviado por brunotec em 12/04/2011 - 01:08h

Muito Bom Artigo,

Acho que para ambientes corporativos ou em lan houses onde é preciso instalar em várias máquinas ou como foi dito no artigo em máquinas que não possuam internet é uma ajuda e tanto!!

Agora para uma reinstalação futura pode ser que não seja muito lucrativo pois com as atualizações constantes dos pacotes ocorreria de a maioria estar desatualizada, mas é claro dependendo do tamanho do pacote como em um Libreoffice por exemplo ai seria legal já que como ele é um pouco grande dai bastaria atualizar.

No caso do Debian Estável acho que seria legal tbm já que só recebe atualizações de segurança e sendo assim a maioria dos pacotes não necessitariam de atualização.

@edps

vc é uma grande referencia aqui do VOL para Debian e eu que ja gostava muito dessa distro com seus artigos me identifico com ela cada vez mais.

10zão e um abraço.

[8] Comentário enviado por chimico em 12/04/2011 - 13:47h

Olá edps, vc pode fazer assim também:

dpkg --get-selections | awk '{if ($2=="install") print $1}' | dpkg-repack

para reempacotar sua distro. Já fiz isso em um live cd a partir de uma partição do hd montada para salvar os pacotes deb.
Afinal um live-cd pode além de te fornecer ferramentas de recuperação alguns pacotes no caso de algum problema.
t++

[9] Comentário enviado por tonyrecife em 12/04/2011 - 13:59h

muito bom mesmo. Uso repositório local pra economizar banda de internet. Apenas o servidor baixa os pacotes da internet, os outros baixam dele, isso somado com cache de páginas, etc...
Viva o Linux. Parabens edps.

[10] Comentário enviado por removido em 12/04/2011 - 18:42h

Valeu galera (brunotec, chicotrance e tonyrecife), obrigado pelos comentários.

@chicotrance,

thanks man again! estás me devendo aquela dica do debdelta hein rsrsrs, um abraço meu brother!


[11] Comentário enviado por chimico em 12/04/2011 - 22:44h

Ae edps, a propósito postei hoje (12/04/2011), espero que aprovem, faz tempo que não posto nada (13/03/2008 ), mas tenho muita coisa pra postar, pois me foquei em otimização (sem compilar) e algumas ferramentas em linha de comando como awk, sed, find, kerneis enxutos, mudar o file system sem fazer uma nova instalação (inclusive do root /), apt-build, apt-fast (outros gerenciadores de download), gosto do Arch, mas o Debian..., prefiro compilar tudo nele, ferramentas de backup,...

Abraço!

[12] Comentário enviado por rauldipeas em 13/04/2011 - 04:33h

@edps Obrigado pelas dicas, mais a minha dúvida é sobre como criar um repositório local com chave GPG, falo isso por que tenho um repositório pessoal hospedado no sourceforge, e não sei como criar uma chave GPG pra esse repositório...

Eu só criei o repositório local e hospedei a estrutura de pastas com os arquivos no sourceforge.

Desde já agradeço sua atenção!!

AbraxX!!

[13] Comentário enviado por removido em 13/04/2011 - 18:31h

@chicotrance, valeu e no aguardo de sua dica.

@rauldipeas, nunca fiz esse processo portanto não sei como se faz, mas vendo o artigo abaixo da Ubuntu Wiki, parece que não é difícil:

http://wiki.ubuntu-br.org/GnuPG

1 - instalar o GNUPG
2 - criar suas chaves privadas e pública
3 - assinar seus arquivos
4 - enviar sua chave para um servidor.

caso tente e se funcionar, posta um artigo no VOL.

artigos sobre o assunto:

http://www.vivaolinux.com.br/artigo/Gerar-par-de-chaves-com-o-GnuPG-em-11-passos
http://www.vivaolinux.com.br/artigo/Assinatura-e-criptografia-de-dados-com-GPG/

espero tê-lo ajudado!

[14] Comentário enviado por Fabio_Farias em 27/04/2011 - 10:11h

Parabéns Edinaldo.
Mais um belo trabalho seu amigo. É sempre um prazer ler trabalhos como esse. Obrigado por contribuir.
Abraços!

[15] Comentário enviado por brunotec em 27/04/2011 - 14:39h

SALVOU A PÁTRIA !!!

tem um PC aqui em casa onde é inviável levar um cabo de rede até ele e para funcionar meu wireless usb nele eu precisava instalar o firmware-ralink e wireless-tools mas baixando os debs e levando até ele sempre dava errode dependencias "lib" e com esse reempacotamento eu consegui instalar os aplicativos de boa e consegui fazer funcionar a wireless! hehehe

o repositório funcionou direitinho e aproveitei e já instalei os drivers nvidia e outras coisa.


mais uma vez, Valeu.

[16] Comentário enviado por removido em 27/04/2011 - 17:42h

@FábioFarias,

obrigado pelo comentário caro colega, um abraço!

@brunotec,

beleza cara, que bom que funcionou.

[17] Comentário enviado por removido em 27/04/2011 - 17:50h


ADENDO AO ARTIGO:


sempre que novos pacotes forem adicionados ou excluídos do repositório local é recomendável que se faça:

$ cd caminho-da-pasta ### no meu caso /opt/packages

$ sudo dpkg-scanpackages . /dev/null > Packages

ou

$ sudo dpkg-scanpackages . /dev/null | sudo gzip -9c > Packages.gz

$ sudo apt-get update


peço desculpas por ter esquecido esse detalhe pois só atentei a isso quando baixei os pacotes do Emerald para Debian e os adicionei no repo local, mas não rodei os passos acima.

* sobre o Emerald para Debian e derivados:

http://www.vivaolinux.com.br/screenshot/Xfce-XFCE+Compix+Emerald/

[18] Comentário enviado por removido em 05/05/2011 - 16:19h

gostei,so ficaria melhor com algo parecido com o um script para reinstalar todos os pacotes .

[19] Comentário enviado por noctuae em 06/05/2011 - 13:35h

Ta aparecendo isso em todos os pacotes processados...

dpkg-deb: building package `amsn' in `./amsn_0.98.4-0ubuntu1_amd64.deb'.
dpkg-deb: warning: './dpkg-repack-3271/DEBIAN/control' contains user-defined field 'Original-Maintainer'
dpkg-deb: warning: ignoring 1 warning about the control file(s)

Porque será...

[20] Comentário enviado por noctuae em 06/05/2011 - 13:40h

Outra coisa

Eu to com problemas com a minha placa de video , sera que na reinstalação destes pacotes no sistema zerado no mesmo PC nao vou recolocar o problema de novo...

[21] Comentário enviado por removido em 23/05/2011 - 09:07h

@ noctuae ,tive o mesmo problema,esse foi o segundo.
no primeiro passo da primeira vez não deu quase nenhum erro mas na hora de mover os arquivos para uma pasta percebi que os pacotes eram menores que o original,na hora de criar repositório deu erro(por alguma informação errada no pacote).
O que deve dar esses erros nos arquivos de controle do *.deb ?

[22] Comentário enviado por removido em 23/05/2011 - 20:08h

desculpa aí galera por não ter visto esses últimos comentários.

em relação ao arquivo 'control' são apenas warnings, que não influenciaram no tamanho dos pacotes.

sobre o tamanho dos pacotes uma possível causa seria o 'localepurge' que remove todo e qualquer locale que não esteja definido (marcado) em /etc/locale.nopurge, isso influenciará no tamanho do pacote com certeza.

até parei de usá-lo, pois como uso o debdelta para diminuir o tamanho dos pacotes baixados durante a atualização do sistema, se o localepurge estiver instalado os deltas não são aplicados.

um abraço!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts