2つのボンディングされたインターフェースを介してNFSからブートするためにdracutの高度な機能を使用するために、新鮮なUbuntu 12.10サーバーにinitramfs-toolsに代わるdracutをインストールしようとしました。
残念ながら、インストールで次の競合が発生しました。
root@ubuntu:~# aptitude install dracut
The following NEW packages will be installed:
cryptsetup{a} cryptsetup-bin{a} dmraid{a} dracut{b} kpartx{a} kpartx-boot{a} libcryptsetup4{a} libdevmapper-event1.02.1{a} libdmraid1.0.0.rc16{a} libreadline5{a} lvm2{a} mdadm{a} postfix{a} ssl-cert{a} watershed{a}
0 packages upgraded, 15 newly installed, 0 to remove and 2 not upgraded.
Need to get 3,004 kB of archives. After unpacking 8,428 kB will be used.
The following packages have unmet dependencies:
dracut : Conflicts: initramfs-tools but 0.103ubuntu0.2 is installed.
Conflicts: initramfs-tools:i386 which is a virtual package.
The following actions will resolve these dependencies:
Keep the following packages at their current version:
1) dracut [Not Installed]
Accept this solution? [Y/n/q/?]
提案されたソリューション「dracut [Not Installed]」は役に立ちません。残念ながら、Ubuntuでのdracutに関する情報はあまり多くなかったので、機能するかどうかを確認できました。私はdebianで次のバグレポートを見つけましたが、これは今まで解決されていません: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=669342
Ubuntu 12.04サーバーへのdracutのインストールをすばやくテストし、正常にインストールしましたが、Ubuntu 12.10には必要です。
私はすでにdpkgに競合を無視させようとしましたが、結果は同じでした
aptitude -o Dpkg::Options::="--force-conflicts" install dracut
ソースからdracutのインストールは機能していますが、initramfsにネットワーク設定を含めるには、ソースが見つからないdracut-networkパッケージが必要です。Ubuntu12.10でも入手可能です。
誰かがdracutのインストール方法を手伝ってくれたり、Ubuntuでdracutを使うのがなぜ難しいのかを教えてくれませんか?
ここでの問題は、Aptitudeがinitramfsの削除を提案していないことです。これはコアパッケージと見なされているためで、Aptitudeはコアパッケージの削除を提案しません。
この問題を回避する唯一の明白な方法は、initramfs-tools
を削除するようAptitudeに指示することです。
aptitude install dracut initramfs-tools-
ただし、このコマンドを試すと、他の重要な依存関係の問題を引き起こすことがわかります。
The following packages have unmet dependencies:
dmsetup : Depends: initramfs-tools but it is not going to be installed.
console-setup : Depends: initramfs-tools (>= 0.85eubuntu12) but it is not going to be installed.
linux-image-3.5.0-22-generic : Depends: initramfs-tools (>= 0.36ubuntu6) but it is not going to be installed.
linux-image-3.5.0-17-generic : Depends: initramfs-tools (>= 0.36ubuntu6) but it is not going to be installed.
kpartx-boot : Depends: initramfs-tools but it is not going to be installed.
[...]
これらのパッケージはすべて、実際にはlinux-initramfs-tools
(initramfs-tools
とdracut
の両方によって提供される仮想パッケージ)に依存する必要があります。これはバグであり、 そのように報告される である必要があります。
つまり、唯一の解決策は、そのパッケージの依存関係を変更することです。現在の状況では、壊れたパッケージがなければdracut
をインストールできません。 (ただし、壊れたパッケージを作成しても構わない場合は、dpkg --force-all
で遊んで、initramfs-tools
を削除して、dracut
をインストールできます。)
Andrea Corbellini の支援のおかげで、問題は特定され、バグレポートで追跡されています buntu 12.10にパッケージdracutをインストールできません 。根本的な問題はバグレポートで追跡されます linux-initramfs-toolsに依存 。直ぐに解決されるように最後のバグレポートへの認識を高める助けはありがたいです。
DracutパッケージのDebianメンテナーと一緒に、initramfs-toolsへの競合を取り除くことでdracutをインストールするための回避策を思いつきました。詳細な情報はブログ投稿で見つけることができます ボンディングされたインターフェースを使用したVLANタグ付きネットワークを介してNFSルートからUbuntu 12.10を起動するためのdracutのインストールと設定 。
要するに、手順は
Sudo apt-get build-dep dracut # install build dependencies for dracut
Sudo apt-get install dpkg-dev # install dpkg-dev to build dracut .deb package
cd ~ # change to your home folder
git clone git://git.kernel.org/pub/scm/boot/dracut/dracut.git # checkout dracut
cd dracut
sed -i 's/Conflicts: initramfs-tools/Conflicts: /' debian/control # fix conflict
sed -i 's/usr\/etc/etc/g' debian/dracut.install # fix another issue
dpkg-buildpackage -b # build .deb packages
cd ..
dpkg -i dracut*.deb # install dracut and dracut-network