lxc-start: utils.c: safe_mount: 1746 Нет такого файла или каталога - не удалось смонтировать /lib64 в /usr/lib/i386-linux-gnu/lxc/lib64

Я пытался запустить кросс-скомпилированный образ lxc на другом компьютере следующим образом: я создал образ lxc в ubuntu 14.04 с помощью команды:

lxc-create -t /usr/share/lxc/templates/lxc-busybox -n customBusyBox

Я проверил, что созданный образ customBusyBox работает нормально на этой машине. Теперь я создал его файл .tar.gz, то есть customBusyBox.tar.gz, и скопировал его на другой компьютер с той же версией ubuntu, т.е. 14.04, с помощью команды scp. где тогда я извлек изображение customBusyBox в папку /var/lib/lxc. Затем, как супер пользователь, я попытался запустить образ с помощью следующей команды:

lxc-start -F -n customBusyBox

Тогда я получил эту ошибку:

lxc-start: utils.c: safe_mount: 1746 No such file or directory - Failed to mount /lib64 onto /usr/lib/i386-linux-gnu/lxc/lib64
                                                                                                                              lxc-start: conf.c: mount_entry: 1650 No such file or directory - failed to mount '/lib64' on '/usr/lib/i386-linux-gnu/lxc/lib64'
                                                         lxc-start: conf.c: lxc_setup: 3790 failed to setup the mount entries for 'openWrt'
                                                                                                                                           lxc-start: start.c: do_start: 826 Failed to setup container "openWrt".
            lxc-start: sync.c: __sync_wait: 57 An error occurred in another process (expected sequence number 3)
                                                                                                                lxc-start: start.c: __lxc_start: 1338 Failed to spawn container "openWrt".
                                                                                                                                                                                          lxc-start: tools/lxc_start.c: main: 360 The container failed to start.
lxc-start: tools/lxc_start.c: main: 364 Additional information can be obtained by setting the --logfile and --logpriority options.

Я пытался найти его решение в сети, но без помощи: Кто-то, пожалуйста, предложите какое-нибудь решение.

Спасибо

1 ответ

Решение

Я смог решить эту ошибку.

Ниже был файл конфигурации созданного контейнера customBusyBox на первом хост-компьютере:

# Template used to create this container: /usr/share/lxc/templates/lxc-busybox
# Parameters passed to the template:
# For additional config options, please look at lxc.container.conf(5)
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = lxcbr0
lxc.network.hwaddr = 00:16:3e:1d:e5:8c
lxc.rootfs = /var/lib/lxc/OpenWrt/rootfs
lxc.haltsignal = SIGUSR1
lxc.utsname = OpenWrt
lxc.tty = 1
lxc.pts = 1
lxc.cap.drop = sys_module mac_admin mac_override sys_time

# When using LXC with apparmor, uncomment the next line to run unconfined:
#lxc.aa_profile = unconfined
lxc.mount.entry = /lib lib none ro,bind 0 0
lxc.mount.entry = /usr/lib usr/lib none ro,bind 0 0
lxc.mount.entry = /lib64 lib64 none ro,bind 0 0
lxc.mount.entry = /usr/lib64 usr/lib64 none ro,bind 0 0
lxc.mount.entry = /sys/kernel/security sys/kernel/security none ro,bind,optional 0 0
lxc.mount.auto = proc:mixed sys

Я удалил следующие строки из указанного выше файла конфигурации на другом хост-компьютере:

lxc.mount.entry = /lib64 lib64 none ro,bind 0 0
lxc.mount.entry = /usr/lib64 usr/lib64 none ro,bind 0 0

Затем я попытался, и он также успешно прошел там. На самом деле такого второго каталога, например, /lib64 или /usr/lib64, на этом втором хост-компьютере не было, поэтому для этих каталогов произошла ошибка монтирования.

Конфигурационный файл присутствует в пути: /var/lib/lxc/<container-name>/

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