Sysvinit: различия между версиями
м (→Сборки: -f.l.k.u) |
м (→переход: +~reboot) |
||
(не показано 12 промежуточных версий 4 участников) | |||
Строка 1: | Строка 1: | ||
= Использование SysVinit на p7+ = | = Использование SysVinit на p7+ = | ||
== Сборки == | |||
* [[Starterkits|стартеркиты]] (на sysvinit живут gnustep, icewm, sysv-tde и wmaker, а также rescue и все серверные) | |||
** бывают экспериментальные образы в [http://nightly.altlinux.org/p7/beta/ beta/], ориентируйтесь на "sysv" | |||
* аналогичные стартеркитам [[Regular|регулярные сборки]] (на [[sisyphus|сизифе]], осторожно!) | |||
* http://enp.itx.ru/linux/alt/t7/iso/ | |||
== переход == | |||
На [[branches/p10|p10]] по зависимостям пакета startup понадобится пакет systemd-utils-standalone: | |||
# apt-get install sysvinit sysvinit-utils sysvinit-initramfs | |||
# apt-get remove libnss-systemd pam_systemd systemd systemd-analyze systemd-boot-efi systemd-utils-standalone+ | |||
Может потребоваться перезагрузка запасным методом вместо штатного {{cmd|reboot}} (программный аналог комбинации <tt>Alt-SysRq-<кнопка></tt>): | |||
# echo s > /proc/sysrq-trigger | |||
# echo u > /proc/sysrq-trigger | |||
# echo b > /proc/sysrq-trigger | |||
== polkit == | == polkit == | ||
При использовании {{cmd|systemd-logind}} вместо {{pkg|ConsoleKit}} нарушается возможность использовать функции, завязанные на {{pkg|polkit}}. | При использовании {{cmd|systemd-logind}} вместо {{pkg|ConsoleKit}} нарушается возможность использовать функции, завязанные на {{pkg|polkit}}. | ||
Однако есть возможность частично решить эту проблему. Необходимо для части операций | Однако есть возможность частично решить эту проблему. Необходимо для части операций изменить поведение {{pkg|polkit}} по умолчанию. | ||
См. тж. [http://packages.altlinux.org/ru/Sisyphus/srpms/polkit-sysvinit {{pkg|polkit-sysvinit}}] или далее. | |||
=== флэшки === | |||
Для связанных с монтированием устройств действий необходимо создать файл {{path|/etc/polkit-1/rules.d/60-mount.rules}}<ref>Начиная с версии 0.106, метод с правкой файлов {{path|*.pkla}} в каталоге {{path|/etc/polkit-1/localauthority/}} не работает</ref>. | |||
<pre> | <pre> | ||
polkit.addRule(function(action, subject) { | polkit.addRule(function(action, subject) { | ||
Строка 20: | Строка 44: | ||
}); | }); | ||
</pre> | </pre> | ||
В этом примере | В этом примере возвращаются разрешения на действия "org.freedesktop.udisks2.filesystem-mount" и "org.freedesktop.udisks2.eject-media", если пользователь находится в группе "storage". | ||
Если вы уверены, что такие меры безопасности на данной машине слишком суровы, то содержимое файла можно упростить до вседозволенности: | Если вы уверены, что такие меры безопасности на данной машине слишком суровы, то содержимое файла можно упростить до вседозволенности: | ||
Строка 39: | Строка 63: | ||
</pre> | </pre> | ||
== | === NetworkManager === | ||
* | Аналогично: {{path|/etc/polkit-1/rules.d/60-nm.rules}} вида | ||
* | <pre> | ||
polkit.addRule(function(action, subject) { | |||
if (subject.isInGroup("_nmconnect") && (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 )) { | |||
return polkit.Result.YES; | |||
} | |||
}); | |||
</pre> | |||
(обратите внимание, что группа <tt>_nmconnect</tt> здесь [http://lists.altlinux.org/pipermail/sisyphus/2013-July/361023.html специальная], без неё будет ошибка вроде <tt>(32) No session found for uid 500 (unknown)</tt>!) | |||
Такая же ошибка будет, если в системе с sysvinit имеется пакет systemd-services. Его нужно удалить и | |||
перезагрузиться. | |||
= Разное = | |||
* Q: <tt>Running in chroot, ignoring request.</tt><br/>A: [https://github.com/smaknsk/servicectl servicectl] есть в сизифе и бранчах, начиная с p7/t7 | |||
= Ссылки = | |||
* https://www.opennet.ru/base/sys/systemd_myth.txt.html | |||
* https://ewontfix.com/14/ | |||
= Примечания = | |||
<references /> | <references /> | ||
{{Category navigation|title=Системному администратору|category=Admin|sortkey={{SUBPAGENAME}}}} |
Текущая версия от 18:21, 23 октября 2023
Использование SysVinit на p7+
Сборки
- стартеркиты (на sysvinit живут gnustep, icewm, sysv-tde и wmaker, а также rescue и все серверные)
- бывают экспериментальные образы в beta/, ориентируйтесь на "sysv"
- аналогичные стартеркитам регулярные сборки (на сизифе, осторожно!)
- http://enp.itx.ru/linux/alt/t7/iso/
переход
На p10 по зависимостям пакета startup понадобится пакет systemd-utils-standalone:
# apt-get install sysvinit sysvinit-utils sysvinit-initramfs # apt-get remove libnss-systemd pam_systemd systemd systemd-analyze systemd-boot-efi systemd-utils-standalone+
Может потребоваться перезагрузка запасным методом вместо штатного reboot (программный аналог комбинации Alt-SysRq-<кнопка>):
# echo s > /proc/sysrq-trigger # echo u > /proc/sysrq-trigger # echo b > /proc/sysrq-trigger
polkit
При использовании systemd-logind вместо ConsoleKit нарушается возможность использовать функции, завязанные на polkit.
Однако есть возможность частично решить эту проблему. Необходимо для части операций изменить поведение polkit по умолчанию.
См. тж. polkit-sysvinit или далее.
флэшки
Для связанных с монтированием устройств действий необходимо создать файл /etc/polkit-1/rules.d/60-mount.rules[1].
polkit.addRule(function(action, subject) { if ( ( action.id == "org.freedesktop.udisks2.filesystem-mount" || action.id == "org.freedesktop.udisks2.filesystem-mount-system" || action.id == "org.freedesktop.udisks2.filesystem-mount-system-internal" ) && subject.isInGroup("storage") ) { return polkit.Result.YES; } }); polkit.addRule(function(action, subject) { if (action.id == "org.freedesktop.udisks2.eject-media" && subject.isInGroup("storage") ) { return polkit.Result.YES; } });
В этом примере возвращаются разрешения на действия "org.freedesktop.udisks2.filesystem-mount" и "org.freedesktop.udisks2.eject-media", если пользователь находится в группе "storage".
Если вы уверены, что такие меры безопасности на данной машине слишком суровы, то содержимое файла можно упростить до вседозволенности:
polkit.addRule(function(action, subject) { if ( action.id == "org.freedesktop.udisks2.filesystem-mount" || action.id == "org.freedesktop.udisks2.filesystem-mount-system" || action.id == "org.freedesktop.udisks2.filesystem-mount-system-internal" ) { return polkit.Result.YES; } }); polkit.addRule(function(action, subject) { if (action.id == "org.freedesktop.udisks2.eject-media" ) { return polkit.Result.YES; } });
NetworkManager
Аналогично: /etc/polkit-1/rules.d/60-nm.rules вида
polkit.addRule(function(action, subject) { if (subject.isInGroup("_nmconnect") && (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 )) { return polkit.Result.YES; } });
(обратите внимание, что группа _nmconnect здесь специальная, без неё будет ошибка вроде (32) No session found for uid 500 (unknown)!)
Такая же ошибка будет, если в системе с sysvinit имеется пакет systemd-services. Его нужно удалить и перезагрузиться.
Разное
- Q: Running in chroot, ignoring request.
A: servicectl есть в сизифе и бранчах, начиная с p7/t7
Ссылки
Примечания
- ↑ Начиная с версии 0.106, метод с правкой файлов *.pkla в каталоге /etc/polkit-1/localauthority/ не работает