Como instalar o dracut no Ubuntu?

5

Eu apenas tentei instalar o dracut, um substituto para o initramfs-tools em um novo servidor Ubuntu 12.10 para usar os recursos avançados do dracut para inicializar do NFS em duas interfaces ligadas.

Infelizmente, a instalação encontrou o seguinte conflito:

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/?] 

A solução proposta "dracut [Not Installed]" não ajuda. Infelizmente eu não encontrei muita informação sobre o dracut no Ubuntu para que eu pudesse identificar se deveria funcionar. Eu encontrei o seguinte relatório de bug no debian que está sem solução até agora: link

Eu rapidamente testei a instalação do dracut em um servidor Ubuntu 12.04 e ele foi bem instalado, mas eu preciso dele para o Ubuntu 12.10.

Eu já tentei forçar o dpkg a ignorar os conflitos, mas o resultado foi o mesmo

aptitude -o Dpkg::Options::="--force-conflicts" install dracut

Instalar dracut from source está funcionando, mas para incluir a configuração de rede no initramfs, o pacote dracut-network é necessário para o qual não encontrei as fontes e mesmo assim está disponível no Ubuntu 12.10 depende do pacote dracut. ..

Alguém pode me ajudar a instalar o dracut e talvez compartilhar algumas informações sobre por que é tão difícil usar o dracut no Ubuntu?

    
por Florian Feldhaus 29.01.2013 / 13:53

2 respostas

3

O problema aqui é que o Aptitude não sugere que você remova o initramfs, porque ele é considerado um pacote principal, e o Aptitude nunca propõe remover pacotes principais.

A única maneira óbvia de contornar este problema seria dizer ao Aptitude para remover initramfs-tools :

aptitude install dracut initramfs-tools-

No entanto, se você tentar este comando, verá que ele aciona outros problemas importantes de dependência:

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.
 [...]

Todos esses pacotes devem realmente depender de linux-initramfs-tools (que é um pacote virtual fornecido por initramfs-tools e dracut ). Este é um bug, e deve ser relatado como tal .

Em suma, a única solução é modificar as dependências desses pacotes. Com a situação atual, você não pode instalar dracut sem ter pacotes quebrados. (Embora, se estiver tudo bem para você ter pacotes quebrados, você pode jogar com dpkg --force-all , remover initramfs-tools e instalar dracut .)

    
por Andrea Corbellini 29.01.2013 / 15:16
1

Graças à ajuda de Andrea Corbellini o problema foi identificado e é rastreado no relatório de erros O pacote dracut não pode ser instalado no Ubuntu 12.10 . O problema subjacente é rastreado no relatório de erros Dependa das ferramentas linux-initramfs . Qualquer ajuda sobre como aumentar o conhecimento do último relatório de bug para que ele seja resolvido o mais rápido possível é muito bem-vinda.

Juntamente com o mantenedor Debian do pacote dracut, nós criamos uma solução para instalar o dracut removendo o conflito para o initramfs-tools. Informações detalhadas podem ser encontradas na postagem do blog .

Em resumo, os passos são

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
    
por Florian Feldhaus 28.02.2013 / 17:48