Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Criando Imagens de DVD do Repositório Ubuntu

Colaboração: Antonio Carlos Braga Machado

Data de Publicação: 26 de Dezembro de 2006

Todo mundo sabe que o debian disponibiliza seu repositório inteiro em imagens de dvd, e isso facilita em muito quem deseja levar para casa ou qualquer outro lugar pacote do repositório para instalação em máquinas sem internet por exemplo, partindo desse princípio sempre pensei porque a distro ubuntu não tem imagens completas do seu repositório, ela somente disponibiliza uma unica imagem de dvd do repositório principal "main", deixando os maiores repositórios universe e multiverse somente acessado opcionalmente na internet pois estes ela não dá suporte.

Requisitos

Então vamos ao que interessa, pacotes que necessitamos para criar nossas imagens:

  • Pacote debpartial
  • Pacote debpartial-mirror
  • Um HD com pelo menos 20GB para universe e multiverse e para gerar o iso, se for fazer um mirror completo será preciso 30GB livre

Construindo um mirror local

Precisamos instalar o pacote debpartial-mirror para baixar o mirror local e só assim depois poder gerar as imagens de dvd, no meu caso eu vou criar dois mirrors, o mirror dos repositórios universe e multiverse que não vem no dvd oficial, e também vou criar o mirror dos repositórios de update e security main, restricted, universe e multiverse, assim poderei sempre está gerando um dvd com atualizações constantemente.

  # apt-get install debpartial-mirror

Agora é preciso modificar o arquivo /etc/debpartial-mirror.conf.

  [mirror]
  # Servidor mirror de origem
  server=http://archive.ubuntu.com/ubuntu/
  
  # Diretório destino do seu mirror
  local_directory=/dados/ubuntu-mirror/dapper/
  
  # Download pacotes sugeridos?
  get_suggests=true
  
  # Download pacotes recomendados?
  get_recomends=true
  
  # Download provided packages?
  get_provides=true
  
  # Qual arquitetura do download?
  archs=i386
  
  # Aqui nós especificamos a versão do repositório a ser baixando.
  [dapper]
  filter= universe:*:* multiverse:*:*
  
  # Caso queria baixar tudo do repositorio comentar a linha acima e descomentar a linha abaixo:
  #filter= main:*:* restricted:*:* universe:*:* multiverse:*:*

Agora para criarmos o segundo repositório das atualizações e segurança, copie o arquivo anterior original:

  # cd /etc/
  # cp debpartial-mirror.conf debpartial-update.conf
  # vi debpartial-update.conf

Altere como abaixo, não se esquecendo de alterar o caminho do diretório do seu mirror local_directory=/dados/ubuntu-mirror/dapper-updates/, se não quando executar o comando debpartial-mirror -c /etc/debpartial-update.conf, ele irá apagar o mirror anterior.

  [mirror]
  # Servidor mirror de origem
  server=http://archive.ubuntu.com/ubuntu/
  
  # Diretório destino do seu mirror
  local_directory=/dados/ubuntu-mirror/dapper-updates/
  
  # Download pacotes sugeridos?
  get_suggests=true
  
  # Download pacotes recomendados?
  get_recomends=true
  
  # Download provided packages?
  get_provides=true
  
  # Qual arquitetura do download?
  archs=i386
  
  # Aqui nós especificamos a versão do repositório a ser baixando, essa é a diferença principal do mirror anterior, dapper-updates e dapper-security.
  
  [dapper-updates]
  filter= main:*:* restricted:*:* universe:*:* multiverse:*:*
  
  [dapper-security]
  filter= main:*:* restricted:*:* universe:*:* multiverse:*:*

Agora vem a parte mais demorada, mas pelo menos um consolo demora somente na primeira vez, depois ele baixa somente as alterações no mirror, é preciso uma internet banda larga, e bota banda larga nisso :).

  # sudo debpartial-mirror  (aqui ele assume o arquivo default /etc/debpartial-mirror.conf)
  # sudo debpartial-mirror -c /etc/debpartial-update.conf (mirror updates e security)

Criando as Imagens

Agora para este passo utilize o script abaixo, mas antes é preciso pegar um arquivo chamado debcopy que vem no pacote debpartial, copie o debcopy para o mesmo diretório do script que será criado a serguir.

  # sudo apt-get install debpartial
  # cp /usr/share/doc/debpartial/examples/debcopy.gz .
  # gzip -d debcopy.gz

