- Операционные системы
- Виртуализация
- IT-инфраструктура
- Защита ИС и периметра
- Сетевые службы
- Хранение данных
- СУБД
- Объединенные коммуникации
- Веб-серверы и веб-движки
- Скриптинг
unix-linux:advanced-packaging-tool:replace-deb-packages-in-repreproЗамена deb-пакетов (с сохранением номера версии) в репозитории REPREPRO
При использовании локального репозитория на базе reprepro для распространения deb-пакетов, иногда может возникнуть необходимость в замене некоторых опубликованных в репозитории пакетов при условии, что версия пакетов должна остаться прежней. Для решения этой задачи сначала потребуется удалить из репозитория пакеты с текущей версией, а потом добавить в репозиторий обновлённые пакеты.
В моём примере требуется замена пакетов
squid*
определённой версии, опубликованных в репозитории, расположенном на сервере reprepro в каталоге/srv/reprepro/debian
для Debian Jessie ( ветка main ) .Посмотрим, какие пакеты в репозитории сейчас подпадают под заданные условия:
# reprepro -b /srv/reprepro/debian \ listfilter 'jessie' '$PackageType (==deb), $Source (%squid*), $SourceVersion (%3.5.24*)'
jessie|main|i386: squid-common 3.5.24-1 jessie|main|i386: squid3 3.5.24-1 jessie|main|amd64: squid 3.5.24-1 jessie|main|amd64: squid-cgi 3.5.24-1 jessie|main|amd64: squid-common 3.5.24-1 jessie|main|amd64: squid-dbg 3.5.24-1 jessie|main|amd64: squid-purge 3.5.24-1 jessie|main|amd64: squid3 3.5.24-1 jessie|main|amd64: squidclient 3.5.24-1Удалим старые пакеты с фильтром по названию и версии:
# reprepro -b /srv/reprepro/debian \ removefilter 'jessie' '$PackageType (==deb), $Source (%squid*), $SourceVersion (%3.5.24*)'
Exporting indices... Deleting files no longer referenced...Теперь опубликуем в репозиторий обновлённые пакеты из локального каталога:
# reprepro -b /srv/reprepro/debian \ -C main includedeb 'jessie' /home/user/build/squid*.deb
Exporting indices...Теперь можем перейти на Linux-сервер, являющимся клиентом нашего локального репозитория и, при необходимости, выполнить переустановку пакета
squid3
, предварительно обновив кеш менеджера пакетов APT:# apt-get clean # apt-get update # apt-get --reinstall install squid3
Автор первичной редакции:
Алексей Максимов
Время публикации: 25.03.2017 09:16unix-linux/advanced-packaging-tool/replace-deb-packages-in-reprepro.txt · Последнее изменение: 25.03.2017 09:49 — Алексей Максимов
Инструменты страницы
Обсуждение