Как настроить автозапуск приложений и сервисов в ubuntu

Как настроить автозапуск приложений и сервисов в ubuntu

Как добавить приложение в автозагрузку в Ubuntu 14.04 LTS/15.04/16.04 LTS? Если вы задавались этим вопросом, ознакомьтесь с материалом ниже где все по пунктам описано

Многие наверное задумывались как добавить свое приложение в автозагрузку в дистрибутиве Ubuntu 16.04/15.04/15.10/14.10/14.04/13.10/13.04.

Первым делом, что нам нужно чтобы добавить приложение в автозагрузку? Перейдем на боковую панель меню(лаунчер), и выберем первую иконку для открытия шторки в Dash и воспользуемся поиском чтобы найти ярлык приложения — Автоматически запускаемые приложения.

Как настроить автозапуск приложений и сервисов в ubuntu

  • Далее запустим приложение — Автоматически запускаемые приложения(startup applications).

Как настроить автозапуск приложений и сервисов в ubuntu

  • Чтобы добавить новое приложение в автозагрузку, нажмем на кнопку добавить, далее мы увидим поля(имя, команда и описание) в поле имя мы просто добавляем имя приложения для автозагрузки как пример, я добавил в автозагрузку приложение Cairo-Dock.

Как настроить автозапуск приложений и сервисов в ubuntu

Да, именно так, все просто и ничего лишнего:

  • Поле имя — здесь можно добавить либо какое имя с большой или маленькой буквы разницы нет
  • Поле команда — в данном поле нужно написать название программы с маленькой буквы, как пример — cairo-dock
  • Поле описание — в данном поле пишем любое описание приложения, но можно и ничего не писать так как поле не обязательное.
  • Дополнительно есть кнопка — Обзор это как второй вариант, для добавления приложения в автозагрузку:
  • Как настроить автозапуск приложений и сервисов в ubuntu
    Как настроить автозапуск приложений и сервисов в ubuntu
    Как настроить автозапуск приложений и сервисов в ubuntu
    Как настроить автозапуск приложений и сервисов в ubuntu
    Как настроить автозапуск приложений и сервисов в ubuntu
  • На этом все, если возникнут трудности спрашиваем.

Да
Нет

Статья оказалась полезной для 0 человек

Порядок вывода комментариев:

По умолчанию
Сначала новые
Сначала старые

Как настроить автозапуск приложений и сервисов в ubuntu

Источник: https://Blogas.info/autorun-linux

Автозагрузка в Ubuntu

Многие программы мы используем постоянно и запускаем их каждый раз при старте системы, а некоторые, такие, как мессенджеры или различные утилиты должны постоянно работать в фоне чтобы правильно выполнять свою задачу. Для этого в операционных системах существует автозагрузка. Программы запускаются автоматически, после того, как запустилась ОС или графическая оболочка.

В этой статье мы поговорим о том, как работает автозагрузка в Ubuntu, какие существуют способы автозагрузки в этой системе и как добавить туда программы.

Автозагрузка в ubuntu

Первым делом нужно сказать, что в Ubuntu существует несколько уровней автозагрузки. Я не буду говорить здесь про systemd и автозагрузку сервисов, так как уже рассматривал это в одной из первых статей. Программу или скрипт можно добавить в автозагрузку такими путями:

  • Утилита «Автоматически запускаемые приложения»;
  • Папка «Автозапуск»;
  • Файл rc.local;
  • Файл Xinitrc;

Мы рассмотрим первые два способа, поскольку два последние более рассчитаны на скрипты, а не программы. Сначала автозагрузка в Ubuntu с помощью стандартной утилиты.

  • Как настроить автозапуск приложений и сервисов в ubuntu
  • Откройте меню системы и наберите «Авто» и откройте программу, которая будет первой в списке, Автоматически запускаемые приложения:
  • Как настроить автозапуск приложений и сервисов в ubuntu
  • Здесь будут перечислены все приложения, которые сейчас запускаются автоматически. Чтобы добавить в автозагрузку ubuntu еще одно приложение, нажмите кнопку «Добавить»:
  • Как настроить автозапуск приложений и сервисов в ubuntu
  • Здесь нужно ввести имя нового пункта, а также команду запуска приложения. Вы можете выбрать приложение в файловой системе, если не помните путь, нажав кнопку «Обзор»:
  • Как настроить автозапуск приложений и сервисов в ubuntu

В команде можно указывать параметры, если это нужно. Еще можно заполнить поле «Описание», но это уже необязательно. Если вам нужна определенная программа из главного меню, но вы не знаете где ее найти и как пишется ее команда, можно посмотреть ее в том же меню. Но для этого нам нужно сначала установить утилиту «Главное меню» из центра приложений:

  1. Как настроить автозапуск приложений и сервисов в ubuntu
  2. Дальше запустите утилиту и найдите в ней нужное приложение. Затем нажмите «Свойства»:
  3. Как настроить автозапуск приложений и сервисов в ubuntu
  4. Здесь вам нужно обратить внимание на строку «Команда», скопируйте ее и можете использовать для автозагрузки.
  5. Как настроить автозапуск приложений и сервисов в ubuntu

Следующий способ — это папка автозагрузки. Она находится по адресу ~/.config/autostart. По сути, это тот же самый способ, только он может выполняться без графического интерфейса. Когда вы настраиваете автозагрузку через приложение, то в этой папке создаются файлы настроек с именем desktop. Вот, например:

Как настроить автозапуск приложений и сервисов в ubuntu

