Você está na página 1de 9

Mirror de reposotorio Debian/Ubuntu

Laboratrio de Software Livre o DCC / UFMG 23 de maro de 2009 c

Sumrio a
1 Introduo ca 2 Pr-requisitos e 3 Instalao ca 3.1 Ferramenta apt-mirror . . . . . . . . . . . . . . . 3.2 Congurao . . . . . . . . . . . . . . . . . . . . ca 3.2.1 Congurando o apt-mirror . . . . . . . . . 3.2.2 Selecionando os repositrios para o Mirror o 4 Criar o Mirror 5 Atualizar o Mirror 6 Utilizar o Mirror 7 Crditos e 3 3 3 3 3 3 5 6 7 7 9

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

Introduo ca

i Esta documentaao voltada para a criaao de um espelho de repositrio c e c o Ubuntu/Debian. Espelhos de repositrio so interessantes j que, uma vez o a a criados, permitem disponibilizar pacotes localmente para a rede interna. Obs: Os testes desta documentaao foram feitos no Ubuntu 8.10 ( verao c c atual na presente data)

Pr-requisitos e

Para o acesso e utilizaao do Mirror, os programas FTP e Apache se c fazem necessrios. a

Instalao ca

3.1

Ferramenta apt-mirror

Ser necessario instalar apenas o programa apt-mirror que responsavel pela a e criaao do espelho. Para isto basta digitar em um terminal: c $ sudo aptitude install apt-mirror

3.2
3.2.1

Congurao ca
Congurando o apt-mirror

Por default, a conguraao da ferramenta apt-mirror toma o caminho /var/spool/aptc mirror como o local onde o espelho ser criado. Para mudar isso, basta editar a o arquivo mirror.list que se encontra no /etc/apt/mirror.list $ sudo vim /etc/apt/mirror.list Por exemplo, para que o apt-mirror crie o repositrio em /opt/ubuntu/repositrio o o voc deve mudar o inicio do arquivo mirror.list de: e

############# config ################## # # set base_path /var/spool/apt-mirror # # if you change the base path you must create the directories below with write # privileges # # set mirror_path $base_path/mirror # set skel_path $base_path/skel # set var_path $base_path/var # set cleanscript $var_path/clean.sh # set defaultarch <running host architecture> set nthreads 20 set _tilde 0 # ############# end config ##############

Para:
############# config ################## # set base_path /opt/ubuntu/repositrio o # # if you change the base path you must create the directories below with write # privileges # set mirror_path $base_path/mirror set skel_path $base_path/skel set var_path $base_path/var set cleanscript $var_path/clean.sh # set defaultarch <running host architecture> set nthreads 20 set _tilde 0 # ############# end config ##############

Feito isso, ser necessrio criar os diretorios e copiar o script de limpeza. a a Para isso digite no terminal: $ sudo mkdir /opt/ubuntu/repositrio/mirror o $ sudo mkdir /opt/ubuntu/repositrio/skel o $ sudo mkdir /opt/ubuntu/repositrio/var o $ sudo cp /var/spool/apt-mirror/var/clean.sh /opt/ubuntu/repositrio/var o

Agora necessrio passar os direitos de escrita nesses diretrios para o e a o usurio apt-mirror. Uma forma de garantir isso tornar o usurio apt-mirror a e a dono desses diretorios 4

$ sudo chown -Rv apt-mirror:apt-mirror /opt/ubuntu/repositrio o

3.2.2

Selecionando os repositrios para o Mirror o

O arquivo que diz ao apt-mirror quais repositrios criar mirror se encontra o em /etc/apt/mirror.list Por default os repositrios listados no arquivo so: o a

############# end config ############## deb http://archive.ubuntu.com/ubuntu intrepid main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu intrepid-updates main restricted universe multiverse #deb http://archive.ubuntu.com/ubuntu intrepid-backports main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu intrepid-security main restricted universe multiverse #deb http://archive.ubuntu.com/ubuntu intrepid-proposed main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu intrepid main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu intrepid-updates main restricted universe multiverse #deb-src http://archive.ubuntu.com/ubuntu intrepid-backports main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu intrepid-security main restricted universe multiverse #deb-src http://archive.ubuntu.com/ubuntu intrepid-proposed main restricted universe multivers clean http://archive.ubuntu.com/ubuntu

Caso voc queira tambm os repositrios de backports e proposed basta dese e o comentar as linhas comentadas. Outra observaao importante e que a maquina utilizada para esta docuc mentao era 64 bits portanto o espelho que seria criado era apenas para ca esta arquitetura. Caso queira que a maquina monte um mirror de 32 bits tambm, basta duplicar cada linha de endereo de repositrio e especicar a e c o arquitetura. Em nosso exemplo caria do seguinte modo:

