Где круче и проще: systemd, rc или launchd в реальной работе?
Короче, долго копал, изучал и тестил разные init-системы в Linux и BSD – systemd, классический rc и еще launchd, который в MacOS и FreeBSD с недавних пор популярен. У каждой своей атмосферы и подвохи.
Systemd – это как большой комбайн: куча встроенных фич, единая логика, быстро стартует системы и процессы. Но иногда он чересчур монолитен, и если что-то ломается, раскопать можно долго. Плюс, много зависимостей, не факт, что все удобно для мелких кастомных юзкейсов.
Rc – проще и очевиднее, особенно если тебя не напрягает писать скрипты руками. Плюс, она очень прозрачна и легковесна, что круто на серверах с малыми ресурсами или в BSD-системах. Минус – медленнее запускается, надо всё руками прописывать и знать, что делаешь.
Launchd – что-то среднее, хоть и немного чуждое для большинства Linux-юзеров. Работает быстро и позволяет запускать как демоны, так и однократные задачи. Но поддержку и документацию удержать сложнее, ведь на форумах и дискуссиях по нему меньше народу.
Если вкратце – для десктопов и крупных серверов с активным сообществом лучше systemd (если не бесит). Для BSD-систем и тонких настроек rc сойдет. А launchd — если хочешь что-то менее заезженное и всестороннее, но не против копаться.
Кто что юзает на практике? И реально ли systemd так силен, чтобы ради него полностью переходить или лучше брать старые добрые init’ы?