Напоминаю, что для того, чтобы посмотреть скрытые файлы нужно нажать сочетание клавиш Ctrl+H. Теперь попытаемся создать новый конфигурационный файл для еще одной программы. Вот таким будет его синтаксис:

[Desktop Entry]
Type=Application
Name=имя_нового_пункта
Exec=команда
Icon=полный_путь_к_иконке
Comment=комментарий
X-GNOME-Autostart-enabled=true

Для примера, сделаем файл для запуска плеера VLC, он будет выглядеть вот так:

vi ~/.config/autostart/vlc.desktop

  • [Desktop Entry]
    Type=Application
    Name=VLC
    Exec=vlc
    Icon=/usr/share/icons/hicolor/16×16/apps/vlc.png
    Comment=VLC Media Player
  • X-GNOME-Autostart-enabled=true
  • Как настроить автозапуск приложений и сервисов в ubuntu

Готово, и самое интересное, что если вы откроете приложение автозагрузки. То там тоже появится этот пункт. Это такой способ настройки без графического интерфейса.

ВЫВОДЫ

В этой небольшой статье мы рассмотрели как настраивается автозагрузка программ ubuntu различными способами — через графический интерфейс и терминал.

Вы можете использовать эти знания, чтобы сделать работу в вашей системе более удобной. Даже несмотря на то, что Ubuntu перешла на Gnome, автозагрузка в ubuntu 16.04 и сейчас выглядят практически одинаково.

Если у вас остались, вопросы, спрашивайте в х!

(8

Источник: https://losst.ru/avtozagruzka-v-ubuntu

Управление автозагрузкой сервисов и скриптов в Linux

В данной статье мы рассмотрим основы управлением автозагрузкой сервисов и скриптов в Linux CentOS 7/8. В частности, разберем основы работы с демоном systemd, научимся добавлять в автозагрузку сервисы и убирать их оттуда, а также рассмотрим альтернативные варианты запуска скриптов или демонов после старта системы.

Задача статьи – научить вас быстро разобраться со списками служб и скриптов которые запускаются в Linux автоматически, добавить в автозагрузку свои службы или скрипты, или отключить автозапуск определённых программ.

Systemd: управление автозагрузкой служб в Linux

В большистве популярных современных популярных дистрибутивов Linux (CentOS 7, RHEL, Debian, Fedora и Ubuntu) в качестве демона автозагрузки вместо init.d используется systemd.

Systemd – менеджер системы и служб Linux, используется для запуска других демонов и управления ими в процессе работы, использует unit-файлы из /etc/systemd/system (init.d использовал скрипты из каталога /etc/init.d/).

Systemd позволяет распараллелить запуск служб в процессе загрузки ОС, тем самым ускоряя запуск.

  • Для управления system используется команда systemctl.
  • Для начала, после загрузки системы, мы проверим список юнитов, которые в данный момент добавлены в systemd:
  • systemctl list-units

Как настроить автозапуск приложений и сервисов в ubuntu

  1. Список unit-файлов можно получить командой:
  2. systemctl list-unit-files
  3. Данная команда отобразит все доступные юнит-файлы (не зависимо от того, были они загружены в systemd после загрузки ОС или нет).
  4. Чтобы вывести список активных сервисов и их состояние, выполните:
  5. # systemctl list-units -t service

Следующая команда выведет список юнитов, которые загрузил или пытался загрузить systemd. Так как после запуска некоторые юниты могут стать неактивными, с помощью флага —all вы получите полный список.

# systemctl list-units —all

UNIT LOAD ACTIVE SUB DESCRIPTION
proc-sys-fs-binfmt_misc.automount loaded active waiting ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
● exim.service not-found inactive dead exim.service
firewalld.service loaded active running firewalld — dynamic firewall daemon
getty@tty1.service loaded active running Getty on tty1
● ip6tables.service not-found inactive dead ip6tables.service
● ipset.service not-found inactive dead ipset.service
● iptables.service not-found inactive dead iptables.service
Bring up/down networking
● NetworkManager-wait-online.service not-found inactive dead

Как видим из списка, здесь отображаются даже сервисы, которые не были найдены на диске «not-found».

Использую данную команду, вы можете добавить и другие флаги, например:

  • —state — используется для определения состояния демона Load, Active, Sub
  • —type — позволяет фильтровать юниты по их типу.
  • Примеры:
  • systemctl list-units —all —state=active — выведет список только активных юнитов
  • systemctl list-units —type=service — выведет список юнитов, которые являются сервисом.

Как настроить автозапуск приложений и сервисов в ubuntu

Добавление сервиса в systemd

Для управления сервисами в systemd используется особый синтаксис. После имени серверсв в конце нужно указывать .service. Например:

  1. systemctl enable nginx.service – команда добавит в автозагрузку веб-сервер nginx
  2. Данная команда создаст символическую ссылку на копию файла, указанного в команде сервиса, в директории автозапуска systemd.
  3. # systemctl enable nginx.service

Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service

  • Чтобы посмотреть добавлен тот или иной сервис в автозагрузку, можно проверить его статус:
  • systemctl status nginx.service
  • При выводе нужно обратить внимание на строку:

Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)

Значение enabled означает что данный сервис загружается автоматически (добавлен в автозагрузку). Если сервис не загружается автоматом, здесь буде указано disabled.

Удаление сервиса из systemd

  1. Вы можете удалить сервис из автозагрузки, чтобы он не запускался после старта Linux (при этом сам сервис с сервера не удаляется).

    Чтобы удалить сервис из автозагрузки, выполните команду:

  2. systemctl disable нужный_сервис
  3. Например, чтобы удалить из автозагрузки nginx, выполните:
  4. # systemctl disable nginx.service

