rc.local vs upstart vs systemd [закрыто]

Переменная среды HOME сохраняет путь к вашему каталогу /home/<username>.

$ echo $HOME
/home/avinash
$ pwd
/home/avinash

Итак, когда вы находитесь в каталоге /home/<username> (nautilus), отображается соответствующая переменная HOME .

2
задан 6 June 2017 в 18:14

6 ответов

Чтобы начать, ваш продукт не должен использовать rc.local вообще. rc.local предназначен для системного администратора; они могут делать с ними все, что захотят (до тех пор, пока они успешно завершатся). Это делает редактирование в лучшем случае сложным.

Теперь, что вы должны использовать? Ответ прост.

Все они.

Система использует одну систему init в любой момент времени. Если вы предоставляете конфигурацию для всех из них, то тот, который наиболее совместим с запущенным, используется автоматически.

Краткий обзор

System V init

Оба Upstart и systemd поддерживают их, поэтому вы можете написать скрипты sysv init и заставить их работать повсюду. Эта система инициализации только делает одно: вызовите ваш скрипт с соответствующим параметром. Все остальное - отслеживание запущенных процессов, изменение пользователей, настройка среды и т. Д. Должно выполняться в вашем скрипте. Это делает метод сценария инициализации хрупким, если вы плохо разбираетесь в сценариях (сценарии, как правило, представляют собой shell-скрипты, но я полагаю, что это может быть что-то еще). Для удобства предусмотрены некоторые стандартные функции, которые варьируются от distro до distro. Заказ скриптов init выполняется на основе имен файлов и их присутствия в различных каталогах /etc/rc* и в специальных заголовках комментариев.

Upstart (≤ 14.04)

Оба Upstart и systemd поддерживают их, поэтому вы можете писать сценарии sysv init и заставить их работать везде. К сожалению, реализация Upstart затрудняет использование более сложной конфигурации запуска. Кроме того, после факта сложно добавить свою работу в цепочку зависимостей другой работы.

systemd (≥ 16.04)

К сожалению, реализация Upstart затрудняет использование более сложной конфигурации запуска. Эта инициализационная система выполняет только одно: вызовите свой скрипт с соответствующим параметром. Все остальное - отслеживание запущенных процессов, изменение пользователей, настройка среды и т. Д. Должно выполняться в вашем скрипте. Это делает метод сценария инициализации хрупким, если вы плохо разбираетесь в сценариях (сценарии, как правило, представляют собой shell-скрипты, но я полагаю, что это может быть что-то еще). Для удобства предусмотрены некоторые стандартные функции, которые варьируются от дистрибутива до дистрибутива. Администраторы могут легко переопределить конфигурацию init, не наступая на носки поддерживающего пакет.

Оба Upstart и systemd имеют явные преимущества перед sysv init. Оба они более декларативные, чем императивные, со встроенной поддержкой различных задач, связанных с управлением сервисами. Вы должны использовать самую современную систему init, доступную в любых версиях, которые вы поддерживаете.

0
ответ дан 22 May 2018 в 21:48

Чтобы начать, ваш продукт не должен использовать rc.local вообще. rc.local предназначен для системного администратора; они могут делать с ними все, что захотят (до тех пор, пока они успешно завершатся). Это делает редактирование в лучшем случае сложным.

Теперь, что вы должны использовать? Ответ прост.

Все они.

Система использует одну систему init в любой момент времени. Если вы предоставляете конфигурацию для всех из них, то тот, который наиболее совместим с запущенным, используется автоматически.

Краткий обзор

System V init

Оба Upstart и systemd поддерживают их, поэтому вы можете написать скрипты sysv init и заставить их работать повсюду. Эта система инициализации только делает одно: вызовите ваш скрипт с соответствующим параметром. Все остальное - отслеживание запущенных процессов, изменение пользователей, настройка среды и т. Д. Должно выполняться в вашем скрипте. Это делает метод сценария инициализации хрупким, если вы плохо разбираетесь в сценариях (сценарии, как правило, представляют собой shell-скрипты, но я полагаю, что это может быть что-то еще). Для удобства предусмотрены некоторые стандартные функции, которые варьируются от distro до distro. Заказ скриптов init выполняется на основе имен файлов и их присутствия в различных каталогах /etc/rc* и в специальных заголовках комментариев.

Upstart (≤ 14.04)

Оба Upstart и systemd поддерживают их, поэтому вы можете писать сценарии sysv init и заставить их работать везде. К сожалению, реализация Upstart затрудняет использование более сложной конфигурации запуска. Кроме того, после факта сложно добавить свою работу в цепочку зависимостей другой работы.

systemd (≥ 16.04)

К сожалению, реализация Upstart затрудняет использование более сложной конфигурации запуска. Эта система инициализации выполняет только одно: вызовите свой скрипт с соответствующим параметром. Все остальное - отслеживание запущенных процессов, изменение пользователей, настройка среды и т. Д. Должно выполняться в вашем скрипте. Это делает метод сценария инициализации хрупким, если вы плохо разбираетесь в сценариях (сценарии, как правило, представляют собой shell-скрипты, но я полагаю, что это может быть что-то еще). Для удобства предусмотрены некоторые стандартные функции, которые варьируются от дистрибутива до дистрибутива. Администраторы могут легко переопределить конфигурацию init, не наступая на носки поддерживающего пакет.

Оба Upstart и systemd имеют явные преимущества перед sysv init. Оба они более декларативные, чем императивные, со встроенной поддержкой различных задач, связанных с управлением сервисами. Вы должны использовать самую современную систему init, доступную в любых версиях, которые вы поддерживаете.

0
ответ дан 18 July 2018 в 12:03

Чтобы начать, ваш продукт не должен использовать rc.local вообще. rc.local предназначен для системного администратора; они могут делать с ними все, что захотят (до тех пор, пока они успешно завершатся). Это делает редактирование в лучшем случае сложным.

Теперь, что вы должны использовать? Ответ прост.

Все они.

Система использует одну систему init в любой момент времени. Если вы предоставляете конфигурацию для всех из них, то тот, который наиболее совместим с запущенным, используется автоматически.

Краткий обзор

System V init

Оба Upstart и systemd поддерживают их, поэтому вы можете написать скрипты sysv init и заставить их работать повсюду. Эта система инициализации только делает одно: вызовите ваш скрипт с соответствующим параметром. Все остальное - отслеживание запущенных процессов, изменение пользователей, настройка среды и т. Д. Должно выполняться в вашем скрипте. Это делает метод сценария инициализации хрупким, если вы плохо разбираетесь в сценариях (сценарии, как правило, представляют собой shell-скрипты, но я полагаю, что это может быть что-то еще). Для удобства предусмотрены некоторые стандартные функции, которые варьируются от distro до distro. Заказ скриптов init выполняется на основе имен файлов и их присутствия в различных каталогах /etc/rc* и в специальных заголовках комментариев.

Upstart (≤ 14.04)

Оба Upstart и systemd поддерживают их, поэтому вы можете писать сценарии sysv init и заставить их работать везде. К сожалению, реализация Upstart затрудняет использование более сложной конфигурации запуска. Кроме того, после факта сложно добавить свою работу в цепочку зависимостей другой работы.

systemd (≥ 16.04)

К сожалению, реализация Upstart затрудняет использование более сложной конфигурации запуска. Эта система инициализации выполняет только одно: вызовите свой скрипт с соответствующим параметром. Все остальное - отслеживание запущенных процессов, изменение пользователей, настройка среды и т. Д. Должно выполняться в вашем скрипте. Это делает метод сценария инициализации хрупким, если вы плохо разбираетесь в сценариях (сценарии, как правило, представляют собой shell-скрипты, но я полагаю, что это может быть что-то еще). Для удобства предусмотрены некоторые стандартные функции, которые варьируются от дистрибутива до дистрибутива. Администраторы могут легко переопределить конфигурацию init, не наступая на носки поддерживающего пакет.

Оба Upstart и systemd имеют явные преимущества перед sysv init. Оба они более декларативные, чем императивные, со встроенной поддержкой различных задач, связанных с управлением сервисами. Вы должны использовать самую современную систему init, доступную в любых версиях, которые вы поддерживаете.

0
ответ дан 24 July 2018 в 19:54

Systemd - это продвижение по Upstart, поэтому спрашивать, что лучше или безопаснее, по моему мнению, на самом деле не справедливо. Лучше спросить себя: «Я хочу делать что-то по-старому», если это так, Upstart, еще Systemd.

Проверьте различия здесь, лично мне нравится двигаться вперед, поскольку это намерение Systemd. Оба имеют отличную безопасность, и, поскольку вы приходите из Windows, пожалуйста, прочтите , что я хочу делать вещи по-старому , тогда я считаю, что вы решите лучше.

Опять rc.local является старой школьной добро пожаловать в Linux, мы верим в будущее, так что сделайте все в настоящем, а не в прошлом.

0
ответ дан 22 May 2018 в 21:48
  • 1
    Подумайте о добавлении простого дискриминатора в начале ответа: Upstart по умолчанию - 14.04, и с тех пор он был понижен с точки зрения основного на юниверс в 17.10. systemd по умолчанию - 16.04 и новее. – user535733 7 June 2017 в 00:16

Systemd - это продвижение по Upstart, поэтому спрашивать, что лучше или безопаснее, по моему мнению, на самом деле не справедливо. Лучше спросить себя: «Я хочу делать что-то по-старому», если это так, Upstart, еще Systemd.

Проверьте различия здесь, лично мне нравится двигаться вперед, поскольку это намерение Systemd. Оба имеют отличную безопасность, и, поскольку вы приходите из Windows, пожалуйста, прочтите , что я хочу делать вещи по-старому , тогда я считаю, что вы решите лучше.

Опять rc.local является старой школьной добро пожаловать в Linux, мы верим в будущее, так что сделайте все в настоящем, а не в прошлом.

0
ответ дан 18 July 2018 в 12:03

Systemd - это продвижение по Upstart, поэтому спрашивать, что лучше или безопаснее, по моему мнению, на самом деле не справедливо. Лучше спросить себя: «Я хочу делать что-то по-старому», если это так, Upstart, еще Systemd.

Проверьте различия здесь, лично мне нравится двигаться вперед, поскольку это намерение Systemd. Оба имеют отличную безопасность, и, поскольку вы приходите из Windows, пожалуйста, прочтите , что я хочу делать вещи по-старому , тогда я считаю, что вы решите лучше.

Опять rc.local является старой школьной добро пожаловать в Linux, мы верим в будущее, так что сделайте все в настоящем, а не в прошлом.

0
ответ дан 24 July 2018 в 19:54
  • 1
    Подумайте о добавлении простого дискриминатора в начале ответа: Upstart по умолчанию - 14.04, и с тех пор он был понижен с точки зрения основного на юниверс в 17.10. systemd по умолчанию - 16.04 и новее. – user535733 7 June 2017 в 00:16

Другие вопросы по тегам:

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