Repositório de Arquivos Debian 2
Esta é outra forma e a mais correta de criar um repositório Debian ou suas distribuições derivadas como o Ubuntu.
O Local Exato
O local exato deve seguir esta hierarquia: root/dists/stable/main/binary-i386/
:
.
|-- dists/
| `-- stable/
| |-- Release
| |-- Release.gpg
| `-- main/
| `-- binary-i386
| |-- Packages.gz
| `-- Release
`-- pool/
No qual dists
e binary-i386
são nomes imutáveis. Escolha substituir root
por qualquer nome (ubuntu, debian, labs, …) ou nem colocar e stable
e main
conforme a sua necessidade, poderia ser por exemplo: hardy e main ou intrepid e universe.
Procurar os pacotes
Coloque todos os pacotes em pool
, independente da hierarquia (pode ter os diretórios e subdiretórios que quiser).
Agora entre em root
e, conforme a hierarquia, execute:
$ dpkg-scanpackages pool /dev/null | gzip > dists/stable/main/binary-i386/Packages.gz
Pacotes duplicados serão desconsiderados e somente uma versão será usada.
O Arquivo Release
Para finalizar crie um arquivos Release
e coloque um diretório acima de binary-i386
, no meu exemplo seria em main
, semelhante a esse:
Archive: stable
Component: main
Origin: Ubuntu
Lable: dmitryrck
Architecture: all
E mais o md5sum com o tamanho em bytes dos arquivos Packages.gz:
$ for file in $( find . -type f -name Packages.gz );
for> do
for> MD5=$(md5sum $file|cut -d ' ' -f1) \
for> DU=$(du -sb $file | cut -f1 ) \
for> echo "$MD5 $DU $file"
for> done >> Release
O Arquivo Release.gpg
Com sua chave de criptografia assine o arquivos Release
. Entre na pasta que está o arquivo Release
e:
$ gpg --output Release.gpg -ba Release