cowbuilder --создать --распределение lucid не удается

Я пытаюсь создать среду сборки для Lucid, и звоню cowbuilder --create --distribution lucid терпит неудачу с сообщениями ниже:

Get:1 http://us-east-1.ec2.archive.ubuntu.com lucid Release.gpg [189B]
Hit http://us-east-1.ec2.archive.ubuntu.com lucid Release
Hit http://us-east-1.ec2.archive.ubuntu.com lucid/main Packages
Fetched 189B in 0s (2376B/s)
Reading package lists...
I: Obtaining the cached apt archive contents
Reading package lists...
Building dependency tree...
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Reading package lists...
Building dependency tree...
apt is already the newest version.
Package cowdancer is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package cowdancer has no installation candidate
I: unmounting dev/pts filesystem
I: unmounting proc filesystem
pbuilder create failed
  forking: rm -rf /opt/cowbuilder 

2 ответа

Решение

Попробуйте добавить следующее к вашему ~/.pbuilderrc:

COMPONENTS="main universe multiverse restricted"

или, как предложил SunSparc, введите команду следующим образом:

COMPONENTS="main universe multiverse restricted" cowbuilder --create --distribution lucid

cowbuilder находится в компоненте вселенной для lucid. Я не вижу операции создания, пытающейся получить доступ к юниверсу в выводе, который вы включили в свой вопрос.

Файл ~/.pbuilderrc можно настроить, чтобы установить много pbuilder варианты, которые используются для cowbuilder также.

Сообщение о критической ошибке (ниже) немного сбивало меня с толку, пока я не прошел точно то, что cowbuilder (и основной pbuilder инструмент) пытаются сделать.

Package cowdancer is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

Это сбивающее с толку сообщение, потому что оно появляется только при выполнении cowbuilder --create, Другими словами, когда я вызываю эту команду, она жалуется на отсутствие пакета, который я уже установил. Weird.

Вот недостающая ссылка: cowbuilder- и, соответственно, pbuilder- пытаемся создать чистую минимальную среду chroot, внутри которой не установлены дополнительные пакеты. Даже если cowbuilder уже установлен вне chroot, похоже, что он также должен быть установлен внутри chroot. Внутри и снаружи chroot совершенно разные миры. Вне chroot (обычная среда), ваш /etc/apt/sources.list файл король. Но внутри это другой набор правил. По умолчанию pbuilder Среда включает только самые важные и минимальные репозитории, необходимые для базовой / чистой установки.

В принятом ответе говорится о добавлении аргумента "КОМПОНЕНТЫ" и указании некоторых дополнительных репозиториев. Это не сработало для меня. Я попытался добавить значение КОМПОНЕНТОВ к /etc/pbuilderrc файл, мой местный .pbuilderrc файл, а также делать это в командной строке в качестве переменной среды. Неудачно. Я нашел несколько ссылок, в которых упоминалось, что аргумент COMPONENTS не поддерживается для cowbuilder,

Наконец, я наткнулся на сообщение в блоге, в котором говорилось о добавлении переменной с именем OTHERMIRROR к /etc/pbuilderrc файл. Для меня я просто добавил следующее:

OTHERMIRROR="deb http://archive.ubuntu.com/ubuntu saucy main restricted universe multiverse | deb http://archive.ubuntu.com/ubuntu saucy-backports main restricted universe multiverse | deb http://archive.ubuntu.com/ubuntu saucy-security main restricted universe multiverse | deb http://archive.ubuntu.com/ubuntu saucy-updates main restricted universe multiverse"

[Обратите внимание, что вы можете обновить / изменить saucy на что угодно (например, trusty, raring, precise, или даже wheezy а также sid при условии, что у вас есть соответствующие зеркала Debian и т. д.).

Затем я просто запустил следующее из командной строки, и все было успешно создано, и я смог продолжить:

sudo cowbuilder --create  # defaults to using current distribution

Очевидно, что вы можете изменить распределение, используя аргумент командной строки --distribution. Создание начальной среды занимает несколько минут, но после ее создания вы можете легко обновить пакеты и т. Д., Используя cowbuilder,

На странице, посвященной сборщикам коров на веб-сайте Debian, рассказывается о создании сборщиков коров для Ubuntu. Упоминается, что cowdancer был перемещен в universe репозиторий. Они ссылаются на выполнение следующей команды для создания среды разработки в Ubuntu:

DIST=trusty sudo cowbuilder --create --distribution trusty --components "main universe"

--components="main universe" Флаг является важной частью, чтобы гарантировать, что процесс создания имеет доступ ко всем необходимым репозиториям.

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