Removed symlink /etc/systemd/system/multi-user.target.wants/nginx.

service

После выполнения команды, симлинк на файл сервиса будет удален из директории systemd. Можно проверить, есть ли юнит в автозагрузке:

# systemctl is-enabled sshd

Systemd: маскировка юнитов

  • В моей практике встречались «вредные» сервисы, которые после удаления их из автозагрузки, все равно там оставались и запускались после рестарта ОС. Чтобы решить этот вопрос, можно замаскировать сервис:
  • systemctl mask nginx.service
  • И после этого, он вообще не будет запускаться, ни вручную, ни после перезагрузки ОС:
  • # systemctl mask nginx.service

Created symlink from /etc/systemd/system/nginx.service to /dev/null.

# service nginx restart

Redirecting to /bin/systemctl restart nginx.service
Failed to restart nginx.service: Unit is masked.

Снять маску можно командой:

# systemctl unmask nginx.service

Removed symlink /etc/systemd/system/nginx.service.

Если после маскировки сервиса, вы проверите юнит-файлы, то увидите, что сервис помечен как замаскированный (состояние masked):

Как настроить автозапуск приложений и сервисов в ubuntu

Таким нехитрым способом, можно избавить себя от удаления сервиса, даже если он не удаляется из автозагрузки systemd.

Автозапуска скриптов и сервисов с помощью rc.local

Для запуска различных скриптов при загрузке Linux чаще всего используется rc.local.

Но помимо скриптов, через rc.local так же можно и запускать сервисы, даже те, которые запускаются через systemd. Не могу ответить на вопрос, для чего использовать в таком случае rc.local, если есть systemd, но пару примеров я приведу.

  1. Начнем с того, что файл /etc/rc.local должен быть исполняемым:
  2. chmod +x /etc/rc.local
  3. Rc.local должен быть добавлен в автозагрузку systemd:
  4. systemctl enable rc-local
  5. И на примере того же nginx, мы можем добавить в rc.local команду запуска веб-сервера:
  6. service nginx start

Как настроить автозапуск приложений и сервисов в ubuntu

Но я редко использую rc.local для запуска сервисов. Чаще rc.local используется, когда нужно запустить скрипт, либо выполнить разово какую-то команду.

К примеру, я создал скрипт /root/test.sh который выполняет некоторые действия, и хочу запустить его сразу после запуска системы. Добавляем в файл rc.local строку:

sh /root/test.sh

Как настроить автозапуск приложений и сервисов в ubuntu

Начиная с CentOS 7, разработчики указывают на то, что rc.local устаревший демон и осуществлять автозапуск скриптов или сервисов через него, это прошлый век. Но пока он работает, я пользуюсь им, так как он очень прост в эксплуатации.

Создание собственного демона и добавление его в systemd

Вы можете создать собственный демон, которым можно будет управлять через systemd.

Например, нам нужно запускать все тот же скрипт /root/test.sh после перезагрузки системы. Начнем с создания файла нашей будущей службы:

touch /etc/systemd/system/test-script.servicechmod 664 /etc/systemd/system/test-script.service

  • nano /etc/systemd/system/test-script.service
  • Содержимое файла будет следующее:

[Unit]
Description=Template Settings Service
After=network.target
[Service]
Type=oneshot
User=root
ExecStart=/root/test.sh
[Install]
WantedBy=multi-user.target

  1. Основные параметры:
  2. User – пользователь под которым будет запускаться демон
  3. Type=oneshot — процесс будет завершен до запуска дальнейших юнитов
  4. Проверяем и перезапускаем:# systemctl daemon-reload# systemctl start test-script.service
  5. # systemctl status test-script.service

● test-script.service — Test
Loaded: loaded (/etc/systemd/system/test-script.service; disabled; vendor preset: disabled)
Active: active (running)

Если вас устроило то, как работает сервис, добавьте его в автозагрузку:

# systemctl enable test-script.service

Created symlink from /etc/systemd/system/multi-user.target.wants/test-script.service to /etc/systemd/system/test-script.service.

Таким образом, вы можете добавить любой ваш скрипт в автозагрузку через systemd.

Автозапуск через cron

  • Если вам с какой-то периодичностью нужно запускать скрипт или команду, вы можете воспользоваться cron-ом:
  • crontab -e — открыть терминал для написания задания cron
  • И добавьте туда нужное вам задание, например:

* * * * * /root/test.sh — запускать скрипт каждую минуту.

Можно написать скрипт watch-dog, который по заданию будет проверять, например, статус какого-либо сервиса и, если он не работает, запускать его. На нескольких своих проектах я использую подобную схему.

Чтобы вывести список всех заданий в крон, нужно выполнить команду:

# crontab -l

* * * * * /root/test.sh

Допустимые значения для времени запуска заданий cron по порядку:

  • Минуты от 0 до 59
  • Часы от 0 до 59
  • День месяца от 1 до 31
  • Месяц от 1 до 12
  • День недели от 0 до 7 (0 или 7 это воскресение)

В нашем задании скрипт запускается каждую минуту, поэтому там стоят «*».

Так же вы можете разместить нужный вам скрипт в директориях cron:

  • /cron.daily – выполнение скрипта ежедневно
  • /cron.hourly – выполнение скрипта ежечасно
  • /cron.monthly — выполнение скрипта ежемесячно
  • /cron.weekly — выполнение скрипта еженедельно

Скрипты в указанных директория будут запускаться согласно автоматически подготовленного расписания.

.bashrc: автозапуск скриптов при запуске терминала

