Удалите deb-пакеты из локального репо и настройте apt

У меня есть следующая структура каталогов для apt

/locate/repo/x86_64/dists
/locate/repo/x86_64/pool
/locate/repo/x86_64/indices
/locate/repo/x86_64/images

В пуле есть две директории, которые являются debian-installer (содержит файлы udeb), main (содержит файлы deb). Я хочу удалить несколько файлов deb в main и использовать apt для установки. Как мне это сделать?

1 ответ

Решение

поддержание вашего собственного хранилища

Для того, чтобы сделать ваш .deb файлы, индексируемые aptнеобходимо предоставить хотя бы Packages файлы в /locate/repo/x86_64/dists, В этом файле перечислены все пакеты (для данного набора) и включены все метаданные (описание, зависимости,...)

Как именно вы это сделаете, зависит от ваших настроек, так как существует множество вариантов управления apt-репозиторием.

Один простой вариант будет использовать apt-ftparchive (можно найти в apt-utils упаковка):

$ cd /locate/repo/x86_64
$ mkdir -p dists/jessie/
$ apt-ftparchive packages pool/ | gzip > dists/jessie/Packages.gz
$ apt-ftparchive release dists/jessie/ > dists/jessie/Release

Наконец, вам нужно добавить репозиторий в ваши apt-sources.

# mkdir -p /etc/apt/sources.list.d/
# cat > /etc/apt/sources.list.d/myownrepo.list <<EOF
deb file:////locate/repo/x86_64 jessie main
EOF
#

После этого вы можете просто запустить apt-get update и ваши пакеты могут быть установлены через apt,

удаление файлов.deb из хранилища

чтобы удалить файлы из репозитория, просто удалите их:

$ rm /locate/repo/x86_64/pool/ugly*.deb

после этого вам нужно (заново) сгенерировать Packages файлы

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