############# end config ############## deb http://archive.ubuntu.com/ubuntu intrepid main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu intrepid-updates main restricted universe

multiverse deb http://archive.ubuntu.com/ubuntu intrepid-backports main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu intrepid-security main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu intrepid-proposed main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu multiverse deb-src http://archive.ubuntu.com/ubuntu universe multiverse deb-src http://archive.ubuntu.com/ubuntu universe multiverse deb-src http://archive.ubuntu.com/ubuntu universe multiverse deb-src http://archive.ubuntu.com/ubuntu universe multiverse intrepid main restricted universe intrepid-updates main restricted intrepid-backports main restricted intrepid-security main restricted intrepid-proposed main restricted

deb-i386 http://archive.ubuntu.com/ubuntu multiverse deb-i386 http://archive.ubuntu.com/ubuntu universe multiverse deb-i386 http://archive.ubuntu.com/ubuntu universe multiverse deb-i386 http://archive.ubuntu.com/ubuntu universe multiverse deb-i386 http://archive.ubuntu.com/ubuntu universe multiverse

intrepid main restricted universe intrepid-updates main restricted intrepid-backports main restricted intrepid-security main restricted intrepid-proposed main restricted

deb-i386-src http://archive.ubuntu.com/ubuntu multiverse deb-i386-src http://archive.ubuntu.com/ubuntu universe multiverse deb-i386-src http://archive.ubuntu.com/ubuntu universe multiverse deb-i386-src http://archive.ubuntu.com/ubuntu universe multiverse deb-i386-src http://archive.ubuntu.com/ubuntu universe multiverse

intrepid main restricted universe intrepid-updates main restricted intrepid-backports main restricted intrepid-security main restricted intrepid-proposed main restricted

clean http://archive.ubuntu.com/ubuntu

Criar o Mirror

Basta executar o programa apt-mirror com permisses de root. o $ sudo apt-mirror

Atualizar o Mirror

Para atualizar o espelho, basta executar o comando apt-mirror com permisses de root. Sabendo disto, uma boa prtica seria agendar no crontab o a para ser feito atualizaoes periodicas. c Por exemplo para agendar um atualizao todos os dias as 4 horas da manha, ca deve-se inserir a seguinte linha no crontab do usurio root: a 0 4 * * * apt-mirror

Para realizar isso, basta inserir a linha no editor do crontab: $ sudo crontab -e

Feito isso, a saida do comando sudo crontab -l deve ser algo semelhante: # m h dom mon dow command 0 4 * * * apt-mirror

Utilizar o Mirror

Agora que o mirror esta criado, para que as maquinas locais possam o utilizar devemos criar um link simbolico dentro da pasta /var/www direcionando para o nosso repositrio onde os diretorios spool e dists esto. Em nosso o a caso eles se encontram em:/opt/ubuntu/repositrio/mirror/archive.ubuntu.com/ubuntu/ o
$ sudo ln -s /opt/ubuntu/repositrio/mirror/archive.ubuntu.com/ubuntu /var/www/ubuntu o

Feito isso, o Mirror est pronto para ser utilizado pelas maquinas ubunutu a locais. Supondo que a maquina que contem o repositrio responde pelo ip 192.168.1.20, o para que as demais maquinas da rede utilizem ela como espelho, precisamos modicar o arquivo /etc/apt/sources.list trocando todos os endereos c 7

http://dominio/ubuntu por http://192.168.1.20/ubuntu de todas elas. Agora so precisamos atualizar o repositrio em cada maquina com o comando: o $ sudo aptitude update

Crditos e

Direito Autorais Reservados R Universidade Federal de Minas Gerais Departamento de Cincia da Computaao e c Raphael Ottoni Santiago Machado de Faria

Esta documentao livre; voc pode redistribu e/ou modic-la sob ca e e -la a os termos da Licena Pblica Geral GNU conforme publicada pela Free Softc u ware Foundation; tanto na sua verso 2, como qualquer verso posterior (a a a seu critrio). e A distribuio desta documentaao feita na expectativa de que ela seja ca c e util, porm, sem nenhuma garantia; nem mesmo a garantia impl e cita de comerciabilidade ou adequao a uma nalidade espec ca ca. Consulte a Licena Pblica Geral do GNU para mais detalhes. c u

http://creativecommons.org/licenses/GPL/2.0/ http://creativecommons.org/licenses/GPL/2.0/legalcode.pt

Você também pode gostar