Начинал настройку локального репозитария по этой статье.Но данный способ подходит, как оказалось если у вас только один локальный репозитарий(подключения к другим отсутствуют), т.е. не важно диск это как написанов статье или на винте все лежит.
Идея была в следующем, в /etc/apt/source.list прописываешь строчку apt репозитария, чем выше располагается строка к началу документа, то тогда менеджер пакетов сначала начинает искать в этих репазитариях пакеты, если не находит, идет дальше по списку. Но если данный репозитарий не подписан ключом, то он имеет меньший приоритет, чем те репозитарии, у которых есть ключ но находятся дальше по списку в /etc/apt/source.list
Вывод был следующим, мой локальный репозитарий имеет низкий приоритет, поэтому как не пародоксально звучит, у тебя есть пакеты под рукой, а они качаются с инета. Но выход есть всегда. Идем в инет и гуглим на тему "репозитарий ubuntu приоритет" получил 2 ссылки, которые я выбрал как подходящие.
Суть значит в следующем:
- Сделать ключь для подписи пакетов
- Создать локальный репозитарий
- Добавить ключ в apt на клиентской машине
sudo apt-get install gpg
Проходим процедуру регистрации ключа
gpg --gen-key
Отвечаем на вопросы скрипта. Вводим e-mail, имя, пароль, комментарий
gpg --export -a "ваше имя" > public.key # Экспортирую ключ в папке где лежат пакеты
sudo apt-key add public.key #добавляем ключ в apt
запускаем скрипт следующего содержания, он собственно создает локальный репозитарий.
не забываем дать ему права на запуск chmod a+x "имя скрипта"
#!/bin/bash
# Create the Packages file
cd /var/cache/apt/archives/ &&
dpkg-scanpackages . /dev/null > Packages
# Create the Release file
cat > Release <<END
Archive: dapper
Origin: Ubuntu
Label: My local Ubuntu Dapper repository
Architecture: i386
MD5Sum:
d41d8cd98f00b204e9800998ecf8427e 0 Release
END
md5sum=$(md5sum Packages | cut -d ' ' -f1)
sizeinbytes=$(ls -l Packages | cut -d ' ' -f5)
printf " "$md5sum" %16d Packages" $sizeinbytes >> Release
# Create the Release.gpg file
gpg -bao Release.gpg Release
# Give instructions for adding the repository information to the sources.list file
echo
echo "To use this repository, you should have in your /etc/apt/sources.list file"
echo "(preferably at the top) the following line:"
echo
repodir="file://"$(pwd)
echo "deb "$repodir" /"
echo
После отработки скрипта идем на клиентскую машину и добавляем ключ, не забываем так же добавить строку apt, которую нам выдал скрипт.
Теперь можно с уверенностью сказать, что пакеты ,которые есть у вас в локальном репозитарии, качаются с него, а не с инета.