Como hospedar um deb / apt repo no CentOS?

7

Eu gostaria de fazer um espelho apenas do cliente de marionetes e suas dependências para o Ubuntu Precise, mas hospedado no meu host do CentOS 6.

Se eu fizer

cd /var/ftp
wget -A deb -r -np -nH --cut-dirs=1 http://apt.puppetlabs.com/pool/precise/dependencies/
wget -A deb -r -np -nH --cut-dirs=1 http://apt.puppetlabs.com/pool/precise/main/

e, em seguida, em um Ubuntu Precise, adicione o seguinte a /etc/yum.repos.d/mypuppet.repo

deb ftp://puppet.example.com precise main
deb ftp://puppet.example.com precise dependencies

então eu pego

W: Failed to fetch ftp://puppet.example.com/dists/precise/dependencies/binary-amd64/Packages  Unable to fetch file, server said 'Failed to open file.  '

Pergunta

Existe uma ferramenta ou um tutorial sobre como hospedar um repositório deb / apt no CentOS?

    
por Sandra 06.08.2013 / 17:35

2 respostas

7

Eu diria que a ferramenta apropriada para essa tarefa é debmirror(1) , que está disponível nos repositórios do CentOS.

Certifique-se de importar as chaves GPG do repositório puppetlabs de um servidor de chaves:

# gpg --recv-keys 1054B7A24BD6EC30
gpg: requesting key 4BD6EC30 from hkp server pool.sks-keyservers.net
gpg: key 4BD6EC30: public key "Puppet Labs Release Key (Puppet Labs Release Key) <[email protected]>" imported
gpg: 3 marginal(s) needed, 1 complete(s) needed, classic trust model
gpg: depth: 0  valid:   3  signed:   4  trust: 0-, 0q, 0n, 0m, 0f, 3u
gpg: depth: 1  valid:   4  signed:   6  trust: 3-, 0q, 0n, 0m, 1f, 0u
gpg: depth: 2  valid:   1  signed:   1  trust: 1-, 0q, 0n, 0m, 0f, 0u
gpg: next trustdb check due at 2014-05-11
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

Em seguida, pegue os pacotes do repositório deles:

# debmirror --check-gpg --keyring=/path/to/keyring.gpg --method=http \ 
  --root=/ --arch amd64 --dist precise --section main,dependencies   \
  --nosource --host apt.puppetlabs.com --progress /path/to/local/repo

Desta forma, você garante que a estrutura do diretório está correta e todos os arquivos esperados estão presentes.

    
por 06.08.2013 / 21:25
4

Você sincronizou apenas os arquivos deb, esqueceu-se de recuperar a definição da lista de pacotes, você pode tê-los no link .

Eu realmente sugiro que você sincronize todo o repositório com:

rsync -av --copy-links --del rsync://apt.puppetlabs.com/packages/apt/ /var/ftp/

Com o Rsync, será mais fácil manter seus arquivos atualizados. Tenho certeza que se você tiver arquivos deb e a definição do pacote, isso funcionará.

link

tenha um bom dia.

    
por 06.08.2013 / 21:27