Рейтинг:0

Репозиторий apt работает для apt update, но для установки требуются симлинки, почему?

флаг ca

У меня есть репозиторий apt, использующий сервер apache по адресу /var/www/organization.org/.

файловая структура

.
+- Освобождение
+- расст/
     +- стабильный/
     | +- основной/
     | | +- двоичный-все/
     | | | +- Пакеты.gz
     | | | +- package1.deb
     | | | +- package2.deb
     | | +-бинарный-amd64/
     | | | +- Пакеты.gz
     | | | +- package1.deb
     | | | +- package2.deb
     | | +-бинарный-arm64/
     | | | +- Пакеты.gz
     | | | +- package1.deb
     | | | +- package2.deb
     | +- вклад/
     | | +- [...]
     | +- несвободный/
     | | +- [...]
     +- тестирование/
           +- [...]
     +- нестабильный/
           +- [...]

И у меня есть это в моем source.list

deb http://server_url стабильный основной вклад платный

Когда я бегу

судо подходящее обновление, дела идут гладко.

Когда я делаю sudo apt установить имя_пакета, он не может найти ни одного пакета.

Оказывается, в Выпускать файл, он использует этот путь Имя файла: /var/www/organization.org/binary-all/package_name.deb (отсутствует dists/stable/main).

Поэтому, когда я добавляю символические ссылки, подобные этому двоичный-все -> дистрибутивы/стабильный/основной/двоичный-все/, у меня нет проблем с установкой пакетов. Так что все работает, но это хак, который не позволяет реально работать с папками нестабильного/ и тестирования/, потому что симлинки находятся в корне, кроме Release и dists/.

Это сценарий, который я использую для создания Packages.gz и файла Release, который может быть уместным.

#!/бин/баш

APT_REPO_DIR=/var/www/organization.org/
DISTS_DIR=$APT_REPO_DIR/расстояния

ЖЕЛТЫЙ='\033[1;33м'
СИНИЙ='\033[1;34м'
NO_COLOR='\033[0m'

пушд дист
для каталога_стабильности в */; do # Обычно называется: стабильный, нестабильный, тестируемый
  echo -e "Индексирование каталогов в ${YELLOW}$stability_directory${NO_COLOR}"
  pushd $ каталог_стабильности
  для license_directory в */; do # Обычно называется: main, contrib, non-free
    echo -e "Индексирование ${BLUE}$license_directory${NO_COLOR}"
    pushd $license_directory
    для бинарного_каталога в `find binary-* -type d`; do # двоичный-amd64, двоичный-arm64...
      dpkg-scanpackages $binary_directory | gzip -9c > $binary_directory/Packages.gz
    сделано
    попд
  сделано
  попд
сделано
попд
dpkg-scanpackages $APT_REPO_DIR | Тройник $APT_REPO_DIR/Release > /dev/null 

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.