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
次を~/.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
の実行時にのみ表示されるため、紛らわしいメッセージです。言い換えると、このコマンドを呼び出すと、パッケージが見つからないというエラーが表示されますすでにインストールされています。奇妙な。
不足しているリンクは次のとおりです。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
を好きなように更新/変更できることに注意してください(例:trusty
、raring
、precise
、またはwheezy
適切なdebianミラーなどがある場合はsid
)。
次に、コマンドラインから次のコマンドを実行するだけで、すべてが正常に作成され、続行できました。
Sudo cowbuilder --create # defaults to using current distribution
明らかに、「-distribution」コマンドライン引数を使用して分布を変更できます。初期環境の確立には数分かかりますが、一度作成すると、cowbuilder
を使用してパッケージなどを簡単に更新できます。
Debian Webサイトのcowbuilderページ は、Ubuntu固有のカウビルダーの作成について説明しています。 cowdancer
がuniverse
リポジトリに移動されたことに言及しています。次のコマンドを実行して、Ubuntuでカウビルダー環境を構築することを参照しています。
DIST=trusty Sudo cowbuilder --create --distribution trusty --components "main universe"
--components="main universe"
フラグは、作成プロセスが必要なすべてのリポジトリにアクセスできるようにするための重要な要素です。