Выполнение systemd базирующийся контейнер в LXC

Что случилось с RSAT?

http://www.microsoft.com/Downloads/details.aspx?familyid=7D2F6AD7-656B-4313-A005-4E344E43997D&displaylang=en

Пользователи Active Directory и Компьютеры включены

http://technet.microsoft.com/en-us/library/ee449470 (WS.10) .aspx

4
задан 6 February 2013 в 17:25
4 ответа

отвечаю самому себе. Шаблон lxc-archlinux доступен по адресу https://github.com/dotcloud/lxc/blob/master/templates/lxc-archlinux.in , но он не включает миграцию на systemd (по состоянию на февраль 15 2013 г.).

есть используемая часть rootfs в archlinux (например, http://www.gtlib.gatech.edu/pub/archlinux/iso/2013.02.01/arch/i686/root-image.fs .sfs для i686 есть также 64-битная версия)

Я еще не запускал из него гостевую lxc, но у меня есть функциональный chroot i686 изнутри ubuntu 12.04 x64. 1 / скачать и распаковать корневой образ, куда-нибудь смонтировать.

2 / как root (sudo) cp -ar корневую файловую систему в ваше местоположение и chroot в нее

3 / отредактируйте /etc/pacman.conf и обновите строку архива (по умолчанию это auto, что вытягивает ar ch из uname, но ubuntu и arch используют разные обозначения)

4 / mount / proc / dev / random и / dev / urandom (это необходимо для pacman и pacman-key)

Я не мог заставить pacman работать без подписи пакета правильно настроить

5 / pacman-key --init (здесь нужен хороший источник энтропии)

6 / pacman-key --populate archlinux

7 / необязательно: pacman -key --refresh-keys (требуется рабочее подключение к Интернету)

8 / отредактируйте /etc/pacman.d/mirrorlist, чтобы активировать соответствующие вам зеркала.

9 / pacman -Syy

готов к обновлению или установить новые пакеты.

Что? s (явно) отсутствует запуск контейнера. Я не разбираюсь в systemd, но если я правильно понимаю, это в основном вопрос запуска dbus и systemd.

1
ответ дан 3 December 2019 в 03:19

Согласно вики Gentoo существует частично функциональный шаблон для Arch (подробности см. http://wiki.gentoo.org/wiki/LXC#Arch_Linux ). шаблон может быть старше, чем переход на systemd. исправление / обходной путь включает использование менеджера пакетов Arch pacman. Это нормально с gentoo, мне однажды удалось заставить его работать в Ubuntu, но компиляция - это рутинная работа.

шаблон может отсутствовать в пакете lxc, поставляемом с 12.04

, если вы перекомпилируете pacman (и его поддержку библиотека), то вы, вероятно, будете так же хороши, используя archbootstrap ( https://wiki.archlinux.org/index.php/Archbootstrap ), который вдохновлен debootstrap, создавая свой собственный шаблон на основе дебиан один.

0
ответ дан 3 December 2019 в 03:19

Я просто не ответил на ваш вопрос. У меня есть контейнеры systemd под Arch. Я написал несколько заметок в Arch Wiki , объясняющих, как заставить его работать. Вам действительно нужен lxc.autodev , и вам также необходимо замаскировать некоторые службы, которые не должны работать внутри контейнера.

Я выполняю базовый mkarchroot, а затем вношу некоторые изменения (chroot в новый Archroot):

ln -s /dev/null /etc/systemd/system/systemd-udevd.service
ln -s /dev/null /etc/systemd/system/systemd-udevd-control.socket
ln -s /dev/null /etc/systemd/system/systemd-udevd-kernel.socket
ln -s /dev/null /etc/systemd/system/proc-sys-fs-binfmt_misc.automount

В конфигурации вашего контейнера вам нужно

lxc.autodev = 1

И, если вам нужно создать какие-либо узлы устройств (возможно, вы это сделаете), вам также понадобится

lxc.hook.autodev = /path/to/script

плюс файл сценария

#!/bin/bash
# LXC Autodev hook.
cd ${LXC_ROOTFS_MOUNT}/dev
mknod .....

/ path / to / script - это расположение в файловой системе HOST, например / etc / lxc / mycontainer-autodev-hook .

4
ответ дан 3 December 2019 в 03:19

Мы успешно развертываем контейнеры LXC на основе systemd в CentOS 7. Трудности, с которыми мы столкнулись, в основном связаны со стандартными обновлениями Linux в целом, например, /run является tmpfs и /var/run => /run (и некоторые пакеты требуя, чтобы они были одинаковыми с внутренними инструментами, использующими оба), и systemd настраивает это автоматически, без контроля какого-либо модуля, который мы можем найти и переопределить.

Мы переходим с других методов управления процессами (monit, созданные вручную демоны, периодические проверки через cron), так как по какой-то причине нам приходится прикасаться к этим службам.

0
ответ дан 16 September 2020 в 11:18

Теги

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