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.869 ]

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


Criação do repositório local



Aproveitando-se do passo anterior veremos como adicionar a pasta 'debs' como repositório local, para isso moveremos a tal pasta 'debs' para /opt, mas no exemplo a renomearei para 'packages':
sudo cp -a $HOME/Desktop/debs /opt/packages

Entraremos na pasta /opt/packages:

cd /opt/packages

E atualizaremos o índice de pacotes:

sudo dpkg-scanpackages . /dev/null > Packages

Ou caso queiram:

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

* conclusão do comando acima:
A seguir é hora de adicionar o novo repositório no sources.list:
sudo nano /etc/apt/sources.list

Adicione a entrada abaixo:

### meu repositório local de pacotes.
deb file:/opt/packages /

Após salvar e fechar o arquivo com Ctrl+O e Ctrl+X é hora de atualizar as listas de pacotes e instalar|remover ou reinstalar o que quiser:
sudo apt-get update
ou
sudo apt-get install <pacote>
ou
sudo apt-get remove <pacote>
ou
sudo apt-get install --reinstall <pacote>

Ou mesmo obter informações dos pacotes:
apt-cache search|show <pacote>

E no Synaptic...

Pacotes instalados: 2051, informações de um kernel compilado:
Reinstalação de todos os pacotes:
e terminamos!

Página anterior     Próxima página

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

MATE Desktop 1.16.0 [GTK3] no Slackware

Kernel atualizado no Debian - Parte II

Configurando o modem ZTE MF626 com Vivo3G no Debian

Lubuntu, um Ubuntu mais Leve!

Baixando arquivos do MegaUpload, Rapidshare, 2Shared, 4Shared, ZShare, Badongo, DepositFiles e Mediafire

Leitura recomendada

VNC - Virtual Network Computing

Gerenciamento de pacotes RPM (parte 1)

Cluster Beowulf

Driver nVidia se sua placa tem chipset da SiS

Debian 10 com i3 como Gerenciador de Janelas no XFCE

  
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