Если вам требуется выполнять какие-то действия при запуске терминала ssh, вы можете добавить любую команду или выполнение скрипта в .bash_profile или .bashrc.

Теоретически, вы можете добавить какое-либо действие в любой из этих файлов, оно выполнится в любом случае. Обычно все необходимое добавляется в .bashrc, а сам .bashrc запускают из .

bash_profile.

Я добавил в файл .bashrc команду на рестарт веб-сервиса nginx:

service nginx restart

Как настроить автозапуск приложений и сервисов в ubuntu

После этого сохранил файл и перезапустил терминал:

Как настроить автозапуск приложений и сервисов в ubuntu

Как видите, при запуске терминала, веб-сервер был перезапущен. Какие действия можно выполнять при запуске терминала? Вероятно, запускать какие-то вспомогательные утилиты, например, проверка uptime сервера:

Как настроить автозапуск приложений и сервисов в ubuntu

Или вы хотите, чтобы при запуске терминала, вы сразу попадали в нужную вам директорию и запускали mc, добавьте в .bashrc

cd /var/mc

Как настроить автозапуск приложений и сервисов в ubuntu

Надеюсь эта статья по управлению автозапуском сервисов и скриптов в LInux (статья писалась для CentOS) оказалась полезной для вас. Наверняка тем, кто только познает азы системного администрирования Linux, это информация будет кстати.

Источник: http://winitpro.ru/index.php/2019/10/11/avtozagruzka-servisov-i-skriptov-v-linux/

Ubuntu автозагрузка: как убрать и добавить программу в автозапуск

В Убунту есть 2 основных уровня автозапуска — в системе инициализации systemd и в рабочем окружении. Для пользовательского софта автозагрузка в Ubuntu может быть настроена в удобной графической утилите. Добавить в автозапуск можно программу или собственный скрипт.

Автозагрузка в Ubuntu

Актуальная Ubuntu 18.04 по умолчанию в качестве рабочего окружения использует GnomeShell. Для настройки автозапуска в этой версии ОС нужно:

  1. Нажать на кнопку «Обзор» в левом верхнем углу экрана.
  2. Начать вводить в строку поиска «Автоматически запускаемые приложения» и запустить найденную утилиту. Как настроить автозапуск приложений и сервисов в ubuntu
  3. Далее кликнуть по кнопке «Добавить», чтобы внести желаемое приложение в автозагрузку. Как настроить автозапуск приложений и сервисов в ubuntu
  4. Заполнить поля «Имя» (название программы — как удобно) и «Команда» (та, которую вводят в консоли для запуска этого софта). Поле «описание» необязательное, сюда разрешено вписать любой комментарий. Как настроить автозапуск приложений и сервисов в ubuntu Пример добавления Transmission в автозагрузку в Линукс показан на скриншоте:Как настроить автозапуск приложений и сервисов в ubuntu
  5. Нажать кнопку «Добавить».

Совет! Чтобы не ошибиться с правильностью команды, нужно установить утилиту «Главное меню» из UbuntuSoftwareCenter.

Как настроить автозапуск приложений и сервисов в ubuntu

В ней выбрать интересующий пункт и открыть его свойства. Правильная команда копируется из одноименной строки.

Как настроить автозапуск приложений и сервисов в ubuntu

Запуск приложений в Ubuntu, присутствующих в списке и помеченных галочкой, будет происходить при каждом старте ОС.

Все это приложения данного пользователя, системные программы и сервисы, утилита не отображает.

В предыдущих версиях операционной системы с графической оболочкой Unity утилита для настройки автозагрузки также ищется поиском по меню Dash или открывается с помощью команды в терминале:

gnome-session-properties.

Как добавить скрипт в автозагрузку Ubuntu

Кроме конкретного софта, добавить в автозагрузку Linux легко и самописный скрипт, чтобы оптимизировать работу за компьютером. Для этого необходимо:

  1. Сделать скрипт исполняемым с помощью команды:

    sudochmodugo+x /home/user/script.sh

    (где user — имя пользователя, а script — название скрипта, но путь до вашего файла .sh может отличаться: его нужно прописать полностью, иначе скрипт не запустится).

  2. Открыть «Автоматически запускаемые приложения» и нажать «Добавить».
  3. Ввести имя скрипта, а в качестве команды — полное название с путем до файла, например, /home/user/script.sh.
  4. Кликнуть по «Добавить».

Есть другой, классический, но считающийся устаревшим способ настроить автозапуск скрипта в Ubuntu. Для его выполнения нужно:

  1. Открыть терминал и выполнить команду:

    sudonano /etc/rc.local

  2. Над строкой exit 0 прописать название и путь до скрипта. Как настроить автозапуск приложений и сервисов в ubuntu
  3. Сохранить изменение с помощью сочетания клавиш Ctrl+O, подтвердить клавишей Enter.

Этот способ подойдет и для автозагрузки на UbuntuServer, где нет графики.

Отсрочка автозапуска программ в Ubuntu

Если программ в автозагрузке Убунту очень много, их необходимо подгружать в определенном порядке или запускать спустя какое-то время после загрузки системы — поможет функция отсрочки. Для ее активации используется unix-утилита sleep. Воспользоваться возможностями этого инструмента можно в уже знакомой программе «Автоматически запускаемые приложения». Для этого нужно:

  1. Открыть окно параметров запускаемых приложений.
  2. Выделить курсором программу, автозапуск которой необходимо отсрочить, и воспользоваться кнопкой «Изменить».
  3. В строке «Команда» перед имеющеюся записью внести:

    sleep 120,

