По словам экспертов системы, правильное местоположение systemctl
: /usr/bin/systemctl
:
https://lists.freedesktop.org/archives/systemd-devel/2019-August/ 043224.html
Почему Ubuntu использует /bin/systemctl
?
Связанные: https://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge/
Так загружаясь в систему с отдельным /usr
раздел не поддерживается systemd. Строго говоря, переключая корень на систему, где /usr
еще не смонтирован не поддерживается, в таких системах, initramfs должен смонтировать обоих /
и /usr
перед переключающимся корнем.
Однако конфигурация с отдельным /usr
главным образом работавший в systemd системах, и это раньше работало почти хорошо в более старых версиях systemd, прежде чем они официально объявили неподдерживаемый и начали отклонять, фиксирует для тех установок.
(Вы уже упомянули Случай для /usr
Слияние, таким образом, можно читать больше там на свойственных проблемах с теми установками и мотивациями для слияния как фиксация.)
Начиная с исторической поддержки систем с отдельным /usr
было необходимо в некоторой степени, решение должно было быть принято о том, поместить ли systemctl
под /usr
или снаружи. Основной вопрос ответить в этом контексте: что происходит если /usr
сбои для монтирования и необходимо ли зафиксировать систему в начальную загрузку снова? Если systemctl
был под /usr
, это не было бы доступно, в то время как, если это находится в /bin
, у Вас будет он вокруг. Учитывая Вы, вероятно, будете запускать, останавливаясь и проверяя состояние сервисов, в то время как попытка зафиксировать Вашу систему, поставка ее в корневом разделе имеют смысл.
Но, снова, слияние /usr
действительное решение для этого, с тех пор эти вопросы все спорны. Если /usr
сбои для монтирования Вы находитесь все еще на initramfs и можете использовать инструменты внутри там для фиксации ее. Все современные дистрибутивы переключаются на объединенный /usr
, таким образом, это решение должно быть вокруг большинства установок Linux очень скоро теперь.