Удалите 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
файлы