где цифра после слова «спать» равна количеству секунд, которое приложение бездействует сразу после старта системы, перед тем как запуститься. Между данной формулой, в конце которой обязательна точка с запятой, и командой на запуск приложения, должен быть пробел.

В приведенном примере отложенной автозагрузки программ в Ubuntu приложение остается в состоянии «сна» 2 минуты, прежде чем открыться. Например, запуск через полчаса после старта ОС будет выглядеть как sleep 3h «имя программы». Пример, в котором Transmission запускается через 1 час:

sleep 1h; transmission-gtk %U

Аналогичным образом можно добавить в автозагрузку в Linux отсроченное выполнение пользовательского скрипта или запуск медиафайла.

Удаление из автозапуска Ubuntu

Чтобы убрать софт из автозагрузки Ubuntu, можно воспользоваться одним из 2 способов: через «Автоматически запускаемые приложения» или вручную. В первом случае достаточно запустить утилиту, выделить нужную программу и нажать «Удалить». Простое снятие галочки отключается программа, и она не будет запускаться при старте системы.

Ручной способ подразумевает использование папки autostart в Ubuntu. Она расположена по адресу /home/имя пользователя/.

config/autostart/ (чтобы увидеть эту скрытую папку, следует открыть домашний каталог в файловом менеджере и нажать одновременно клавиши Ctrl+H). В ней лежат файлы с расширением .

desktop для каждой программы из автозапуска, формирующиеся автоматически при добавлении через графическую утилиту. Достаточно удалить файл, чтобы программа больше не открывалась при включении компьютера.

Заключение

Автозагрузка в Ubuntu имеет множество способов тонкой настройки. Ее возможности трудно охватить. Грамотное использование этого инструмента делает ОС Linux практичнее в повседневных задачах.

Источник: https://iwsm.ru/operatsionnye-sistemy/linux/avtozagruzka-v-ubuntu

Автозагрузка сервисов в Linux [RTFM.WIKI]

linux:autostart

Вывести список всех сервисов

# systemctl list-unit-files —type=service

Проверить статус httpd

# systemctl status httpd

Добавить сервис в автозагрузку (аналог chkconfig on)

# systemctl enable httpd

Убрать сервис из автозагрузки

# systemctl disable httpd

Проверить добавлен ли httpd в автозагрузку

# systemctl is-enabled httpd

Проверить какие сервисы не смогли запуститься при старте системы

# systemctl —failed
UNIT LOAD ACTIVE SUB DESCRIPTION
ip6tables.service loaded failed failed IPv6 firewall with ip6tables

LOAD = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB = The low-level unit activation state, values depend on unit type.

Более подробный список доступных команд

Ниже представлены основные команды systemctl:

Команда Описание
systemctl start name.service запуск сервиса
systemctl stop name.service остановка сервиса
systemctl restart name.service перезапуск сервиса
systemctl try-restart name.service перезапуск сервиса только, если он запущен
systemctl reload name.service перезагрузка конфигурации сервиса
systemctl status name.service проверка, запущен ли сервис с детальным выводом состояния сервиса
systemctl is-active name.service проверка, запущен ли сервис с простым ответом: active или inactive
systemctl list-units –type service –all отображение статуса всех сервисов
systemctl enable name.service активирует сервис (позволяет стартовать во время запуска системы)
systemctl disable name.service деактивирует сервис
systemctl reenable name.service деактивирует сервис и сразу активирует его
systemctl is–enabled name.service проверяет, активирован ли сервис
systemctl list-unit-files –type service отображает все сервисы и проверяет, какие из них активированы
systemctl mask name.service заменяет файл сервиса симлинком на /dev/null, делая юнит недоступным для systemd
systemctl unmask name.service возвращает файл сервиса, делая юнит доступным для systemd

Вывести список всех сервисов

# chkconfig —list
acpid 0:off 1:off 2:on 3:on 4:on 5:on 6:off
atd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
auditd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
htcacheclean 0:off 1:off 2:off 3:off 4:off 5:off 6:off
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ip6tables 0:off 1:off 2:off 3:off 4:off 5:off 6:off
ipset 0:off 1:off 2:on 3:on 4:on 5:on 6:off
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
memcached 0:off 1:off 2:on 3:on 4:on 5:on 6:off
munin-node 0:off 1:off 2:on 3:on 4:on 5:on 6:off
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
named 0:off 1:off 2:on 3:on 4:on 5:on 6:off
netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off
netfs 0:off 1:off 2:off 3:off 4:off 5:off 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
nginx 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ntpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ntpdate 0:off 1:off 2:off 3:off 4:off 5:off 6:off
portreserve 0:off 1:off 2:on 3:on 4:on 5:on 6:off
postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off
rdisc 0:off 1:off 2:off 3:off 4:off 5:off 6:off
restorecond 0:off 1:off 2:off 3:off 4:off 5:off 6:off
rsyslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
saslauthd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
svnserve 0:off 1:off 2:off 3:off 4:off 5:off 6:off
sysstat 0:off 1:on 2:on 3:on 4:on 5:on 6:off
udev-post 0:off 1:on 2:on 3:on 4:on 5:on 6:off
vnstat 0:off 1:off 2:on 3:on 4:on 5:on 6:off
xinetd 0:off 1:off 2:off 3:off 4:off 5:off 6:off

Показать информацию по сервису httpd

# chkconfig —list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

Добавить сервис в автозагрузку

# chkconfig httpd on
или
# chkconfig —level 345 httpd on

Чтобы отключить

# chkconfig httpd off

Также можно воспользоваться утилитой ntsysv

