Arch linux(kvm / qemu仮想化)はlibiscsi.so.4を開くことができません。

Arch linux(kvm / qemu仮想化)はlibiscsi.so.4を開くことができません。

Arch Linuxの手順に従いました。#KVMそして#qemu

1)sudo pacman -S次にlibsをインストールします。

libvirt
libiscsi 
libaio
qemu
qemu-arch-extra 
qemu-block-iscsi 
qemu-block-rbd 
qemu-block-gluster 

2) $ lscpuVT-xが有効になっていることを確認する

3).conf次のモジュールにファイルを追加します。/etc/modprobe.d/

network device (virtio-net)
block device (virtio-blk)
controller device (virtio-scsi)
serial device (virtio-serial)
balloon device (virtio-balloon)

4)initramfsにモジュールをロードするためにmkinitcpio.confフックを含めて実行しました。modconf

5) 実行$ lsinitcpio

出力にロードされた仮想化モジュールが表示されないため、ここに問題があると思います。

usr/lib/modules
usr/lib/modules/4.5.4-1-ARCH
usr/lib/modules/4.5.4-1-ARCH/modules.devname
usr/lib/modules/4.5.4-1-ARCH/modules.builtin.bin
usr/lib/modules/4.5.4-1-ARCH/modules.symbols.bin
usr/lib/modules/4.5.4-1-ARCH/modules.alias.bin
usr/lib/modules/4.5.4-1-ARCH/modules.dep.bin
usr/lib/modules/4.5.4-1-ARCH/kernel
usr/lib/modules/4.5.4-1-ARCH/kernel/sdhci.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/ext4.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/usb-common.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/ehci-pci.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/sd_mod.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/rtsx_pci_sdmmc.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/serio.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/cdrom.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/hid.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/ehci-hcd.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/sdhci-acpi.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/atkbd.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/xhci-pci.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/usbhid.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/xhci-hcd.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/sr_mod.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/crc16.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/rtsx_pci.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/libps2.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/libahci.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/led-class.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/scsi_mod.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/mmc_core.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/mmc_block.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/i8042.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/usbcore.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/ahci.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/libata.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/mbcache.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/usb-storage.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/jbd2.ko

6)私が実行したとき:

$ modinfo virtio-scsi私は次の答えを得ました。

filename:       /lib/modules/4.5.4-1-ARCH/kernel/drivers/scsi/virtio_scsi.ko.gz
license:        GPL
description:    Virtio SCSI HBA driver
alias:          virtio:d00000008v*
depends:        virtio,scsi_mod,virtio_ring
intree:         Y
vermagic:       4.5.4-1-ARCH SMP preempt mod_unload modversions 

$ systool -v -m virtio-scsi同じモジュールに対してエラーメッセージが表示されます。

Error opening module `virtio-scsi`

7) qemu イメージを生成しようとすると、$ qemu-img create -f raw arch-qemu 8G 次のエラーが発生します。

$ Failed to open module:libiscsi.so.4: cannot open shared object file: No such file or directory

助けてくれてありがとう!

ベストアンサー1

v1.14.0qemuがファイルを見つけることができるlibiscsiの以前のバージョン()を手動でインストールした後、問題を解決しましたlibiscsi.so.4

まず、qemu-block-iscsiの依存関係を削除せずにv1.17.0-2pacmanとしてインストールされたプログラムを削除しました。sudo pacman -Rddn libiscsi

githubでソースコードを複製しました。Salberg/libiscsiビルドが完了したら、libtoolを使用してライブラリをインストールしました。次にqemuを更新するときに手動インストールを削除してpacmanパッケージを再利用する必要があるため、これが最善の解決策ではないことがわかります。

現在私はアーチLinuxでそれを見るqemu ページパッケージは次のとおりです。

2016-05-10 テスト中のバージョン 2.6.0-1 は廃止予定とマークされます。

ルートとして実行されるコード:

# git clone folder - libiscsi/

# Making install in lib
# directory 'libiscsi/lib'

 mkdir -p '/usr/lib'
 /bin/sh ../libtool   --mode=install /usr/bin/install -c   libiscsi.la '/usr/lib'

 libtool --finish /usr/lib

----------------------------------------------------------------------

# Libraries have been installed in: /usr/lib

----------------------------------------------------------------------

# Making install in utils
# directory 'libiscsi/utils'

 mkdir -p '/usr/bin'
 /bin/sh ../libtool   --mode=install /usr/bin/install -c iscsi-inq iscsi-ls iscsi-perf iscsi-readcapacity16 iscsi-swp '/usr/bin'

----------------------------------------------------------------------

# directory 'libiscsi/examples'

 mkdir -p '/usr/bin'
 install -c ld_iscsi.so '/usr/bin'

----------------------------------------------------------------------

# directory 'libiscsi/    

 mkdir -p '/usr/include/iscsi'
 install -c -m 644 include/iscsi.h include/scsi-lowlevel.h '/usr/include/iscsi'
 mkdir -p '/usr/lib/pkgconfig'
 install -c -m 644 libiscsi.pc '/usr/lib/pkgconfig'

make installlibiscsiはデフォルトでlibを内部/usr/local/binと外部にインストールしているため、これらのコマンドを手動で実行しました/usr/local/lib

コメントや提案がある場合は、メッセージを残してください!

おすすめ記事