Você tem parte da sua solução na sua pergunta:
você tem que dizer reprepo
onde procurar!
sudo reprepro -Vb /var/www/html/apt/debian list stretch
e
sudo reprepro -Vb /var/www/html/apt/debian remove stretch a320
deve fazer o truque.
reprepro list stretch
não lista nenhum pacote no meu repositório apt e reprepro remove stretch <package>
não exclui nenhum pacote do meu repositório. Como posso:
reprepro list stretch
os encontre ou reprepro
para excluir pacotes do meu repo Eu tenho uma máquina de compilação com um repositório apt nela. Quando termino de construir, eu instalo meu pacote:
sudo reprepro -Vb /var/www/html/apt/debian \
includedeb stretch \
${build_dir}/a320-latest-0.0.${SVN_REVISION}-Linux.deb
Tudo parece funcionar muito bem. Eu posso apt-get install a320-latest
de qualquer cliente que tenha adicionado meu repositório ao seu /etc/apt/sources.list.d/
.
Quando eu inspeciono mais, posso confirmar que tenho vários pacotes instalados:
bob@apollo:/var/www/html/apt/debian$ tree pool
pool
└── main
├── a
│ ├── a320
│ │ └── a320_0.0.571_amd64.deb
│ └── a320-latest
│ └── a320-latest_0.0.575_amd64.deb
├── h
│ └── helloworld
│ └── helloworld_0.2_amd64.deb
└── s
├── sim-dev
│ └── sim-dev_1.0_amd64.deb
├── sim-devenv
│ └── sim-devenv_1.0_amd64.deb
├── sim-runtime
│ └── sim-runtime_1.1_amd64.deb
└── sim-workstation
└── sim-workstation_1.0_amd64.deb
11 directories, 7 files
Estes também parecem estar presentes no registro do repositório:
bob@apollo:/var/www/html/apt/debian$ cat dists/stretch/main/binary-amd64/Packages | grep Package:
Package: a320
Package: a320-latest
Package: helloworld
Package: sim-dev
Package: sim-devenv
Package: sim-runtime
Package: sim-workstation
Gostaria de excluir pool/main/a/a320
e pool/main/h/helloworld
.
Eu tentei:
bob@apollo:/var/www/html/apt/debian$ sudo reprepro list stretch
bob@apollo:/var/www/html/apt/debian$ sudo reprepro remove stretch a320
Not removed as not found: a320
Exporting indices...
Eu esperava que reprepro list stretch
listasse meus pacotes e reprepro remove stretch a320
removeria o pacote a320. Mas isso não parece fazer nada.
Eu estava tentado a excluir apenas os arquivos *.deb
e as entradas em ./dists/.../Packages
manualmente, mas suspeito que isso destruirá algumas somas de verificação e destruirá o repositório. Provavelmente também colocaria ./dists
fora de sincronia com ./db
que contém alguns objetos binários (SQLite?).
Eu também tentei reprepro export stretch
e reprepro update stretch
, mas eles não pareciam fazer nada.
Tudo é ótimo para o cliente agora.
Além disso, posso confrmar que reprepro
encontra o repositório stretch
, caso contrário, ele causaria um desses erros:
bob@apollo:/var/www/html/apt$ sudo reprepro list stretch
Error opening config file './conf/distributions': No such file or directory(2)
There have been errors!
bob@apollo:/var/www/html/apt/debian$ sudo reprepro list wheezy
Cannot find definition of distribution 'wheezy'!
There have been errors!
Você tem parte da sua solução na sua pergunta:
você tem que dizer reprepo
onde procurar!
sudo reprepro -Vb /var/www/html/apt/debian list stretch
e
sudo reprepro -Vb /var/www/html/apt/debian remove stretch a320
deve fazer o truque.