web-dev-qa-db-ja.com

Ubuntuにdracutをインストールする方法は?

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を使うのがなぜ難しいのかを教えてくれませんか?

5

ここでの問題は、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-toolsinitramfs-toolsdracutの両方によって提供される仮想パッケージ)に依存する必要があります。これはバグであり、 そのように報告される である必要があります。

つまり、唯一の解決策は、そのパッケージの依存関係を変更することです。現在の状況では、壊れたパッケージがなければdracutをインストールできません。 (ただし、壊れたパッケージを作成しても構わない場合は、dpkg --force-allで遊んで、initramfs-toolsを削除して、dracutをインストールできます。)

3

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
1