Удаление deb пакеты из способного репозитория с reprepro

Проблемная сводка:

reprepro list stretch не перечисляет пакетов в моем способном репозитории и reprepro remove stretch <package> не удаляет пакетов из моего репозитория. Как может я:

  1. Добавьте пакеты так, чтобы reprepro list stretch находит их, или
  2. Использовать reprepro удалить пакеты из моего repo

Среда:

У меня есть машина сборки со способным репозиторием на нем. Когда я заканчиваю создавать, я устанавливаю свой пакет:

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 вручную, но я подозреваю, что это уничтожит некоторые контрольные суммы и уничтожит репозиторий. Это, вероятно, также поместило бы ./dists из синхронизации с ./db который содержит некоторые двоичные объекты (SQLite?).

Я также попробовал reprepro export stretch и reprepro update stretch но они, казалось, ничего не сделали.


По крайней мере что-то работает

Все является большим для клиента прямо сейчас.

Кроме того, я могу confrm это 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
задан 28 February 2018 в 14:32

1 ответ

У Вас есть часть Вашего решения тут же в Вашем вопросе:
необходимо сказать reprepo где посмотреть!

sudo reprepro -Vb /var/www/html/apt/debian list stretch

и

sudo reprepro -Vb /var/www/html/apt/debian remove stretch a320

должен добиться цели.

1
ответ дан 7 December 2019 в 15:23

Другие вопросы по тегам:

Похожие вопросы: