问题摘要:
reprepro list stretch
没有列出我的 apt 存储库中的任何软件包,也reprepro remove stretch <package>
没有从我的存储库中删除任何软件包。我该如何:
- 添加包以便
reprepro list stretch
找到它们,或者 - 用于
reprepro
从我的仓库中删除软件包
环境:
我有一台带有 apt 存储库的构建机器。构建完成后,我会安装我的软件包:
sudo reprepro -Vb /var/www/html/apt/debian \
includedeb stretch \
${build_dir}/a320-latest-0.0.${SVN_REVISION}-Linux.deb
一切似乎都运行良好。我可以apt-get install a320-latest
从任何已将我的存储库添加到其/etc/apt/sources.list.d/
.
当我进一步检查时,我可以确认我已经安装了几个软件包:
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
这些似乎也存在于存储库注册表中:
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
预期工作流程:
我想删除pool/main/a/a320
和pool/main/h/helloworld
。
我试过了:
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...
我期望reprepro list stretch
它会列出我的软件包,并reprepro remove stretch a320
删除 a320 软件包。但这似乎没有任何作用。
我本来想手动删除*.deb
文件和条目./dists/.../Packages
,但我怀疑这会破坏一些校验和并破坏存储库。它还可能与包含一些二进制对象(SQLite?)的存储./dists
库不同步。./db
我也尝试过reprepro export stretch
,reprepro update stretch
但他们似乎什么也没做。
至少有些事情正在发挥作用
目前对于客户来说一切都很顺利。
另外,我可以确认reprepro
找到了stretch
存储库,否则会出现以下错误之一:
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!
答案1
您的问题中已经包含了部分解决方案:
您必须告诉您reprepo
去哪里查找!
sudo reprepro -Vb /var/www/html/apt/debian list stretch
和
sudo reprepro -Vb /var/www/html/apt/debian remove stretch a320
应该可以解决问题。