Agora crie um scrip com um nome do tipo geradvd.sh para gerar o dvd universe e multiverse. Vou explicar somente as variáveis mais importante. UBUNTU_FULL_REP -> essa variável é o caminho completo que ==Vocabulary Help== especificou ao criar o mirror.

  #!/bin/bash
  
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>#
  # Variables #
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>#
  
  # Mirror of the complete local ubuntu repository (main, universe, multiverse)
  UBUNTU_FULL_REP="/dados/ubuntu-mirror/dapper"
  
  # Directory where the
  ISOS_DIR="/dados/isos"
  
  # DVD sized Repositories
  #MAIN_REP_DVD="/home/ubuntu-dvd/main"
  UNIVERSE_MULTIVERSE_REP_DVD="/dados/ubuntu-mirror/dapper-dvd"
  
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>
  # End of Variables #
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>
  
  echo Removing current dvd-sized repositories...
  echo "$UNIVERSE_MULTIVERSE_REP_DVD/*"
  rm -rf $UNIVERSE_MULTIVERSE_REP_DVD/*
  
  echo
  echo Building universe and multiverse...
  echo
  
  debpartial --nosource --dirprefix=ubuntu --section=universe,multiverse \
  --dist=dapper-updates --size=DVD $UBUNTU_FULL_REP/ $UNIVERSE_MULTIVERSE_REP_DVD
  
  echo
  echo "Making the soft links with universe and multiverse... (debcopy -l)"
  echo
  
  i=0
  for part in $UNIVERSE_MULTIVERSE_REP_DVD/*; do
  echo "Linking $part..."
  ruby debcopy -l $UBUNTU_FULL_REP $part
  (( i++ ))
  
  echo "#define DISKNAME  Ubuntu Universe Multiverse $i" > $part/README.diskdefines
  echo "#define TYPE  binary" >> $part/README.diskdefines
  echo "#define TYPEbinary  $i" >> $part/README.diskdefines
  echo "#define ARCH  i386" >> $part/README.diskdefines
  echo "#define ARCHi386  $i" >> $part/README.diskdefines
  echo "#define DISKNUM  $i" >> $part/README.diskdefines
  echo "#define DISKNUM1  $i" >> $part/README.diskdefines
  echo "#define TOTALNUM  $i" >> $part/README.diskdefines
  echo "#define TOTALNUM1  $i" >> $part/README.diskdefines
  mkdir $part/.disk
  echo "Ubuntu Universe Multiverse $i" > $part/.disk/info
  
  echo "Building iso image: $ISOS_DIR/ubuntu-universe-multiverse-$i.iso"
  mkisofs  -quiet -V "Ubuntu Universe Multiverse $i" -f -J -r -o \
  $ISOS_DIR/ubuntu-universe-multiverse-$i.iso $part
  done

Agora um escript com nome geradvd-update.sh igual ao anterior somente modificando a variável de caminho para o repositorio de atualizações e o nome do iso.

  #!/bin/bash
  
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>#
  # Variables #
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>#
  
  # Mirror of the complete local ubuntu repository (main, universe, multiverse)
  UBUNTU_FULL_REP="/dados/ubuntu-mirror/dapper-updates"
  
  # Directory where the
  ISOS_DIR="/dados/isos"
  
  # DVD sized Repositories
  UPDATES_REP_DVD="/dados/ubuntu-mirror/dapper-updates-dvd"
  
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>
  # End of Variables #
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>
  
  echo Removing current dvd-sized repositories...
  echo "$UPDATES_REP_DVD/*"
  rm -rf $UPDATES_REP_DVD/*
  
  echo
  echo Building Ubuntu Updates...
  echo
  
  debpartial --nosource --dirprefix=ubuntu --section=main,restricted,universe,multiverse --dist=dapper-updates,dapper-security --size=DVD \
  $UBUNTU_FULL_REP/ $UPDATES_REP_DVD/
  
  echo
  echo "Making the soft links with Updates... (debcopy -l)"
  echo
  
  for part in $UPDATES_REP_DVD/*; do
  echo "Linking $part..."
  ruby debcopy -l $UBUNTU_FULL_REP $part
  (( m++ ))
  
  echo "#define DISKNAME  Ubuntu Updates Security $m" > $part/README.diskdefines
  echo "#define TYPE  binary" >> $part/README.diskdefines
  echo "#define TYPEbinary  $m" >> $part/README.diskdefines
  echo "#define ARCH  i386" >> $part/README.diskdefines
  echo "#define ARCHi386  $m" >> $part/README.diskdefines
  echo "#define DISKNUM  $m" >> $part/README.diskdefines
  echo "#define DISKNUM1  $m" >> $part/README.diskdefines
  echo "#define TOTALNUM  $m" >> $part/README.diskdefines
  echo "#define TOTALNUM1  $m" >> $part/README.diskdefines
  mkdir $part/.disk
  echo "Ubuntu Updates Security $m" > $part/.disk/info
  
  echo "Building iso image: $ISOS_DIR/ubuntu-updates-security-$m.iso ..."
  mkisofs  -quiet -V "Ubuntu Updates Security $m" -f -J -r -o $ISOS_DIR/ubuntu-updates-security-$m.iso $part
  
  done

Ao executar os scripts o repositório universe e multiverse irá gerar 3 DVDS, 2 DVDS completos e um terceiro iso em torno de 400MB que pode ser gravado em cd, esses praticamente não sofrerá mais mudanças você pode gravar definitivamente.

Já o iso de update e security ficará com 1,5GB, praticamente todo dia sai atualizações para ubuntu, você pode agendar o debpartial-mirror para baixar as atualizações para seu mirror local e gerar sempre um dvd atualizado.

Deixo aqui minha experiência espero que seja util.

Documentação de referência "Building Ubuntu DVD images" em http://cargol.net/~ramon/ubuntu-dvd-en

Veja a relação completa dos artigos de Antonio Carlos Braga Machado

Stumble Upon Digg This Del.icio.us Twitter Recomendar este artigo a um amigo Entre em contato Formato PDF
Newsfeed RSS
Formato para impressão
StumbleUpon Digg Del.icio.us Twitter Recomendar Contato PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.98/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (759 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Twitter, Chiclete e Camisinha


Encontre imóveis, apartamentos e casas a venda no Imobilien
Saiba mais