Небольшая шпаргалка по переходу с SysVinit на systemd
Установка
1. Сделать BackUp файлов:
9. Перезагружаем, пробуем.
/var/lib/portage/world /etc/portage /etc/runlevels /etc/init.d /etc/conf.d2. Включаем опции в ядре:
General setup --->
[*] Control Group support
[*] Enable the block layer --->
[*] Block layer SG support v4
Device Drivers --->
Generic Driver Options --->
[*] Maintain a devtmpfs filesystem to mount at /dev
File systems --->
[*] Filesystem wide access notification
< > Kernel automounter support
<*> Kernel automounter version 4 support (also supports v3)
[*] Networking support --->
Networking options --->
TCP/IP networking --->
<*> The IPv6 protocol
3.
layman -a systemd4. Создать:
mkdir /run ln -sf /proc/self/mounts /etc/mtab5. Добавляем глобальный флаг systemd.
- /etc/make.conf
USE="systemd"
- /etc/portage/profile/use.mask
-systemd consolekit
- /etc/portage/package.keywords
sys-apps/systemd sys-apps/baselayout-systemd sys-apps/systemd-units sys-apps/dbus sys-fs/udev sys-kernel/linux-headers >=sys-apps/kmod-5
- /etc/portage/package.use
sys-apps/systemd-units server
emerge -av sys-apps/systemd sys-apps/baselayout-systemd sys-apps/systemd-units emerge -avuDN @world7. Поправить в /etc файлы hostname, locale.conf, vconsole. Сделать копии, удалить sys-apps/baselayout-systemd, вернуть копии на место. 8. Добавляем в grub.cfg параметр загрузки init=/usr/bin/systemd (для genkernel real_init). Пока убираем quiet.
9. Перезагружаем, пробуем.
Загрузка сервисов
1. Поднимаем сеть:
2. Поднимаем sshd
- /etc/systemd/system/network.service
[Unit] Description=Network Connectivity [Service] Type=oneshot RemainAfterExit=yes ExecStart=/sbin/ifconfig eth0 192.168.1.2 mtu 1496 ExecStart=/sbin/route add default gw 192.168.1.1 ExecStop=/sbin/ifconfig eth0 down [Install] WantedBy=network.target
systemctl enable network.serviceИли через dhcpcd (с версии 5.2.12-r1 содержит service-файл)
- /etc/dhcpcd.conf
interface eth0 static ip_address=192.168.1.2/24 static routers=192.168.1.1 static domain_name_servers=192.168.1.1
systemctl enable dhcpcd.serviceЕсли поставить dhcpcd-ui будет значок сети в трее.
2. Поднимаем sshd
- /etc/systemd/system/sshd.socket
[Unit] Conflicts=sshd.service [Socket] ListenStream=22 # Uncomment the next line to also listen on port 2200 # ListenStream=2200 Accept=yes [Install] WantedBy=sockets.target
systemctl enable sshd.socket3. Гуглим и поднимаем остальные сервисы. В крайнем случае пишем свой service-файл Type=forking на основе init-файлов. Или в моей коллекции https://github.com/sergtat/systemd-units-for-gentoo.
Удаляем OpenRC SysVinit
1.
- /etc/portage/package.keywords
sys-apps/kmod
emerge --unmerge --verbose sys-apps/module-init-tools emerge --oneshot --verbose sys-apps/kmod2.
git clone git://github.com/canek-pelaez/gentoo-systemd-only.git
- /etc/portage/make.conf
PORTDIR_OVERLAY="/path/to/gentoo-systemd-only"
- /etc/portage/profile/packages
-*>=sys-apps/baselayout-2 *>=sys-apps/systemd-baselayout-10
- /etc/portage/package.keywords
=sys-apps/systemd-sysv-utils-37 =sys-apps/sysvinit-tools-2.88-r4 =sys-apps/systemd-baselayout-10.0 >=sys-apps/util-linux-2.22
- /etc/portage/package.unmask
=sys-apps/systemd-sysv-utils-37
- /etc/make.conf
USE="-openrc"
emerge --unmerge --verbose sys-apps/openrc sys-apps/baselayout sys-apps/sysvinit equery d openrc emerge --unmerge --verbose Все Зависимости (init-скрипты) emerge --newuse --deep --update --verbose --pretend @world emerge --newuse --deep --update --verbose @world4.
cp -f /path/to/gentoo-systemd-only/no-openrc-scripts/fix_libtool_files.sh /usr/sbin cp -f /path/to/gentoo-systemd-only/no-openrc-scripts/flocale-gen /usr/sbin5. На любителя.
- /etc/portage/make.conf
INSTALL_MASK="/etc/init.d /etc/conf.d /etc/runlevels"
Комментариев нет:
Отправить комментарий