Некоторые ситуации требуют ручной установки локального пакета с помощью dpkg -i <packagename>
. Иногда может быть полезно использовать функциональность apt
этого пакета, поэтому возникает вопрос:
Как быстро создать локальный репозиторий для случайных пакетов, используя дистрибутив Linux на основе Debian - например, Xubuntu 13.04 / Ubuntu?
dpkg -i <packagename>
сapt-get -f install
тянуть в необходимых пакетов. Кроме того, обычная вещь для создания подходящих репозиториев для Debian - это prespro.apt
помощью--fix-broken
потребуется запуск сdpkg -i
? Разве dpkg не позаботится об этом? Я читал, что это может потребоваться при первом запуске apt? @ FM & Gilles: о репепро . Кажется полезным, если бы я мог заставить его работать (не уверен насчет структуры dir, содержимого 3 файлов или параметров во время выполнения). Попробую еще раз и обновлю или выложу полный вопрос.dpkg
не разрешает зависимости, но разрешаетapt
.dpkg
будет предупреждать о нарушенных зависимостях, но имеет низкий уровень, поэтому не будет пытаться их исправить. Далееdpkg -i *.deb
следуетapt-get -f install
стандартная процедура. Есть ошибка в списке желаний, котораяapt
сама по себе обрабатывает случай локальной установки пакета, и, я думаю, есть даже патч, но он еще не реализован. Посмотрите, что apt-get install может устанавливать и локальные файлы пакетов, первоначально поданные в 1999 году.Ответы:
Это следует отличать от ситуации, когда вы пытаетесь скопировать полное дерево пакетов из официального репозитория и более точно настраивать приоритет источников . Случайные пакеты означают виртуальные пакеты, пакеты, которые компилируются локально или копируются по частям для целей тестирования. Вот простая настройка, основанная на устаревшей документации .
Сначала создайте каталог для размещения пакетов:
Затем переместите туда свои файлы пакета .deb. Выполните эту команду из каталога над тем, который мы только что создали (убедитесь, что разрешения позволяют это!):
Теперь создайте файл с расширением
.list
в/etc/apt/sources.list.d/
с содержимым:и обновите базу данных apt:
На этом этапе пакеты в нашем локальном репозитории могут быть установлены, как и любой другой пакет, использующий
apt-get install <packagename>
. Когда новые пакеты добавляются в локальный репозиторий, предписаннаяdpkg-scanpackages
команда должна быть введена снова для обновления файла Packages.gz иapt
должна быть обновлена до того, как новые пакеты станут доступны. Надеюсь, это может быть полезно для тестирования .источник
[trusted=yes]
между URIdeb
иfile:///
URI (см.sources.list(5)
Справочную страницу), в противном случаеapt-get update
произойдет сбой из-за отсутствия подписи.Если вы хотите создать репозиторий с полной структурой, которая вам нужна для таких инструментов, как debootstrap, я нашел самый простой способ:
Создайте каталог репозитория.
Создайте подкаталог conf.
Создайте файл / opt / debian / conf / distributions с таким содержимым (отрегулируйте его в соответствии с используемым дистрибутивом):
Импортируйте вашу посылку при помощи prespro.
Импортируйте несколько пакетов с помощью цикла for-loop, например, всего из вашего APT-кэша:
Это создаст неподписанный архив. Может использоваться с debootstrap с опцией --no-check-gpg.
источник