web-dev-qa-db-ja.com

cowbuilder --create --distribution 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 
5
Daenyth

次を~/.pbuilderrcに追加してみてください:

COMPONENTS="main universe multiverse restricted"

または、SunSparcが提案したように、次のようにコマンドを入力します。

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

cowbuilderはlucidのユニバースコンポーネントにあります。質問に含まれている出力に、ユニバースにアクセスしようとする作成操作が表示されません。

ファイル~/.pbuilderrcをセットアップして、pbuilderにも使用される多くのcowbuilderオプションを設定できます。

9
John S Gruber

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の実行時にのみ表示されるため、紛らわしいメッセージです。言い換えると、このコマンドを呼び出すと、パッケージが見つからないというエラーが表示されますすでにインストールされています。奇妙な。

不足しているリンクは次のとおりです。cowbuilder--および拡張機能により、pbuilder--は、内部に追加のパッケージがインストールされていない、クリーンで最小限のchroot環境を作成しようとしています。 cowbuilderはすでにインストールされているoutsidechrootですが、インストールされるように見えますinside chrootも同様です。 chrootの内部と外部はまったく異なる世界です。 chroot(通常の環境)の外部では、/etc/apt/sources.listファイルが重要です。しかし、内部では、ルールの異なるセットです。デフォルトのpbuilder環境には、ベース/クリーンインストールに必要な最も重要で最小限のリポジトリのみが含まれます。

受け入れられた回答では、「COMPONENTS」引数の追加と追加のリポジトリの指定について説明しています。私にはうまくいきませんでした。 COMPONENTS値を/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を好きなように更新/変更できることに注意してください(例:trustyraringprecise、またはwheezy適切なdebianミラーなどがある場合はsid)。

次に、コマンドラインから次のコマンドを実行するだけで、すべてが正常に作成され、続行できました。

Sudo cowbuilder --create  # defaults to using current distribution

明らかに、「-distribution」コマンドライン引数を使用して分布を変更できます。初期環境の確立には数分かかりますが、一度作成すると、cowbuilderを使用してパッケージなどを簡単に更新できます。

Debian Webサイトのcowbuilderページ は、Ubuntu固有のカウビルダーの作成について説明しています。 cowdanceruniverseリポジトリに移動されたことに言及しています。次のコマンドを実行して、Ubuntuでカウビルダー環境を構築することを参照しています。

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

--components="main universe"フラグは、作成プロセスが必要なすべてのリポジトリにアクセスできるようにするための重要な要素です。

8
Jonathan Oliver