# yum install ntsysv
# ntsysv —level 345

Как настроить автозапуск приложений и сервисов в ubuntu

Вывести список сервисов и их состояние

# service —status-all
[ + ] acpid
[ — ] anacron
[ + ] atd
[ + ] avahi-daemon
[ — ] bootlogs
[ ? ] bootmisc.sh
[ ? ] checkfs.sh
[ ? ] checkroot-bootclean.sh
[ — ] checkroot.sh
[ — ] console-setup
[ + ] cron
[ + ] dbus
[ + ] exim4
[ ? ] hdparm
[ — ] hostname.sh
[ ? ] hwclock.sh
[ — ] kbd
[ — ] keyboard-setup
[ — ] keymap.sh
[ ? ] killprocs
[ ? ] kmod
[ — ] motd
[ ? ] mountall-bootclean.sh
[ ? ] mountall.sh
[ ? ] mountdevsubfs.sh
[ ? ] mountkernfs.sh
[ ? ] mountnfs-bootclean.sh
[ ? ] mountnfs.sh
[ ? ] mtab.sh
[ ? ] mysql
[ ? ] networking
[ + ] nginx
[ + ] php5-fpm
[ — ] procps
[ ? ] rc.local
[ — ] rmnologin
[ — ] rsync
[ + ] rsyslog
[ ? ] sendsigs
[ + ] ssh
[ — ] sudo
[ + ] udev
[ ? ] udev-mtab
[ ? ] umountfs
[ ? ] umountnfs.sh
[ ? ] umountroot
[ — ] urandom

  • [ + ] — сервис работает в настоящее время [ — ] — сервис в настоящее время не работает
  • [ ? ] — вывод статуса для сервиса не предусмотрен
  • Перевод man доступен здесь
  • Добавить apache2 в автозагрузку

# update-rc.d apache2 defaults
update-rc.d: using dependency based boot sequencing

Удалить apache2 из автозагрузки

# update-rc.d -f apache2 remove
update-rc.d: using dependency based boot sequencing

  1. Чуть подробнее.
  2. В Linux у нас определенное количество уровней выполнения (runlevel)
  3. К примеру MySQL и Apache у нас загружаются на 3 уровне.
  4. И скорее всего вы хотите, чтобы MySQL стартовал перед Apache, а при перезагрузке сначала должен быть остановлен Apache, а потом MySQL.
  5. Для этого нам нужно установить start (S) и kill (K) приоритеты.
  6. Для MySQL нужно поставить приоритет на стадии загрузки, а для Apache приоритет на shutdown
    eboot'е.

При старте (S), чем меньше значение приоритета, тем раньше сервис будет запущен.
Сервис со start приоритетом равным 10 будет запущен раньше сервиса с приоритетом равным 20.

При остановке (K) всё наоборот. Сервис с большим приоритетом будет остановлен раньше, чем сервис с меньшим приоритетом.

  • Небольшой пример.
  • Устанавливаем приоритет start и kill сервису Apache
  • Синтаксис следующий

update-rc.d apache2 defaults [START] [KILL]

Итак, сделаем так, чтобы сначала стартовал MySQL, а потом Apache. А при рестарте сначала останавливался Apache, а потом MySQL.

# update-rc.d apache2 defaults 90 90
# update-rc.d mysql defaults 10 10

Так как start и kill приоритеты в данном случае одинаковые, то можно сократить команды следующим образом

# update-rc.d apache2 defaults 90
# update-rc.d mysql defaults 10
# apt-get install sysv-rc-conf
# sysv-rc-conf

Как настроить автозапуск приложений и сервисов в ubuntu

via https://fedoraproject.org/wiki/SysVinit_to_Systemd_Cheatsheet/ru

Команда sysvinit Команда systemd Комментарий
service frobozz start systemctl start frobozz.service Используется для разового запуска службы.
service frobozz stop systemctl stop frobozz.service Используется для разовой остановки службы.
service frobozz restart systemctl restart frobozz.service Используется для разового перезапуска службы.
service frobozz reload systemctl reload frobozz.service Если такая возможность поддерживается службой, перезагружает конфигурационный файл, не прерывая процесса.
service frobozz condrestart systemctl condrestart frobozz.service Перезапускает службу, если она запущена.
service frobozz status systemctl status frobozz.service Сообщает, запущена ли служба.
ls /etc/rc.d/init.d/ ls /lib/systemd/system/*.service /etc/systemd/system/*.service Используется для получения списка служб, которые могут быть запущены или остановлены.
chkconfig frobozz on systemctl enable frobozz.service Включает запуск службы после перезагрузки.
chkconfig frobozz off systemctl disable frobozz.service Отключает запуск службы после перезагрузки.
chkconfig frobozz systemctl is-enabled frobozz.service Используется для проверки, будет ли служба запущена после перезагрузки.
chkconfig frobozz –list ls /etc/systemd/system/*.wants/frobozz.service Выдает список уровней загрузки(целей), при которых данная служба будет запущена автоматически.
chkconfig frobozz –add Не используется, нет аналога.

Бонус к бонусу — шпаргалка в pdf, svg, dvi, tex | PDF версия, зеркало rtfm.wiki

linux/autostart.txt · Последние изменения: 2017/03/08 00:13 (внешнее изменение)

Источник: https://rtfm.wiki/linux/autostart

Автозагрузка приложений при запуске Ubuntu

Что такое демон? И чем демоны отличаются от сервисов services (служб, процессов)? Ответ — ничем не отличаются.

Демон (Daemon) — UNIX-служба или просто программа, работающая в фоновом режиме без прямого общения с пользователем. Демоны обычно запускаются во время загрузки системы. В техническом смысле демоном считается процесс, который не имеет управляющего терминала. Чаще всего (но не обязательно) предком демона является init — корневой процесс UNIX.

Исторически, демоны пошли из UNIX-подобных систем. А в ОС семейства Windows — это так называемые службы (Windows services), те самые, которые мы видим в диспетчере задач Windows. Иногда их неофициально называют демонами. Впрочем, и наоборот тоже.

Программа rcconf позволяет настроить запуск демонов: демоны, которые должны стартовать при загрузке системы и демоны, которые должны сидеть и ждать. Это самый простой способ добавлять/удалять службы с автозапуска в Linux.

Программа имеет простой консольный интерфейс и должна запускаться с правами root'а.

Как настроить автозапуск приложений и сервисов в ubuntu

  • Необходимые для загрузки программы нужно отметить «звёздочкой» с помощью пробела.
  • Установка и запуск rcconf:
  • sudo apt-get install rcconf
  • sudo rcconf
  • В некоторых системах при запуске rcconf имела место ошибка

rcconf needs dialog or whiptail.

Разработчики не указали в зависимостях не одну из библиотек, чтобы пользователь сам мог выбрать подходящую. Если у вас возникла такая ошибка, ставим любую из библиотек dialog или whiptail:

sudo apt-get install dialog

Запускаем rcconf

sudo rcconf

Теперь можно отметить сервисы, которые нужно запускать при старте системы. Если вы не знаете, что делает тот или иной сервис, лучше не трогайте их. Один неопытный пользователь хотел ускорить работу системы, убрав ненужные службы. Службы убрал, а после загрузки системы клавиатура и мышь перестали работать. Сам запустить нужные службы он так и не смог.

Как запускать и останавливать службы в Linux?

Представлены 2 самых простых и правильных варианта запуска и остановки служб в linux. Можно использовать любой из них, какой больше нравится. Рассмотрим на примере демона memcached. Естественно, вместо memached может быть имя любой другой службы:

  1. Вариант 1 запуска memcached:
  2. sudo service memcached start
  3. Вариант 2 запуска memcached:
  4. sudo /etc/init.d/memcached start

Для остановки демонов используются те же самые команды, только вместо start пишем stop. Для большинства демонов применимы команды: start, stop, restart.

Источник: https://jeka.by/post/1017/autoload-ubuntu-rcconf/

Ubuntu, CentOS: Автозагрузка — Убрать/Добавить Сервис в Linux

  • Очень часто возникает необходимость убрать или добавить какой-то сервис в автозагрузку в Linux.
  • Существую разные init системы, но в Ubuntu и CentOS самыми распространенными являются SysV, Upstart и systemd.
  • В зависимости от дистрибутива Linux, поведение сервиса во время загрузки системы может быть настроено с помощью команд systemctl или chkconfig.
  • В этом руководстве показано как убрать или добавить сервис в автозагрузку в самых популярных Linux дистрибутивах — Ubuntu и CentOS.

Дельный Совет: Хотите стать DevOps инженером? Тогда вы обязаны знать Git! Это статья поможет реально быстро освоить основы Git! Читать далее →

Ubuntu-18.04

Поддерживаемые релизы: Ubuntu-15.04, 15.10, 16.04, 16.10, 18.04.

systemd — это менеджер системы и сервисов в операционной системе Linux.

Сейчас он, по умолчанию, используется в большинстве Linux дистрибутивах и полностью поддерживается в Ubuntu-15.04 и последующих релизах.

Он поставляется с командной утилитой systemctl, которая, помимо всего прочего, позволяет включать и выключать сервисы во время загрузки системы.

Узнать стоит ли сервис в автозагрузке:

$ systemctl is-enabled SERVICE

Убрать сервис из автозагрузки в Ubuntu-18.04:

$ sudo systemctl disable SERVICE

Добавить сервис в автозагрузку в Ubuntu-18.04:

$ sudo systemctl enable SERVICE

Ubuntu-14.04

Поддерживаемые релизы: Ubuntu-9.10, 10.04, 10.10, 11.04, 11.10, 12.04, 12.10, 13.04, 13.10, 14.04, 14.10.

Узнать стоит ли сервис в автозагрузке:

$ initctl show-config SERVICE

Убрать сервис из автозагрузки в Ubuntu-14.04:

$ echo manual | sudo tee /etc/init/SERVICE.override

Добавить сервис в автозагрузку в Ubuntu-14.04:

$ sudo rm /etc/init/SERVICE.override

CentOS-7

systemd — это менеджер системы и сервисов в операционной системе Linux, который становится новым стандартом для Linux машин.

  1. В CentOS-7, он заменяет Upstart в качестве init системы по умолчанию.

  2. systemd поставляется с командной утилитой systemctl, которая является центральной управляющей программной для systemd, которая, помимо всего прочего, умеет включать и выключать сервисы во время загрузки системы.

  3. Дельный Совет: Узнайте как выключить SELinux временно или на постоянной основе! Читать далее →
  4. Узнать стоит ли сервис в автозагрузке:

$ systemctl is-enabled SERVICE

Убрать сервис из автозагрузки в CentOS-7:

$ systemctl disable SERVICE

Добавить сервис в автозагрузку в CentOS-7:

$ systemctl enable SERVICE

CentOS-6

Дельный Совет: Узнайте как выключить iptables в CentOS-6! Читать далее →

Узнать стоит ли сервис в автозагрузке:

$ chkconfig —list | grep SERVICE

Убрать сервис из автозагрузки в CentOS-6:

$ chkconfig SERVICE off

Добавить сервис в автозагрузку в CentOS-6:

$ chkconfig SERVICE on

Источник: https://www.shellhacks.com/ru/ubuntu-centos-enable-disable-service-autostart-linux/

LiveStreet

Целью данной статьи является ознакомление с принципами автозагрузки в операционной системе Ubuntu на примере Ubuntu Server 10.

04 LTS, а также демонстрация настройки автозагрузки виртуальной машины, работающей под управлением VirtualBox, и корректное завершение работы последней в автоматическом режиме при выключении Ubuntu Server.

Внимание! Описанный ниже пример не может быть применим к настройке автозагрузки графических приложений для конкретного пользователя системы в настольных версиях Ubuntu. Для этого используйте пункт «Запускаемые приложения» из главного меню Ubuntu.

Что такое автозагрузка?

В первую очередь, это автоматический запуск сервисов/приложений при старте операционной системы. Автозагрузка также может обеспечивать корректное завершение этих служб/приложений при выключении или перезагрузке системы.

Организация автозагрузки в Ubuntu Server.

Разумеется, для того, чтобы правильно запустить/остановить сервис, необходимо описать сценарий с командами для запуска/остановки. Взгляните на содержимое каталога /etc/init.d: он содержит скрипты, которые управляют загрузками/остановками сервисов на вашей машине. Итак, первый, но не последний пункт успешной настройки — это наличие скрипта в /etc/init.d. В скрипте не описывается, когда должен выполняться тот или иной сценарий. Он лишь может принимать параметры start, stop, restart и так далее. Откуда же Ubuntu знает, когда необходимо вызвать скрипт? Ответ кроется в каталогах /etc/rcN.d, где N – это цифра от 0 до 6. В этих каталогах хранятся символические ссылки на скрипты из /etc/init.d. Рассмотрим, что означает каждый каталог, и всё сразу станет понятно: — rc0.d – выполнение скрипта при выключении системы; — rc1.d – выполнение скрипта при запуске системы в однопользовательском режиме; — rc2.d – выполнение скрипта при запуске системы в многопользовательском режиме; — rc3.d – rc5.d – зарезервировано; — rc6.d – выполнение скрипта при перезагрузке системы. Например, если происходит перезагрузка, то будут выполнены все скрипты из каталога /etc/rc6.d, при выключении — из /etc/rc0.d и так далее. Цифра в названии каталога называется уровнем запуска. То есть каталог /etc/rc0.d будет называться нулевым уровнем запуска и так далее. Есть еще один немаловажный момент, который необходимо знать — это очередность выполнения скриптов из каталогов rcN.d. Ведь для правильной организации запуска/остановки работы Ubuntu может потребоваться запускать/останавливать сервисы в определенном порядке. Этот момент решается специальным именованием файлов в каталогах уровней запуска. Файлы имеют следующие имена: [S|K]NN[имя], где [S|K] — это один символ («S» означает, что скрипт запускает сервис, «K» – останавливает), NN – порядковый номер, [имя] – имя файла. Символ «S» или «K» самостоятельно выбирать не придется, так как все скрипты в каталогах rc1.d-rc5.d должны начинаться с символа «S», а в каталогах rc0.d и rc6.d – с символа «K». Число «NN» определяет очередность запуска скриптов, который производится от меньшего к большему. Чем меньше число у скрипта для запуска, тем раньше он будет запущен при старте системы; чем больше число у скрипта остановки сервиса, тем позже он будет выполнен.

При необходимости запуска какой-либо службы или приложения до или после конкретного существующего сервиса просто подсмотрите его порядковый номер в соответствующей директории rcN.d и учитывайте при выборе порядкового номера для своего скрипта.

Ну что ж, где хранить скрипты и как их называть понятно, а вот как его написать?

В каталоге /etc/init.d находится пример скрипта для управления запуском/остановкой сервисов. Это файл /etc/init.d/skeleton, а в примере ниже он будет упрощен. Для создания нового скрипта необходимо сделать копию примера и отредактировать его под свои нужды. Воспользуемся следующей командой: sudo cp /etc/init.d/skeleton /etc/init.d/myscript && vi /etc/init.d/myscript

При создании нового скрипта не забывайте давать ему права на выполнение. Чтобы добавить права на выполнение скрипту, используйте команду sudo chmod +x /etc/init.d/myscript

Скрипт готов. Что дальше?

В некоторых источниках встречаются рекомендации по созданию символических ссылок вручную при помощи команды ln, не смотря на существование специальных утилит. Перед добавлением скрипта утилита проверяет его на валидность, а команда ln создаст ссылку даже при наличие ошибок. Лучше отдать предпочтение специализированным утилитам, таким как update-rc.d, которая поставляется в комплекте с Ubuntu. С её помощью можно добавить новый скрипт в любой уровень загрузки, удалить существующий и так далее. Вот пример использования:sudo update-rc.d myscript start 99 2 3 4 5 . stop 01 0 1 6 . Эта команда добавит новый скрипт «myscript» во все уровни загрузки. Будет выполнен запуск сервиса на уровнях со 2 по 5 с приоритетом 99 (в последнюю очередь) и остановка сервиса на 0, 1 и 6 уровнях с приоритетом 01 (самым первым). Чтобы удалить скрипт из автозагрузки, воспользуйтесь командой:sudo update-rc.d -f myscript remove

Рассмотрим пример настройки автозагрузки.

Задача:

Источник: http://open-life.org/blog/1862.html

Ссылка на основную публикацию