Criar repositório de apt local com ambiente de preparação

1

Eu estou tentando criar um repositório apt com reprepro que é muito direto na maior parte. Eu tenho usado este artigo como referência porque gostei da estrutura de ter uma árvore de teste.

link

No entanto, parece que não consigo me envolver com o que provavelmente é muito simples. Usando um exemplo conf / distribuições do artigo abaixo, estou confuso com o fato de que quando eu importo um pacote, ele sempre vai para o main. Não existe um diretório chamado preciso-teste e preciso-prod? O que estou tentando fazer é ter um local separado para colocar pacotes que não foram testados e outro para produção no mesmo repositório. (/ opt / packages / pool / trusty-prod, / opt / packages / pool / trusty-stage)

Eu poderia apontar clientes em qualquer um deles, conforme necessário, via /etc/apt/sources.list.d/ com o fantoche.

Eu estou completamente sentindo falta de como isso seria feito ou entendendo este artigo?

Dailymotion Precise packages (staging)
Origin: Dailymotion 
Label: dm-staging   
Suite: precise-staging
Codename: precise-staging
Architectures: i386 amd64 source
Components: main role/dns role/database role/web # ➊
Description: Dailymotion Precise staging repository
Contents: .gz .bz2
Tracking: keep
SignWith: yes
NotAutomatic: yes # ➋
Log: packages.dm-precise-staging.log
 --type=dsc email-changes

Dailymotion Precise packages (prod)
Origin: Dailymotion # ➌
Label: dm-prod      # ➌
Suite: precise-prod
Codename: precise-prod
Architectures: i386 amd64 source
Components: main role/dns role/database role/web # ➊
Description: Dailymotion Precise prod repository
Contents: .gz .bz2
Tracking: keep
SignWith: yes
Log: packages.dm-precise-prod.log
    
por tsellers 13.02.2016 / 20:56

1 resposta

0

Existem 4 etapas para configurar um repositório simples para você

1.Instalar o dpkg-dev
2.Coloque os pacotes em um diretório
3.Crie um script que escaneie os pacotes e crie um arquivo que o apt-get update possa ler. 4. Adicione uma linha à sua sources.list apontando para o seu repositório

Instale o dpkg-dev

Digite um terminal

sudo apt-get install dpkg-dev

O diretório

Crie um diretório onde você manterá seus pacotes. Para este exemplo, usaremos

 /usr/local/mydebs.  


sudo mkdir -p /usr/local/mydebs

Agora, mova seus pacotes para o diretório que você acabou de criar.

Pacotes baixados anteriormente são geralmente armazenados em seu sistema no diretório / var / cache / apt / archives. Se você instalou o apt-cacher, você terá pacotes adicionais armazenados em seu diretório / packages.

O script update-mydebs

É um simples revestimento de três camadas:

#! /bin/bash
 cd /usr/local/mydebs
 dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz

Recorte e cole o código acima no gedit e salve-o como update-mydebs em ~ / bin. (o til '~' significa seu diretório home. Se ~ / bin não existir, crie-o: o Ubuntu colocará esse diretório em seu PATH. É um bom lugar para colocar scripts pessoais). Em seguida, torne o script executável:

 chmod u+x ~/bin/update-mydebs

Como o script funciona: O dpkg-scanpackages examina todos os pacotes no mydebs, e a saída é compactada e gravada em um arquivo (Packages.gz) que o apt-get update pode ler (veja abaixo uma referência que explica isso com detalhes excruciantes). / dev / null é um arquivo vazio; é um substituto para um arquivo de substituição que contém algumas informações adicionais sobre os pacotes, que neste caso não são realmente necessários. Veja deb-override (5) se você quiser saber sobre isso.

Sources.list

adicione a linha

deb file:/usr/local/mydebs ./

para o seu /etc/apt/sources.list e pronto.

Opção de CD

Você pode gravar o diretório que contém os debs em um CD e usá-lo também como repositório (bom para compartilhar entre computadores). Para usar o CD como um repositório, simplesmente execute

sudo apt-cdrom add

Usando o repositório

Sempre que você colocar um novo deb no diretório mydebs, execute

sudo update-mydebs
sudo apt-get update

Agora seus pacotes locais podem ser manipulados com o Synaptic, o aptitude e os comandos apt: apt-get, apt-cache, etc. Quando você tenta instalar o apt-get, quaisquer dependências serão resolvidas para você, contanto que pode ser cumprido.

Pacotes mal feitos provavelmente falharão, mas você não terá suportado o inferno do dpkg.

    
por 13.02.2016 / 21:04

Tags