запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ своСго скрипта автозапуска ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ пустой Ρ„Π°ΠΉΠ».

ΠŸΠ΅Ρ€Π²ΠΎΠΉ строкой пишСм:

Данная строка ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π”Π°Π»ΡŒΡˆΠ΅ свои ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΠΌ Π΅Π³ΠΎ ΠΏΠΎΠ΄ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ (Ρ‡Ρ‚ΠΎΠ± Π½Π΅ совпадал с ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ) Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /usr/sbin/.

Π§Ρ‚ΠΎΠ±Ρ‹ скрипт запускался ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Ρ„Π°ΠΉΠ»Π΅ /etc/rc.local Π΄ΠΎ строчки exit 0. Если Ρƒ вас Π½Π΅ сущСствуСт Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, создайтС Π΅Π³ΠΎ ΠΈ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π² Π½Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ содСрТимоС:

НСмного Π±ΠΎΠ»Π΅Π΅ слоТный способ

ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ скрипта ΠΏΡ€ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… runlevel’Π°Ρ….

Π’ этих дирСкториях Π»Π΅ΠΆΠ°Ρ‚ скрипты остановки сСрвисов:

Π² этих β€” скрипты запуска сСрвисов:

Π˜Π·ΡƒΡ‡Π°Π΅ΠΌ ΠΈΡ… Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (Ρ‡Π΅ΠΌ мСньшС пСрвая Ρ†ΠΈΡ„Ρ€Π° Π² Π½Π°Ρ‡Π°Π»Π΅ скрипта, Ρ‚Π΅ΠΌ Ρ€Π°Π½ΡŒΡˆΠ΅ запускаСтся/останавливаСтся ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅). Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ, Ссли вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ зависит ΠΎΡ‚ ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ сСрвисов.

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈΡΡŒ со скриптом запуска ΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΡΡ‚ΡŒΡŽ, выполняСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ :

Π—Π΄Π΅ΡΡŒ я ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ», Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΉ скриптик Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ ΠΏΠΎΠΏΠΎΠ·ΠΆΠ΅ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ…(70), ΠΈ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΡ€Π°Π½ΡŒΡˆΠ΅(20). Π¦ΠΈΡ„Ρ€Ρ‹ 2 3 4 5 0 1 6 ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ ΡƒΡ€ΠΎΠ²Π½ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

Если Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ»ΠΎΡΡŒ β€” всС ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ скрипта ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ/ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ сСти

Π’ любом случаС Π½Π° скрипт Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ установлСны ΠΏΡ€Π°Π²Π°, Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‰ΠΈΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΈΠ½Π°Ρ‡Π΅ ΠΎΠ½ Π½Π΅ смоТСт Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒΡΡ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ скрипта ΠΏΡ€ΠΈ запускС ΠΈΠ»ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ linux

запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. start. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux Ρ„ΠΎΡ‚ΠΎ. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux-start. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° start. Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ пустой Ρ„Π°ΠΉΠ».Если Π½Π° вопрос: Β«ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ?Β» β€” Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ находят ΠΎΡ‚Π²Π΅Ρ‚ достаточно быстро, Ρ‚ΠΎ вопрос ΠΎ запускС скрипта, ΠΏΡ€ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ/ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, ставит ΠΈΡ… Π² Ρ‚ΡƒΠΏΠΈΠΊ. Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ описан стандартный способ для автоматичСского выполнСния ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ linux, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ простой способ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… установлСн gdm ΠΈ графичСский интСрфСйс, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ubuntu.

ΠšΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚.

НСмного Ρ‚Π΅ΠΎΡ€ΠΈΠΈ.
Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² Linux сущСствуСт 7 ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ запуска. Однако, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠΎΠ³ΡƒΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 6.
Как Ρƒ всСх ΡƒΠ²Π°ΠΆΠ°ΡŽΡ‰ΠΈΡ… сСбя ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ отсчёт начинаСтся с 0-ля.
0 β€” ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° ΠΈΠ»ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ систСмы.
1 β€” ΠžΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ.
2 β€” ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ, Π½ΠΎ Π±Π΅Π· ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ сСти.
3 β€” Π’ΠΎΠΆΠ΅ самоС, Π½ΠΎ с ΡΠ΅Ρ‚ΡŒΡŽ.
4 β€” Π”ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ для красоты НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ.
5 β€” ГрафичСский Ρ€Π΅ΠΆΠΈΠΌ с Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ X сСрвСра.
6 β€” ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°.
Если ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΠΏΠ°ΠΏΠΊΡƒ /etc (Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… дистрибутивах /etc/rc.d) Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΠΈ с 7-мью уровнями запуска.
запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. etc rc. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux Ρ„ΠΎΡ‚ΠΎ. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux-etc rc. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° etc rc. Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ пустой Ρ„Π°ΠΉΠ».
НапримСр ΠΏΡ€ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, выполнятся всС скрипты ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ rc0.d
запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. rc0.d. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux Ρ„ΠΎΡ‚ΠΎ. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux-rc0.d. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° rc0.d. Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ пустой Ρ„Π°ΠΉΠ».
Π’ΡƒΡ‚ слСдуСт остановится ΠΏΠΎ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ самих скриптов (Π° Ρ‚ΠΎΡ‡Π½Π΅Π΅ сцСнариСв) Π² этой ΠΏΠ°ΠΏΠΊΠ΅ Π½Π΅Ρ‚Ρƒ, Π° Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ссылки Π½Π° Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»Π΅ΠΆΠ°Ρ‚ Π² ΠΏΠ°ΠΏΠΊΠ΅ /etc/init.d. Π­Ρ‚ΠΈ сцСнарии Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, Π² зависимости ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° start ΠΈΠ»ΠΈ stop (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ /etc/init.d/reboot start ΠΈ /etc/init.d/reboot stop это Ρ€Π°Π·Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π° /etc/init.d/reboot Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ). Если Π² ссылкС стоит пСрвая Π±ΡƒΠΊΠ²Π° S, Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΡΡ†Π΅Π½Π°Ρ€ΠΈΡŽ подаётся ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ start, Π° Ссли стоит Π±ΡƒΠΊΠ²Π° K(ΠΎΡ‚ слова kill), Ρ‚ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ stop. Π¦ΠΈΡ„Ρ€Π° послС Π±ΡƒΠΊΠ²Ρ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ порядок выполнСния сцСнария.
НапримСр, Π½Π° Π²Ρ‹ΡˆΠ΅ вставлСнном ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π΅ Π²Π½Π°Ρ‡Π°Π»Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° /etc/init.d/hddtemp stop, Π° ΡƒΠΆΠ΅ ΠΏΠΎΠ·ΠΆΠ΅ /etc/init.d/networking start.
Π₯Π²Π°Ρ‚ΠΈΡ‚ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.
Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ, достаточно ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΅Ρ‘ Π² Ρ„Π°ΠΉΠ» /etc/rc.local.

Π’ этой части ΡΡ‚Π°Ρ‚ΡŒΠΈ Π² качСствС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ nano, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ своим Π»ΡŽΠ±ΠΈΠΌΡ‹ΠΌ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ gedit.

И ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌ наши ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ‡ΡƒΡ‚ΡŒ Π²Ρ‹ΡˆΠ΅ строчки с exit 0.
Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ сцСнарий Π² ΠΏΠ°ΠΏΠΊΠ΅ /etc/init.d

ВставляСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

Если Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Π°Π²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ сигнал, Ρ‚ΠΎ просто Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ строку поставив Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π·Π½Π°ΠΊ #
НапримСр

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π΅Π»Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» исполняСмым:

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ссылки ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, Π½ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ update-rc.d
НапримСр:

Π’ΠΎΡ‡ΠΊΠΈ Π²Π°ΠΆΠ½Ρ‹ (ΠΎΠ±Π΅). Π˜ΡΡΠ»Π΅Π΄ΡƒΡ просторы ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°, Ρƒ мСня слоТилось Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ синтаксис этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ½ΠΎΠ³Π΄Π° мСняСтся. ΠΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Β«man update-rc.dΒ». ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Π² Π½ΠΈΠ·Ρƒ.

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° создаст ΠΏΠΎ 2 ссылки Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ… /etc/rc0.d (Π²Ρ‚ΠΎΡ€ΠΎΠ΅ число Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅) ΠΈ /etc/rc6.d (Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ число Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅). ΠŸΡ€ΠΈΡ‡Ρ‘ΠΌ Π²Π½Π°Ρ‡Π°Π»Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ сцСнарий с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ stop (Ρ‚.ΠΊ. стоит 1), Π° ΡƒΠΆΠ΅ ΠΏΠΎΡ‚ΠΎΠΌ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ start (Ρ‚.ΠΊ. стоит 20).
Если Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π½Π΅ Π½ΡƒΠΆΠ΅Π½, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Π‘ΠΎΠ²Π΅Ρ‚ΡƒΡŽ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅ (Ρ‚.Π΅. число послС start ΠΈΠ»ΠΈ stop Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ малСньким), ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ мСньшС 20. Π’ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ случаС Ρƒ мСня ΠΈΠ½ΠΎΠ³Π΄Π° зависал ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΡΡ.

Для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ubuntu, Π΄Π° ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… соврСмСнных дистрибутивов с gdm ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡβ€¦

ГрафичСский Π²Π°Ρ€ΠΈΠ°Π½Ρ‚.

Π§Ρ‚ΠΎ касаСтся Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ способом описанным здСсь.
Или просто ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ «автоматичСски запускаСмыС прилоТСния» ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

Для выполнСния скрипта ΠΏΡ€ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌ Π΅Π³ΠΎ Π² Ρ„Π°ΠΉΠ» /etc/gdm/PostSession/Default

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π² Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Ubuntu

Иногда Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ свой скрипт Π²ΠΎ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ систСмы. НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ настройки Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ экрана ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ нСсколькими способами. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ графичСской ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ систСмы ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ systemd, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ сСйчас практичСски Π²ΠΎ всСх дистрибутивах.

Автозагрузка с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ стандартной ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ Ubuntu

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ скрипт Π² ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌ мСстС ΠΈ сдСлайтС Π΅Π³ΠΎ выполняСмым:

sudo gedit /ΠΏΡƒΡ‚ΡŒ_ΠΊ_скрипту/имя_скрипта.sh

#!/bin/bash
echo «Hello world»

Наш скрипт просто Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ строчку Hello world Π½Π° экран, Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎ создании скриптов Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ написаниС скриптов Π½Π° Bash. Когда скрипт Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ², сдСлайтС Π΅Π³ΠΎ исполняСмым:

sudo chmod ugo+x /ΠΏΡƒΡ‚ΡŒ_ΠΊ_скрипту/имя_скрипта.sh

ЗапуститС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ АвтоматичСски запускаСмыС прилоТСния Π² Π³Π»Π°Π²Π½ΠΎΠΌ мСню систСмы:

запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. Rabochee mesto 3 012. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux Ρ„ΠΎΡ‚ΠΎ. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux-Rabochee mesto 3 012. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Rabochee mesto 3 012. Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ пустой Ρ„Π°ΠΉΠ».

НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈ Π² ΠΏΠΎΠ»Π΅ Команда Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ вашСго скрипта ΠΈΠ»ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠžΠ±Π·ΠΎΡ€, Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ:

запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. Rabochee mesto 3 014. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux Ρ„ΠΎΡ‚ΠΎ. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux-Rabochee mesto 3 014. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Rabochee mesto 3 014. Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ пустой Ρ„Π°ΠΉΠ».

Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ графичСской ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Ubuntu.

Автозагрузка скриптов Linux Π² systemd

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» сСрвиса systemd с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² Π½Π΅Π³ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ содСрТимоС:

[Unit]
Description=My Script Service
After=multi-user.target
[Service]
Type=idle
ExecStart=/ΠΏΠΎΠ»Π½Ρ‹ΠΉ/ΠΏΡƒΡ‚ΡŒ/ΠΊ/скрипту/имя_скрипта.sh
[Install]
WantedBy=multi-user.target

запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. Rabochee mesto 3 015. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux Ρ„ΠΎΡ‚ΠΎ. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux-Rabochee mesto 3 015. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Rabochee mesto 3 015. Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ пустой Ρ„Π°ΠΉΠ».

Π’ строчкС ExecStart ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ ΠΏΡƒΡ‚ΡŒ ΠΊ скрипту, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°Π΄ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ, Π»ΠΈΠ±ΠΎ саму ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ этот скрипт Π² Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ:

sudo systemctl daemon-reload
sudo systemctl enable mysrcipt

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ сСрвисов ΠΈ скриптов Π² 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:

запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. systemctl list units. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux Ρ„ΠΎΡ‚ΠΎ. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux-systemctl list units. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° systemctl list units. Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ пустой Ρ„Π°ΠΉΠ».

Бписок unit-Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

Данная ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ всС доступныС ΡŽΠ½ΠΈΡ‚-Ρ„Π°ΠΉΠ»Ρ‹ (Π½Π΅ зависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π±Ρ‹Π»ΠΈ ΠΎΠ½ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ Π² systemd послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ОБ ΠΈΠ»ΠΈ Π½Π΅Ρ‚).

Π§Ρ‚ΠΎΠ±Ρ‹ вывСсти список Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… сСрвисов ΠΈ ΠΈΡ… состояниС, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ список ΡŽΠ½ΠΈΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ» ΠΈΠ»ΠΈ пытался Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ systemd. Π’Π°ΠΊ ΠΊΠ°ΠΊ послС запуска Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡŽΠ½ΠΈΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Ρ‚ΡŒ Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Π»Π°Π³Π° β€”all Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ список.

Как Π²ΠΈΠ΄ΠΈΠΌ ΠΈΠ· списка, здСсь ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π΄Π°ΠΆΠ΅ сСрвисы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π±Ρ‹Π»ΠΈ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹ Π½Π° дискС Β«not-foundΒ».

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Π΄Π°Π½Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„Π»Π°Π³ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

systemctl list-units β€”type=service β€” Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ список ΡŽΠ½ΠΈΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ сСрвисом.

запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. systemctl list units typeservice vyvesti spisok. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux Ρ„ΠΎΡ‚ΠΎ. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux-systemctl list units typeservice vyvesti spisok. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° systemctl list units typeservice vyvesti spisok. Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ пустой Ρ„Π°ΠΉΠ».

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ сСрвиса Π² systemd

Для управлСния сСрвисами Π² systemd ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ особый синтаксис. ПослС ΠΈΠΌΠ΅Π½ΠΈ сСрвСрсв Π² ΠΊΠΎΠ½Ρ†Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ .service. НапримСр:

systemctl enable nginx.service – ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ Π² Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Π΅Π±-сСрвСр nginx

Данная ΠΊΠΎΠΌΠ°Π½Π΄Π° создаст ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ссылку Π½Π° копию Ρ„Π°ΠΉΠ»Π°, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ сСрвиса, Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ автозапуска systemd.

# systemctl enable nginx.service

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ сСрвис Π² Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΅Π³ΠΎ статус:

systemctl status nginx.service

ΠŸΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° строку:

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ enabled ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ сСрвис загруТаСтся автоматичСски (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ). Если сСрвис Π½Π΅ загруТаСтся Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΎΠΌ, здСсь Π±ΡƒΠ΄Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ disabled.

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ сСрвиса ΠΈΠ· systemd

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ сСрвис ΠΈΠ· Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Π½Π΅ запускался послС старта Linux (ΠΏΡ€ΠΈ этом сам сСрвис с сСрвСра Π½Π΅ удаляСтся). Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ сСрвис ΠΈΠ· Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

systemctl disable Π½ΡƒΠΆΠ½Ρ‹ΠΉ_сСрвис

НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ· Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ nginx, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:

# systemctl disable nginx.service

ПослС выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, симлинк Π½Π° Ρ„Π°ΠΉΠ» сСрвиса Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½ ΠΈΠ· Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ systemd. МоТно ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π΅ΡΡ‚ΡŒ Π»ΠΈ ΡŽΠ½ΠΈΡ‚ Π² Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅:

# systemctl is-enabled sshd

Systemd: маскировка ΡŽΠ½ΠΈΡ‚ΠΎΠ²

Π’ ΠΌΠΎΠ΅ΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Π»ΠΈΡΡŒ Β«Π²Ρ€Π΅Π΄Π½Ρ‹Π΅Β» сСрвисы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ послС удалСния ΠΈΡ… ΠΈΠ· Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, всС Ρ€Π°Π²Π½ΠΎ Ρ‚Π°ΠΌ ΠΎΡΡ‚Π°Π²Π°Π»ΠΈΡΡŒ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Π»ΠΈΡΡŒ послС рСстарта ОБ. Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ этот вопрос, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ°ΡΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сСрвис:

systemctl mask nginx.service

И послС этого, ΠΎΠ½ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ, Π½ΠΈ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, Π½ΠΈ послС ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ОБ:

# systemctl mask nginx.service

# service nginx restart

Π‘Π½ΡΡ‚ΡŒ маску ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

# systemctl unmask nginx.service

Если послС маскировки сСрвиса, Π²Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ ΡŽΠ½ΠΈΡ‚-Ρ„Π°ΠΉΠ»Ρ‹, Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ сСрвис ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½ ΠΊΠ°ΠΊ замаскированный (состояниС masked):

запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. systemctl mask maskirovka servisa. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux Ρ„ΠΎΡ‚ΠΎ. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux-systemctl mask maskirovka servisa. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° systemctl mask maskirovka servisa. Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ пустой Ρ„Π°ΠΉΠ».

Π’Π°ΠΊΠΈΠΌ Π½Π΅Ρ…ΠΈΡ‚Ρ€Ρ‹ΠΌ способом, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒ сСбя ΠΎΡ‚ удалСния сСрвиса, Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½ Π½Π΅ удаляСтся ΠΈΠ· Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ systemd.

Автозапуска скриптов ΠΈ сСрвисов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ rc.local

Для запуска Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… скриптов ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Linux Ρ‡Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ rc.local.

Но ΠΏΠΎΠΌΠΈΠΌΠΎ скриптов, Ρ‡Π΅Ρ€Π΅Π· rc.local Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ сСрвисы, Π΄Π°ΠΆΠ΅ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· systemd. НС ΠΌΠΎΠ³Ρƒ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° вопрос, для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ‚Π°ΠΊΠΎΠΌ случаС rc.local, Ссли Π΅ΡΡ‚ΡŒ systemd, Π½ΠΎ ΠΏΠ°Ρ€Ρƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² я ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ.

НачнСм с Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» /etc/rc.local Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ исполняСмым:

chmod +x /etc/rc.local

Rc.local Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ systemd:

systemctl enable rc-local

И Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ nginx, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² rc.local ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ запуска Π²Π΅Π±-сСрвСра:

service nginx start

запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. rc local avtozapusk komanda v libux centos. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux Ρ„ΠΎΡ‚ΠΎ. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux-rc local avtozapusk komanda v libux centos. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° rc local avtozapusk komanda v libux centos. Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ пустой Ρ„Π°ΠΉΠ».

Но я Ρ€Π΅Π΄ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ rc.local для запуска сСрвисов. Π§Π°Ρ‰Π΅ rc.local ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт, Π»ΠΈΠ±ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΎΠ²ΠΎ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.

К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, я создал скрипт /root/test.sh ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ дСйствия, ΠΈ Ρ…ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ сразу послС запуска систСмы. ДобавляСм Π² Ρ„Π°ΠΉΠ» rc.local строку:

запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. rc local zapusk sh skripta. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux Ρ„ΠΎΡ‚ΠΎ. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux-rc local zapusk sh skripta. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° rc local zapusk sh skripta. Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ пустой Ρ„Π°ΠΉΠ».

Начиная с CentOS 7, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ rc.local ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΉ Π΄Π΅ΠΌΠΎΠ½ ΠΈ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ автозапуск скриптов ΠΈΠ»ΠΈ сСрвисов Ρ‡Π΅Ρ€Π΅Π· Π½Π΅Π³ΠΎ, это ΠΏΡ€ΠΎΡˆΠ»Ρ‹ΠΉ Π²Π΅ΠΊ. Но ΠΏΠΎΠΊΠ° ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, я ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡΡŒ ΠΈΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΎΡ‡Π΅Π½ΡŒ прост Π² эксплуатации.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ собствСнного Π΄Π΅ΠΌΠΎΠ½Π° ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ Π² systemd

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ собствСнный Π΄Π΅ΠΌΠΎΠ½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· systemd.

НапримСр, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ всС Ρ‚ΠΎΡ‚ ΠΆΠ΅ скрипт /root/test.sh послС ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ систСмы. НачнСм с создания Ρ„Π°ΠΉΠ»Π° нашСй Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΉ слуТбы:

touch /etc/systemd/system/test-script.service
chmod 664 /etc/systemd/system/test-script.service
nano /etc/systemd/system/test-script.service

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

User – ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π΄Π΅ΠΌΠΎΠ½

Type=oneshot β€” процСсс Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ Π΄ΠΎ запуска Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΡ… ΡŽΠ½ΠΈΡ‚ΠΎΠ²

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ ΠΈ пСрСзапускаСм:
# systemctl daemon-reload
# systemctl start test-script.service
# systemctl status test-script.service

Если вас устроило Ρ‚ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ сСрвис, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π΅Π³ΠΎ Π² Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ:

# systemctl enable test-script.service

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ любой ваш скрипт Π² Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Ρ‡Π΅Ρ€Π΅Π· systemd.

Автозапуск Ρ‡Π΅Ρ€Π΅Π· cron

Если Π²Π°ΠΌ с ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ скрипт ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ cron-ΠΎΠΌ:

И Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ‚ΡƒΠ΄Π° Π½ΡƒΠΆΠ½ΠΎΠ΅ Π²Π°ΠΌ Π·Π°Π΄Π°Π½ΠΈΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

* * * * * /root/test.sh β€” Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ скрипт ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΌΠΈΠ½ΡƒΡ‚Ρƒ.

МоТно Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипт watch-dog, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ заданию Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, статус ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ сСрвиса ΠΈ, Ссли ΠΎΠ½ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ. На Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡƒΡŽ схСму.

Π§Ρ‚ΠΎΠ±Ρ‹ вывСсти список всСх Π·Π°Π΄Π°Π½ΠΈΠΉ Π² ΠΊΡ€ΠΎΠ½, Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

ДопустимыС значСния для Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ запуска Π·Π°Π΄Π°Π½ΠΈΠΉ cron ΠΏΠΎ порядку:

Π’ нашСм Π·Π°Π΄Π°Π½ΠΈΠΈ скрипт запускаСтся ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΌΠΈΠ½ΡƒΡ‚Ρƒ, поэтому Ρ‚Π°ΠΌ стоят Β«*Β».

Π’Π°ΠΊ ΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π²Π°ΠΌ скрипт Π² дирСкториях cron:

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ Π² ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… дирСктория Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ согласно автоматичСски ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ расписания.

.bashrc: автозапуск скриптов ΠΏΡ€ΠΈ запускС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°

Если Π²Π°ΠΌ трСбуСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ дСйствия ΠΏΡ€ΠΈ запускС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ssh, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ скрипта Π² .bash_profile ΠΈΠ»ΠΈ .bashrc. ВСорСтичСски, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ дСйствиС Π² любой ΠΈΠ· этих Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΎΠ½ΠΎ выполнится Π² любом случаС. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ добавляСтся Π² .bashrc, Π° сам .bashrc Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ΠΈΠ· .bash_profile.

Π― Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π² Ρ„Π°ΠΉΠ» .bashrc ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½Π° рСстарт Π²Π΅Π±-сСрвиса nginx:

service nginx restart

запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. bash profile zapusk skripta pri starte sessii. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux Ρ„ΠΎΡ‚ΠΎ. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux-bash profile zapusk skripta pri starte sessii. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° bash profile zapusk skripta pri starte sessii. Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ пустой Ρ„Π°ΠΉΠ».

ПослС этого сохранил Ρ„Π°ΠΉΠ» ΠΈ пСрСзапустил Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»:

запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. primer avtozapuska skripta cherez sessiyu. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux Ρ„ΠΎΡ‚ΠΎ. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux-primer avtozapuska skripta cherez sessiyu. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° primer avtozapuska skripta cherez sessiyu. Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ пустой Ρ„Π°ΠΉΠ».

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΏΡ€ΠΈ запускС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, Π²Π΅Π±-сСрвСр Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡ‰Π΅Π½. КакиС дСйствия ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΈ запускС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°? ВСроятно, Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° uptime сСрвСра:

запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. pokazyvat uptime pri vhode. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux Ρ„ΠΎΡ‚ΠΎ. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux-pokazyvat uptime pri vhode. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° pokazyvat uptime pri vhode. Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ пустой Ρ„Π°ΠΉΠ».

Или Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ запускС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, Π²Ρ‹ сразу ΠΏΠΎΠΏΠ°Π΄Π°Π»ΠΈ Π² Π½ΡƒΠΆΠ½ΡƒΡŽ Π²Π°ΠΌ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ ΠΈ запускали mc, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² .bashrc

запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. word image. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux Ρ„ΠΎΡ‚ΠΎ. запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux-word image. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° запуск скрипта ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ linux. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° word image. Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ пустой Ρ„Π°ΠΉΠ».

НадСюсь эта ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ автозапуском сСрвисов ΠΈ скриптов Π² LInux (ΡΡ‚Π°Ρ‚ΡŒΡ писалась для CentOS) оказалась ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ для вас. НавСрняка Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ·Π½Π°Π΅Ρ‚ Π°Π·Ρ‹ систСмного администрирования Linux, это информация Π±ΡƒΠ΄Π΅Ρ‚ кстати.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π’Π»Π°ΡΡ‚ΡŒ Π½Π°Π΄ Π΄Π΅ΠΌΠΎΠ½Π°ΠΌΠΈ ΠΈΠ»ΠΈ автозапуск Π² Linux

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ автозапуска Π² Linux написано ΡƒΠΆΠ΅ Π½Π΅ΠΌΠ°Π»ΠΎ ΠΈ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках, Π½ΠΎ приходится ΠΈΡΠΊΠ°Ρ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ постарался свСсти Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Ρ‚ΡƒΡ‚. Π—Π΄Π΅ΡΡŒ Π½Π΅ рассказываСтся ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ вСсь процСсс с нуля, Π½ΠΎ прСдоставлСно достаточно ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ ссылок, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ атоматичСский запуск ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² Linux Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ.

Π‘Ρ‚ΠΎΠΈΡ‚ сразу Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ β€” Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±Ρ‹Π»Π° ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΌ сСрвисом/Π΄Π΅ΠΌΠΎΠ½ΠΎΠΌ, ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ написана (link1, link2). Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ Ρ‚Π°ΠΊΠΎΠ΅ Π΄Π΅Π»Π°ΡŽΡ‚ Π½Π΅ всСгда, хотя Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ это ΠΈ Π½Π΅ совсСм ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ довольно экзотичный, сам ΡƒΠ·Π½Π°Π» ΠΎ Π½Ρ‘ΠΌ совсСм Π½Π΅Π΄Π°Π²Π½ΠΎ, хотя ΠΏΠΈΡˆΡƒΡ‚, Ρ‡Ρ‚ΠΎ ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ администраторы. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΅Π³ΠΎ, нСльзя ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΌΠΈ Ρ‚Π°ΠΊΠΈΠΌ способом ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ ΠΊΠ°ΠΊ Π΄Π΅ΠΌΠΎΠ½Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ довольно Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ. Π”Π° ΠΈ Π·Π°Π³Ρ€ΠΎΠΌΠΎΠΆΠ΄Π°Ρ‚ΡŒ inittab нСкрасиво.

ПослСдний ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ самый Β«ΠΊΠΎΡˆΠ΅Ρ€Π½Ρ‹ΠΉΒ», Π½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слоТнСС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд). ИмСнно ΠΈΠΌ прСдставлСны всС систСмныС Π΄Π΅ΠΌΠΎΠ½Ρ‹, Ρ‡Ρ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ само Π·Π° сСбя. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Π΅Π³ΠΎ ΠΈ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€ΡŽ Π½ΠΈΠΆΠ΅.

Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ способ автозапуска графичСских ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π½ΠΎ Π΅Π³ΠΎ ΠΎΠΏΠΈΡˆΡƒ Π² ΠΊΠΎΠ½Ρ†Π΅, ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ…, Ρ‚.ΠΊ. ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅Π΄Π΅ΠΌΠΎΠ½ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ.

Π‘Ρ€Π°Π·Ρƒ обмолвлюсь, Ρ‡Ρ‚ΠΎ Ρƒ мСня стоит Debian 6 ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… дистрибутивах ΠΏΡƒΡ‚ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ нСсколько Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ.

Автозапуск ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠ°ΠΊ Π΄Π΅ΠΌΠΎΠ½Π°

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π² систСмС ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ подсказок ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π½ΠΎ всё-Ρ‚Π°ΠΊΠΈ приходится Π»Π°Π·ΠΈΡ‚ΡŒ ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π΅Π½Π΅Ρ‚Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. Π­Ρ‚ΠΎ Π½Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ я ΠΎΠΏΠΈΡˆΡƒ Ρ‚ΡƒΡ‚ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π±ΡƒΠΊΠ²Ρƒ, Π½ΠΎ ΠΈΡΠΊΠ°Ρ‚ΡŒ придётся мСньшС, надСюсь.

Для Π½Π°Ρ‡Π°Π»Π° стоит Π·Π°Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ /etc/init.d. Π—Π΄Π΅ΡΡŒ содСрТатся запускныС скрипты всСх сСрвисов, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π²Π° Ρ„Π°ΠΉΠ»Π° для ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΡ… Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ сСбС Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅:

skeleton содСрТит Π² сСбС Π±ΠΎΠ»Π²Π°Π½ΠΊΡƒ скрипта запуска с довольно ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌΠΈ коммСнтариями, Π° README Π΅Π³ΠΎ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ дополняСт, Π½Π΅ смотря Π½Π° Π΅Π³ΠΎ нСбольшой Ρ€Π°Π·ΠΌΠ΅Ρ€. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π½Π°ΠΉΡ‚ΠΈ Ρ‚Π°ΠΌ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ прояснит Π½Π΅ΠΏΠΎΠ½ΡΡ‚Π½ΡƒΡŽ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ.

Π’ 6-ΠΎΠΌ debian`Π΅ для запускных скриптов Π΄Π΅ΠΌΠΎΠ½ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ LSB (Linux Script Base) Init Standart. ΠŸΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎ Π½Ρ‘ΠΌ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΡƒΡ‚. Для систСм, Π³Π΄Π΅ LSB Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ стоит Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ сюда.

Рассмотрим ΠΏΠΎΠ±Π»ΠΈΠΆΠ΅ Ρ„Π°ΠΉΠ» skeleton. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ с Ρ‡Π΅Π³ΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅ «#!/bin/sh», Ρ‚.ΠΊ. init-скрипт β€” запускной Ρ„Π°ΠΉΠ». Π”Π°Π»Π΅Π΅ ΠΈΠ΄Ρ‘Ρ‚ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ:

ΠœΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ это просто лишняя информация ΠΎΡ‚ Π°Π²Ρ‚ΠΎΡ€Π°, Π½ΠΎ это Π½Π΅ Ρ‚Π°ΠΊ. Π’ΠΎ, Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΎ здСсь ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ прописывании скрипта Π² систСму. Π’ΡƒΡ‚ ΠΊΠ°ΠΊ Ρ€Π°Π· пригодится Ρ„Π°ΠΉΠ» README, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ skeleton пСрСчислСны Π½Π΅ всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. Как ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π΅ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅:

Π”Π°Π»Π΅Π΅ Π² skeleton ΠΈΠ΄Ρ‘Ρ‚ инициализация ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² самом скриптС. Π§Π°ΡΡ‚ΡŒ ΠΈΠ· Π½ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ свои Π½ΡƒΠΆΠ΄Ρ‹. ΠŸΠΎΡ‚ΠΎΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ сам Π΄Π΅ΠΌΠΎΠ½ сущСствуСт ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» (ΠΈΡ… ΠΈΠΌΠ΅Π½Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅), Π΄Π°Π»Π΅Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… rcS, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΈΠ΄Ρ‘Ρ‚ ΠΎΠ΄Π½Π° ΠΈΠ· самых интСрСсных частСй init-Ρ„Π°ΠΉΠ»Π°:
. /lib/lsb/init-functions
это ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ LSB Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π»ΠΎΠ³Π°ΠΌΠΈ, LSB-статусом сСрвиса, Ρ€Π°Π±ΠΎΡ‚Ρ‹ с процСссом. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… дистрибутивах этот Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /etc/init.d. Названия ΠΈ Ρ‡Π°ΡΡ‚ΡŒ подробностСй ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ нСпосрСдствСнно ΠΈΠ· ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΊ функциям Π² этом Ρ„Π°ΠΉΠ»Π΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚ΡƒΡ‚.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ β€” нСпосрСдствСнно Ρ‚Π΅Π»ΠΎ скрипта. Π’Π΅Π»ΠΎ состоит ΠΈΠ· условных частСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ для Π΄Π΅ΠΌΠΎΠ½Π°: start, stop, restart/reload/force-reload, status. ΠšΡ‚ΠΎ-Ρ‚ΠΎ выдСляСт ΠΈΡ… Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π½Π΅Ρ‚. На ΠΌΠΎΠΉ взгляд, функциями ΠΎΠ½ΠΈ выглядят эстСтичнСС ΠΈ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ понятСн. ВсС эти ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²Ρ‹Π±ΠΎΡ€Π° case, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ для исполнСния Π½ΡƒΠΆΠ½Ρ‹ΠΉ кусок ΠΊΠΎΠ΄Π°, Π² зависимости ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ (ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°) с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Ρ‹Π» Π·Π°ΠΏΡƒΡ‰Π΅Π½ init-скрипт.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ для создания ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ скрипта достаточно ΠΏΠΎΠ΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ„Π°ΠΉΠ»Π° Π½ΡƒΠΆΠ½Ρ‹Π΅ значСния ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄Π° Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ start/stop (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ/Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΡƒ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°).

Π”Π°Π»Π΅Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ sysv-rc-conf Π² debian ΠΈΠ»ΠΈ service Π² fedora core, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ/Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ сСрвиса.

Автозапуск графичСского ПО Π±Π΅Π· Π²Π²ΠΎΠ΄Π° ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ

Π‘Π°ΠΌΠ° ΠΏΠΎ сСбС рСализация Ρ‚Π°ΠΊΠΎΠΉ возмоТности ΠΏΠΎΠ½ΠΈΠΆΠ°Π΅Ρ‚ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ защищённости ОБ, Ρ‚.ΠΊ. Π²ΠΎΠΉΡ‚ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ любой. Но Π±Ρ‹Π²Π°ΡŽΡ‚ ситуации, ΠΊΠΎΠ³Π΄Π° это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ. Π Π°ΡΡΠΌΠΎΡ‚Ρ€ΡŽ Ρ‚ΡƒΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π΄Π²ΡƒΡ… основных графичСских ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠ², Ρ‚.ΠΊ. Π΄Ρ€ΡƒΠ³ΠΈΡ… установлСнных ΠΏΠΎΠ΄ Ρ€ΡƒΠΊΠΎΠΉ Π½Π΅Ρ‚.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ автозапуск ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½ΡƒΠΆΠ½ΠΎ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ /home/ /.kde/Autostart Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ссылку Π½Π° запускной Ρ„Π°ΠΉΠ»/скрипт Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ ПО.

Для ΠΎΠ±ΠΎΠΈΡ… графичСских ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠ²:
Если Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Π½ΠΎ ΠΎΡ‚ Ρ€ΡƒΡ‚Π°, Ρ‚ΠΎ Π΅Ρ‰Ρ‘ Π½Π°Π΄ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π² /etc/sudoers Π½Π° запуск ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹/Π½Π°Π±ΠΎΡ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΡΡƒΠΏΠ΅Ρ€ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (ΠΌΠ°Π½Π°ΠΌΠΈ рСкомСндуСтся для бСзопасности Π΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ visudo). Как это Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Ρƒ, Ρ‚.ΠΊ. Π² man sudoers всё Ρ…ΠΎΡ€ΠΎΡˆΠΎ расписано.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *