Как установить Dracut на Ubuntu?

Я только что попытался установить dracut, замену initramfs-tools на свежем сервере Ubuntu 12.10, чтобы использовать расширенные функции dracut для загрузки с NFS через два связанных интерфейса.

К сожалению, установка столкнулась со следующим конфликтом:

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]» не помогает. К сожалению, я не нашел много информации о dracut в Ubuntu, чтобы я мог определить, должна ли она работать. Я нашел следующий отчет об ошибке в Debian, который до сих пор не решен: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=669342

Я быстро протестировал установка dracut на сервер Ubuntu 12.04, и он отлично установился, но он мне нужен для Ubuntu 12.10.

Я уже пытался заставить dpkg игнорировать конфликты, но результат был тот же. нужен источник, для которого я не смог найти исходники, и даже если он доступен в Ubuntu 12.10, это зависит от пакета dracut ...

Может ли кто-нибудь помочь мне с установкой dracut и, возможно, поделиться своими внутренностями по поводу того, почему так сложно использовать dracut в Ubuntu?

5
задан 29 May 2015 в 01:31

2 ответа

Проблема здесь в том, что Aptitude не предлагает вам удалить initramfs, потому что он считается базовым пакетом, а Aptitude никогда не предлагает удалять базовые пакеты.

Единственный очевидный способ обойти эту проблему - попросить Aptitude удалить initramfs-tools:

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.)

0
ответ дан 29 May 2015 в 01:31

Благодаря помощи Андреа Корбеллини проблема была обнаружена и отслеживается в отчете об ошибке . Пакет Dracut не может быть установлен в Ubuntu 12.10 . Основная проблема отслеживается в отчете об ошибке Зависит от linux-initramfs-tools . Мы очень благодарны за любую помощь в повышении осведомленности о последнем отчете об ошибке, чтобы он был устранен как можно скорее.

Вместе с сопровождающим Debian пакета dracut мы нашли обходной путь для установки dracut, удалив конфликт с initramfs-tools. Подробную информацию можно найти в сообщении в блоге Установка и настройка dracut для загрузки Ubuntu 12.10 из NFS-корня по сети с тегами VLAN с использованием связанных интерфейсов .

Короче говоря, шаги

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
0
ответ дан 29 May 2015 в 01:31

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

Похожие вопросы: