ΡΠ΅Π»ΠΈΠ· Π½Π° ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ , ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΈΡΠΎΠΊΠΎ Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ Π½Π° Linux ΠΏΡΠ΅Π΄ΠΈ systemd ΠΈ upstart, ΠΈ ΡΠ΅Π³Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ ΠΊΠ°ΡΠΎ Devuan ΠΈ antiX. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π±ΡΡ
Π° ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ Π²Π΅ΡΡΠΈΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π°Π΅Π΄Π½ΠΎ Ρ sysvinit Π½Π° ΡΡΠΈΠ»ΠΈΡΠΈ insserv 1.20.0 ΠΈ
startpar 0.63. Π£ΡΠΈΠ»ΠΈΡΠ°ΡΠ° Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ° ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅, Π²Π·Π΅ΠΌΠ°ΠΉΠΊΠΈ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ init-ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ΡΠ΅, Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎΡΠΎ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠΊΡΠΈΠΏΡΠ° Π² ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°.
Π Π½ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅:
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π° Π² ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° βpidofβ Π΅ ΡΠΏΡΡΠ½Π°, Π° ΡΠ»Π°Π³ΡΡ β-fβ Π΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°Ρ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ²ΡΡΠ·Π°Π½ΠΈΡΡ Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅ΡΠΎ ΠΊΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ²Π°ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΡΡ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° ΠΈ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΠΌΠ΅ΡΡΠ°. ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π°, ΡΠ΅Π³Π° ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΠΏΡΠΈΡΡΠ° β-dβ Π·Π° ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Ρ ΡΡΠΈΠ»ΠΈΡΠΈ ΠΊΠ°ΡΠΎ βtrβ;
- Π Π΅ΡΠ°ΠΏΠ° Π½Π° Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΡΠ΅Π³Π° ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π°Ρ ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π½ΠΈ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠ°ΡΠ·ΠΈ ΠΎΡ ΡΡΠ»Π° ΡΠ΅ΠΊΡΠ½Π΄Π° (Π²ΠΌΠ΅ΡΡΠΎ do_sleep() ΡΠ΅ ΠΈΠ·Π²ΠΈΠΊΠ²Π° do_msleep()). Π’ΠΎΠ²Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΡΡΠ΅Π΄Π½ΠΎ Π΄Π° ΡΠ΅ ΡΡΠΊΡΠ°ΡΠΈ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ° ΠΈ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Ρ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ ΡΠ΅ΠΊΡΠ½Π΄Π°;
- Π Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΎ ΠΏΠΎ-ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° halt ΠΈ ΡΠ²ΡΡΠ·Π°Π½ΠΈΡΠ΅ Ρ Π½Π΅Ρ ΠΎΠΏΡΠΈΠΈ (-h, -H ΠΈ -P);
- Π‘Π²ΡΡΠ·ΠΊΠ°ΡΠ° Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° sepol, ΠΊΠΎΡΡΠΎ Π²Π΅ΡΠ΅ Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, Π΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π°;
- Π insserv ΡΠ° Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ (Makefile). ΠΡΠΈ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΡΠ° insserv Π²Π΅ΡΠ΅ Π½Π΅ ΠΏΡΠ΅Π·Π°ΠΏΠΈΡΠ²Π° ΡΠ°ΠΉΠ»Π° Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ insserv.conf, Π°ΠΊΠΎ ΡΠΎΠΉ Π²Π΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°, Π° Π·Π°ΠΏΠ°Π·Π²Π° Π΄ΠΎ Π½Π΅Π³ΠΎ Π½ΠΎΠ² ΡΠ°ΠΉΠ» insserv.conf.sample.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠ°ΠΉΠ»Π° /etc/insserv/file-filters, Π² ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΡΠΎΡΠΈ ΡΠΏΠΈΡΡΠΊ Ρ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ .git ΠΈ .puppet), ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠ°Π½ΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Π² /etc/init.d.
- Π insserv Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΎΠΏΡΠΈΡΡΠ° β-iβ Π·Π° ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π΅Π½ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ.
- Π insserv Π΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΡΠΈΡΡΠΊΠ° Π½Π° ΡΠ΅ΡΡΠΎΠ²ΠΈΡ Π½Π°Π±ΠΎΡ, ΠΏΡΠ΅Π½Π΅ΡΠ΅Π½ ΠΎΡ Debian, ΠΈ Π΅ ΠΎΡΠΈΠ³ΡΡΠ΅Π½ΠΎ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ ΠΌΡ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βmake checkβ. ΠΠ΅ΡΡΠΏΠ΅Ρ ΠΏΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅ ΡΠ΅Π³Π° ΡΠΏΠΈΡΠ° ΠΏΠΎ-Π½Π°ΡΠ°ΡΡΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΈ Π·Π°ΠΏΠΈΡΠ²Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°ΡΠ° Π½Π° Π΄ΠΈΡΠΊΠ° Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΠΏΠΎ ΡΠ΅ΡΡΠΎΠ²ΠΈΡ Π½Π°Π±ΠΎΡ ΡΠ° ΠΎΡΠΊΡΠΈΡΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΈ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ insserv ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΈΠ»ΠΈ Π΄Π° ΡΠ΅ ΡΠΏΡΠ°Π²Ρ Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, insserv ΡΠ΅Π³Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°Π²Π° ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π° Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ β$serviceβ ΠΈΠ»ΠΈ ΠΏΡΠΈ ΠΏΠΎΡΠΎΡΠ²Π°Π½Π΅ Π½Π° Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡΠΈ runlevel Π² ΠΏΠΎΠ»Π΅ΡΠ°ΡΠ° Default-Start ΠΈ Default-Stop.
- ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° startpar Π²Π΅ΡΠ΅ ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° /bin, Π° Π½Π΅ Π² /sbin, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π΅ ΡΠ°ΠΌΠΎ ΠΎΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°, Π½ΠΎ ΠΈ ΠΎΡ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ. ΠΡΠΌΠ΅Π½Π΅Π½ Π΅ ΠΏΠ»Π°Π½ΡΡ Π·Π° ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ /etc Π² /var ΠΈΠ»ΠΈ /lib, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π²ΡΠ·Π½ΠΈΠΊΠ½Π°Ρ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ Π΄Π° ΡΠ΅ Π½Π°ΡΡΡΠΈ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΠ° Ρ Π½ΡΠΊΠΎΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ. Π ΠΊΠΎΠ΄Π° Π½ΡΠΊΠΎΠΈ ΡΠ΅Π΄ΠΎΠ²Π΅, ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°Π½ΠΈ ΡΡΠ΅Π· sizeof(), ΡΠ° Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΈ Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
