āĻā§āĻŽāĻŋāĻāĻž
āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĄā§āĻā§āĻ˛āĻĒ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻ¨ā§āĻāĻžāĻ°ā§āĻā§āĻāĻŋāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻāĻžāĻ āĻ¯āĻž āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻžāĻ˛ā§ āĻŦāĻž āĻŦāĻ¨ā§āĻ§ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ V āĻ¤ā§ āĻāĻāĻŋ āĻ¸āĻšāĻ āĻāĻŋāĻ˛, āĻāĻŋāĻ¨ā§āĻ¤ā§ systemd āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻŋ āĻ¸āĻŽāĻ¨ā§āĻŦāĻ¯āĻŧ āĻāĻ°ā§āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻāĻžāĻāĻŽāĻžāĻ° āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻā§āĻ¨ āĻāĻŽāĻ°āĻž āĻ˛āĻā§āĻˇā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨?
āĻāĻāĻž āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ āĻ˛ā§āĻāĻž āĻšāĻ¯āĻŧ āĻ¯ā§ āĻāĻžāĻ°ā§āĻā§āĻ V -init āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻ°āĻžāĻ¨āĻ˛ā§āĻā§āĻ˛ā§āĻ° āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻ¨āĻžāĻ˛āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§āĨ¤ āĻāĻŽāĻŋ āĻŽā§āĻ˛āĻŋāĻāĻāĻžāĻŦā§ āĻāĻāĻŽāĻ¤ āĻ¨āĻāĨ¤ āĻ¤āĻžāĻĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻ°āĻ āĻ°āĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ¯āĻžāĻā§āĻāĻā§āĻ˛āĻŋāĻā§ āĻā§āĻˇā§āĻ ā§āĻ¤ā§ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻāĻŋ āĻāĻŽāĻžāĻ¨ā§āĻĄā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻā§āĻ°ā§āĻĒ āĻāĻžāĻ˛ā§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻ¤āĻĻā§āĻĒāĻ°āĻŋ, āĻ¤āĻžāĻĻā§āĻ° āĻā§āĻ¨āĻ āĻļā§āĻ°ā§āĻŖāĻŋāĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻ¨ā§āĻ, āĻā§āĻŦāĻ˛ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻžāĨ¤
āĻāĻ¨ā§āĻāĻžāĻ°ā§āĻā§āĻāĻŋāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ°ā§āĻā§āĻā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ (āĻĢāĻŋāĻāĻžāĻ° āĻāĻāĻžāĻ°āĻāĻŋāĻ) āĻ¯āĻāĻ¨ āĻ¸āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ°āĻž āĻšāĻ¯āĻŧ
āĻ˛āĻā§āĻˇā§āĻ¯ āĻ¨āĻŋāĻā§āĻ āĻŦāĻ°ā§āĻŖāĻ¨āĻž:
cat installer.target
[Unit]
Description=My installer
Requires=multi-user.target
Conflicts=rescue.service rescue.target
After=multi-user.target rescue.service rescue.target
AllowIsolate=yes
Wants=installer.service
āĻ¯āĻāĻ¨ multi-user.target āĻāĻžāĻ˛ā§ āĻšāĻŦā§ āĻāĻŦāĻ installer.service āĻāĻ˛ āĻāĻ°āĻŦā§ āĻ¤āĻāĻ¨ āĻāĻ āĻāĻžāĻ°ā§āĻā§āĻ āĻļā§āĻ°ā§ āĻšāĻŦā§āĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
cat installer.service
[Unit]
# ĐžĐŋиŅĐ°ĐŊиĐĩ
Description=installer interactive dialog
[Service]
# ĐĐ°ĐŋŅŅŅиŅŅ ОдиĐŊ ŅаС, ĐēĐžĐŗĐ´Đ° ĐžŅŅĐ°ĐģŅĐŊĐžĐĩ ĐąŅĐ´ĐĩŅ СаĐŋŅŅĐĩĐŊĐŊĐž
Type=idle
# ĐĐžĐŧĐ°ĐŊĐ´Đ° СаĐŋŅŅĐēĐ° - вŅСОв ŅĐēŅиĐŋŅĐ°
ExecStart=/usr/bin/installer.sh
# ĐĐŊŅĐĩŅĐ°ĐēŅивĐŊĐžĐĩ вСаиĐŧОдĐĩĐšŅŅвиĐĩ Ņ ĐŋĐžĐģŅСОваŅĐĩĐģĐĩĐŧ ŅĐĩŅĐĩС tty3
StandardInput=tty
TTYPath=/dev/tty3
TTYReset=yes
TTYVHangup=yes
[Install]
WantedBy=installer.target
āĻāĻŦāĻ āĻ āĻŦāĻļā§āĻˇā§, āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ:
#!/bin/bash
# ĐĐĩŅĐĩŅ
ОдиĐŧ в tty3
chvt 3
echo "Install, y/n ?"
read user_answer
āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻšāĻ˛ final.target āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻž - āĻ¯ā§ āĻ˛āĻā§āĻˇā§āĻ¯ā§ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽāĻāĻŋ āĻ¸ā§āĻāĻžāĻ°ā§āĻāĻāĻĒā§ āĻĒā§āĻāĻāĻžāĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻ¸ā§āĻāĻžāĻ°ā§āĻāĻāĻĒ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ˛āĻžāĻāĻžāĻ˛ā§āĻ¨, systemd āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻžāĻ° āĻŽāĻ§ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻŦā§ āĻāĻŦāĻ āĻāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¸āĻŦāĻāĻŋāĻā§ āĻāĻžāĻ˛ā§ āĻāĻ°āĻŦā§āĨ¤
final.target āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻžāĻ° āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻĒāĻžāĻ¯āĻŧ āĻāĻā§, āĻāĻŽāĻŋ āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻ˛ā§āĻĄāĻžāĻ° āĻ
āĻĒāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻāĻŋāĨ¤
āĻā§āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻ˛āĻā§āĻ āĻāĻ āĻŽāĻ¤ āĻĻā§āĻāĻžāĻ¯āĻŧ:
- āĻŦā§āĻāĻ˛ā§āĻĄāĻžāĻ° āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ
- āĻŦā§āĻāĻ˛ā§āĻĄāĻžāĻ° final.target āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻ āĻ¤āĻŋāĻā§āĻ°āĻŽ āĻāĻ°ā§ āĻĢāĻžāĻ°ā§āĻŽāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻļā§āĻ°ā§ āĻāĻ°ā§
- āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽāĻĄ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻļā§āĻ°ā§ āĻāĻ°āĻ¤ā§ āĻļā§āĻ°ā§ āĻāĻ°ā§āĨ¤ āĻā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻ¤āĻžāĻĻā§āĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, multi-user.target) āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ basic.target āĻĨā§āĻā§ installer.target āĻŦāĻž work.target-āĻ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻĒāĻ°ā§āĻ°āĻāĻŋ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽāĻāĻŋāĻā§ āĻĒāĻāĻ¨ā§āĻĻāĻ¸āĻ āĻŽā§āĻĄā§ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻāĻ¨ā§
āĻ˛āĻā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĢāĻžāĻ°ā§āĻŽāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻĢāĻžāĻ°ā§āĻŽāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻžāĻāĻāĻŋ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻļā§āĻ°ā§āĻ¤ā§ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻ āĻŦāĻ¸ā§āĻĨāĻž āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻāĻ°āĻž āĻāĻŦāĻ āĻŦāĻ¨ā§āĻ§ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻāĻŋ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¸ā§āĻā§āĻ āĻŽāĻžāĻ¨ā§ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĢāĻžāĻāĻ˛, āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻĄāĻžāĻŽā§āĻĒ, āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ āĻ¸ā§āĻāĻŋāĻāĻ¸ āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤
Systemd āĻāĻāĻ āĻāĻžāĻ°ā§āĻā§āĻā§ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛āĻāĻžāĻŦā§ āĻĒā§āĻ°āĻ¸ā§āĻ¸ āĻāĻžāĻ˛āĻžāĻ¯āĻŧāĨ¤ āĻāĻŽāĻ¨ āĻāĻŋāĻā§ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ° āĻ¸ā§āĻāĻžāĻ°ā§āĻāĻāĻĒ āĻā§āĻ°āĻŽ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤
āĻāĻāĻŋ āĻāĻŽāĻžāĻ° āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§ (
- āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ
- settings_restore.service āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻāĻžāĻ˛ā§ āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻāĻŋ āĻĄā§āĻāĻž āĻŦāĻŋāĻāĻžāĻā§ settings.txt āĻĢāĻžāĻāĻ˛ā§āĻ° āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻ¸ā§āĻāĻžāĻ¨ā§ āĻ¨āĻž āĻĨāĻžāĻā§, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻāĻāĻŋ āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸ āĻĢāĻžāĻāĻ˛ āĻ¤āĻžāĻ° āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ°āĻĒāĻ°, āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ¸ā§āĻāĻŋāĻāĻ¸ āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ:
- āĻĒā§āĻ°āĻļāĻžāĻ¸āĻā§āĻ° āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ
- āĻšā§āĻ¸ā§āĻāĻ¨āĻžāĻŽ,
- āĻ¸āĻŽāĻ¯āĻŧ āĻ āĻā§āĻāĻ˛
- āĻ˛ā§āĻā§āĻ˛
- āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽāĻŋāĻĄāĻŋāĻ¯āĻŧāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻā§āĻā§ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§āĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§, āĻāĻŋāĻ¤ā§āĻ°ā§āĻ° āĻāĻāĻžāĻ° āĻā§āĻ - āĻŽāĻŋāĻĄāĻŋāĻ¯āĻŧāĻžāĻ¤ā§ āĻ āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻāĻŦāĻ āĻ°ā§āĻāĻ°ā§āĻĄ āĻāĻ°āĻžāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ° āĻāĻ¨ā§āĻ¯āĨ¤ āĻ¸ā§āĻāĻžāĻ°ā§āĻāĻāĻĒā§, āĻāĻāĻŋ āĻāĻāĻ¨āĻ āĻ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻā§ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§āĨ¤ āĻ¯āĻĻāĻŋ āĻĨāĻžāĻā§, āĻĄāĻŋāĻ¸ā§āĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻŦāĻŋāĻāĻžāĻāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
- MAC āĻ āĻŋāĻāĻžāĻ¨āĻž āĻĨā§āĻā§ āĻŽā§āĻļāĻŋāĻ¨-āĻāĻāĻĄāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻā§āĻā§āĨ¤ DHCP āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻāĻ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻĒāĻžāĻāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ
- āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¸ā§āĻāĻŋāĻāĻ¸
- āĻ˛āĻā§āĻ° āĻāĻāĻžāĻ° āĻ¸ā§āĻŽāĻŋāĻ¤ āĻāĻ°ā§
- āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ āĻĄā§āĻ°āĻžāĻāĻāĻāĻŋ āĻāĻžāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻāĻ°āĻž āĻšāĻā§āĻā§ (āĻ¯āĻĻāĻŋ āĻ¸āĻāĻļā§āĻ˛āĻŋāĻˇā§āĻ āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻāĻŋ āĻ¸āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻĨāĻžāĻā§ āĻāĻŦāĻ āĻĄā§āĻ°āĻžāĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻšāĻ¯āĻŧ)
- āĻĒā§āĻ¸ā§āĻāĻā§āĻ°ā§āĻ¸ā§āĻ āĻļā§āĻ°ā§ āĻāĻ°ā§āĻ¨
- āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧāĨ¤ zabbix āĻ¨āĻŋāĻā§āĻ āĻāĻŦāĻ āĻāĻ° āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨:
- āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ zabbix āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻāĻā§ āĻāĻŋāĻ¨āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§āĨ¤ āĻ¯āĻĻāĻŋ āĻ¤āĻž āĻ¨āĻž āĻšāĻ¯āĻŧ, āĻāĻāĻŋ āĻļā§āĻ°ā§āĻ° āĻĄāĻžāĻŽā§āĻĒ āĻĨā§āĻā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ (āĻā§āĻ¯āĻžāĻŦāĻŋāĻā§āĻ¸ āĻ¸āĻš)
- āĻāĻžāĻāĻŽ āĻā§āĻ¨ā§āĻ° āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ (āĻāĻ¯āĻŧā§āĻŦ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ā§ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨)
- āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻāĻāĻĒāĻŋ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻā§āĻā§, āĻāĻāĻŋ āĻāĻ¸ā§āĻ¯ā§āĻ¤ā§ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧ (āĻāĻ¨āĻ¸ā§āĻ˛ā§ āĻ˛āĻ āĻāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻŽāĻ¨ā§āĻ¤ā§āĻ°āĻŖ)
- āĻāĻŽāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧ - āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻŦāĻžāĻā§āĻ¯āĻžāĻāĻļāĻāĻŋ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧ
- āĻĢāĻžāĻ°ā§āĻŽāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤
āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ, āĻ¤āĻžāĻ°āĻžāĻ āĻ¤āĻžāĻĻā§āĻ° āĻ˛āĻā§āĻā§āĻ° āĻā§āĻ°āĻŽ āĻ¸ā§āĻ āĻāĻ°ā§
[Unit]
Description=restore system settings
Before=network.service prepare.service postgresql.service systemd-networkd.service systemd-resolved.service
[Service]
Type=oneshot
ExecStart=/usr/bin/settings_restore.sh
[Install]
WantedBy=multi-user.target
āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻā§āĻ¨, āĻāĻŽāĻŋ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻāĻŋ āĻ¯āĻžāĻ¤ā§ āĻāĻŽāĻžāĻ° āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻžāĻ āĻāĻ°ā§, āĻāĻŦāĻ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¤āĻāĻ¨āĻ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻāĻ˛ā§ āĻ¯āĻžāĻŦā§ āĻāĻŦāĻ DBMS āĻļā§āĻ°ā§ āĻšāĻŦā§āĨ¤
āĻāĻŦāĻ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž (āĻā§āĻ¯āĻžāĻŦāĻŋāĻā§āĻ¸ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĻŋ)
#!/bin/sh
[Unit]
Description=monitor prepare system
After=postgresql.service settings_restore.service
Before=zabbix-server.service zabbix-agent.service
[Service]
Type=oneshot
ExecStart=/usr/bin/prepare.sh
[Install]
WantedBy=multi-user.target
āĻāĻāĻŋ āĻāĻāĻžāĻ¨ā§ āĻāĻāĻā§ āĻŦā§āĻļāĻŋ āĻāĻāĻŋāĻ˛āĨ¤ āĻ˛āĻā§āĻāĻāĻŋ multi-user.target-āĻāĻ āĻ°āĻ¯āĻŧā§āĻā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ postgresql DBMS āĻāĻŦāĻ āĻāĻŽāĻžāĻ° setting_restore āĻļā§āĻ°ā§ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ zabbix āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻļā§āĻ°ā§ āĻāĻ°āĻžāĻ° āĻāĻā§āĨ¤
āĻ˛āĻāĻ°ā§āĻā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻāĻŽāĻžāĻ° āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž
Systemd CRON āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻ¸āĻŋāĻ°āĻŋāĻ¯āĻŧāĻžāĻ¸āĻ˛āĻŋāĨ¤ āĻ¤āĻĻā§āĻĒāĻ°āĻŋ, āĻ¨āĻŋāĻ°ā§āĻā§āĻ˛āĻ¤āĻž āĻŽāĻŋāĻ¨āĻŋāĻ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§ āĻ¸ā§āĻā§āĻ¨ā§āĻĄ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ (āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¯āĻŧ āĻ¤āĻŦā§ āĻā§ āĻšāĻŦā§)āĨ¤ āĻ
āĻĨāĻŦāĻž āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻāĻāĻā§āĻ¯āĻŧā§ āĻāĻžāĻāĻŽāĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¯āĻž āĻāĻāĻāĻŋ āĻāĻā§āĻ¨ā§āĻ āĻĨā§āĻā§ āĻāĻžāĻāĻŽāĻāĻāĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧāĨ¤
āĻāĻāĻŋ āĻāĻāĻā§āĻ¯āĻŧā§ āĻāĻžāĻāĻŽāĻžāĻ° āĻāĻŋāĻ˛ āĻ¯āĻž āĻāĻŽāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻŽā§āĻļāĻŋāĻ¨ā§āĻ° āĻļā§āĻ°ā§ āĻĨā§āĻā§ āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŖāĻ¨āĻž āĻāĻ°ā§āĨ¤
āĻāĻ° āĻāĻ¨ā§āĻ¯ 2āĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻ˛āĻžāĻāĻŦā§
logrotateTimer.service - āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻāĻŋāĻ° āĻĒā§āĻ°āĻā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ:
[Unit]
Description=run logrotate
[Service]
ExecStart=logrotate /etc/logrotate.conf
TimeoutSec=300
āĻāĻāĻž āĻ¸āĻšāĻ - āĻ˛āĻā§āĻ āĻāĻŽāĻžāĻ¨ā§āĻĄā§āĻ° āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĨ¤
āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻĢāĻžāĻāĻ˛ logrotateTimer.timer āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻžāĻāĻŽāĻžāĻ° āĻāĻžāĻ āĻāĻ°ā§:
[Unit]
Description=Run logrotate
[Timer]
OnBootSec=15min
OnUnitActiveSec=15min
[Install]
WantedBy=timers.target
āĻāĻāĻžāĻ¨ā§ āĻāĻŋ āĻāĻā§:
- āĻāĻžāĻāĻŽāĻžāĻ° āĻŦāĻŋāĻŦāĻ°āĻŖ
- āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻŦā§āĻ āĻĨā§āĻā§ āĻļā§āĻ°ā§ āĻāĻ°ā§ āĻĒā§āĻ°āĻĨāĻŽ āĻļā§āĻ°ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ
- āĻāĻ°āĻ āĻ˛āĻā§āĻā§āĻ° āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛
- āĻāĻžāĻāĻŽāĻžāĻ° āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻļā§āĻ˛āĻ¤āĻžāĨ¤ āĻāĻ¸āĻ˛ā§, āĻāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻāĻāĻŋ āĻāĻžāĻāĻŽāĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§
āĻŦāĻ¨ā§āĻ§ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ¨ā§āĻāĻžāĻ°ā§āĻā§āĻāĻŋāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻ° āĻļāĻžāĻāĻĄāĻžāĻāĻ¨ āĻ˛āĻā§āĻˇā§āĻ¯
āĻ āĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻŦāĻŋāĻāĻžāĻļā§, āĻāĻŽāĻžāĻā§ āĻŽā§āĻļāĻŋāĻ¨āĻāĻŋ āĻŦāĻ¨ā§āĻ§ āĻāĻ°āĻžāĻ° āĻāĻ°āĻ āĻāĻāĻŋāĻ˛ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ - āĻāĻŽāĻžāĻ° āĻ¨āĻŋāĻā§āĻ° āĻ˛āĻā§āĻˇā§āĻ¯ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§, āĻ āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯āĨ¤ āĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ RemainAfterExit āĻŦāĻŋāĻāĻ˛ā§āĻĒā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ āĻāĻ¯āĻŧāĻžāĻ¨āĻļāĻ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§ āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻāĻŋ āĻāĻ¨ā§āĻāĻžāĻ°ā§āĻā§āĻāĻŋāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻŦāĻžāĻ§āĻž āĻĻā§āĻ¯āĻŧāĨ¤
āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻ¤āĻž āĻšāĻ˛ āĻ¯ā§ ExecOnStop āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻāĻŽāĻžāĻ¨ā§āĻĄāĻā§āĻ˛āĻŋ TTY āĻāĻ° āĻŦāĻžāĻāĻ°ā§ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ! āĻāĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻ¸āĻšāĻ - tty āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻĒā§āĻ¸ā§āĻ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻ° āĻāĻāĻāĻĒā§āĻ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°ā§āĻ¨āĨ¤
āĻ¤āĻžāĻ āĻāĻŽāĻŋ āĻāĻŽāĻžāĻ° āĻāĻžāĻ°ā§āĻā§āĻ āĻĻāĻŋāĻ¯āĻŧā§ āĻŦāĻ¨ā§āĻ§ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻāĻ°ā§āĻāĻŋāĨ¤ āĻāĻŽāĻŋ 100% āĻ¸āĻ āĻŋāĻ āĻŦāĻ˛ā§ āĻĻāĻžāĻŦāĻŋ āĻāĻ°āĻŋ āĻ¨āĻž, āĻ¤āĻŦā§ āĻāĻāĻŋ āĻāĻžāĻ āĻāĻ°ā§!
āĻāĻāĻŋ āĻā§āĻāĻžāĻŦā§ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ (āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻļāĻ°ā§āĻ¤ā§):
āĻāĻŽāĻŋ āĻāĻāĻāĻŋ āĻ˛āĻā§āĻˇā§āĻ¯ my_shutdown.target āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻāĻŋ, āĻ¯āĻž āĻāĻžāĻ°āĻ āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§ āĻ¨āĻž:
my_shutdown.target
[Unit]
Description=my shutdown
AllowIsolate=yes
Wants=my_shutdown.service
āĻāĻ āĻ˛āĻā§āĻˇā§āĻ¯ā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ (systemctl isolate my_shutdwn.target āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§), āĻāĻāĻŋ my_shutdown.service āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻāĻžāĻ˛ā§ āĻāĻ°ā§, āĻ¯āĻžāĻ° āĻāĻžāĻāĻāĻŋ āĻ¸āĻšāĻ - my_shutdown.sh āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻžāĻ˛āĻžāĻ¨ā§:
[Unit]
Description=MY shutdown
[Service]
Type=oneshot
ExecStart=/usr/bin/my_shutdown.sh
StandardInput=tty
TTYPath=/dev/tty3
TTYReset=yes
TTYVHangup=yes
WantedBy=my_shutdown.target
- āĻāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻāĻŽāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻāĻ°āĻŋāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŽāĻ¨ā§āĻ¯āĻŧāĻ¤āĻž āĻāĻŦāĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ˛āĻā§āĻˇā§āĻ¯ā§ āĻ āĻ¨ā§āĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
my_sutdown.sh
#!/bin/bash --login
if [ -f /tmp/reboot ];then
command="systemctl reboot"
elif [ -f /tmp/shutdown ]; then
command="systemctl poweroff"
fi
#ĐĐžŅ СдĐĩŅŅ ĐŊŅĐļĐŊŅĐĩ ĐēĐžĐŧĐ°ĐŊĐ´Ņ
#ĐĐ°ĐŋŅиĐŧĐĩŅ, cp /home/user/data.txt /storage/user/
$command
āĻŦāĻŋāĻāĻĻā§āĻ°āĻ. /tmp/āĻ°āĻŋāĻŦā§āĻ āĻāĻŦāĻ /tmp/āĻļāĻžāĻāĻĄāĻžāĻāĻ¨ āĻĢāĻžāĻāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¸āĻš āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ¨āĻž. āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸ā§āĻŦāĻž āĻ¸āĻŽā§āĻāĻŦ.
āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻŋ āĻāĻžāĻā§āĻ° āĻ¨āĻŽāĻ¨ā§āĻ¯āĻŧāĻ¤āĻž āĻāĻŦāĻ āĻāĻ°ā§āĻŽā§āĻ° āĻāĻāĻāĻŋ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻā§āĻ°āĻŽ āĻĨāĻžāĻāĻ¤ā§ āĻ˛āĻā§āĻˇā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋāĨ¤
āĻ¯āĻžāĻāĻšā§āĻ, āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻŽāĻāĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻĒāĻ°ā§ āĻāĻ¸ā§āĻāĻŋāĻ˛āĨ¤ āĻŽā§āĻļāĻŋāĻ¨āĻāĻŋ āĻŦāĻ¨ā§āĻ§/āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻžāĻ˛ā§ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻŦāĻ 2āĻāĻŋ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻ°āĻ¯āĻŧā§āĻā§:
- āĻāĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻ°āĻŋāĻŦā§āĻ, āĻļāĻžāĻāĻĄāĻžāĻāĻ¨ āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻā§āĻ˛āĻŋ (āĻāĻā§āĻ˛āĻŋ āĻāĻāĻ¨āĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽāĻ¸āĻŋāĻāĻŋāĻāĻ˛-āĻāĻ° āĻ¸āĻŋāĻŽāĻ˛āĻŋāĻāĻ) āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§āĻ¨āĨ¤ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ° āĻāĻŋāĻ¤āĻ°ā§, my_shutdown.target āĻ āĻ¯āĻžāĻ¨āĨ¤ āĻāĻŦāĻ āĻ˛āĻā§āĻˇā§āĻ¯ā§āĻ° āĻāĻŋāĻ¤āĻ°ā§āĻ° āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻāĻā§āĻ˛āĻŋ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ systemctl āĻāĻ˛ āĻāĻ°ā§, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, systemctl āĻ°āĻŋāĻŦā§āĻ
- āĻāĻāĻāĻŋ āĻ¸āĻšāĻ āĻŦāĻŋāĻāĻ˛ā§āĻĒ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻŋ āĻāĻāĻž āĻĒāĻāĻ¨ā§āĻĻ āĻāĻ°āĻŋ āĻ¨āĻžāĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ā§, āĻļāĻžāĻāĻĄāĻžāĻāĻ¨/āĻ°āĻŋāĻŦā§āĻ/āĻ āĻ¨ā§āĻ¯ āĻāĻ˛ āĻāĻ°āĻŦā§āĻ¨ āĻ¨āĻž, āĻ¤āĻŦā§ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻāĻžāĻ°ā§āĻā§āĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽāĻ¸āĻŋāĻāĻŋāĻāĻ˛ āĻāĻāĻ¸ā§āĻ˛ā§āĻ my_shutdown.target-āĻ āĻāĻ˛ āĻāĻ°āĻŦā§āĻ¨ āĻ¨āĻž
āĻāĻŽāĻŋ āĻĒā§āĻ°āĻĨāĻŽ āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻāĻŋ āĻŦā§āĻā§ āĻ¨āĻŋāĻ¯āĻŧā§āĻāĻŋāĨ¤ Systemd-āĻ, āĻ°āĻŋāĻŦā§āĻ (āĻĒāĻžāĻāĻ¯āĻŧāĻžāĻ° āĻ āĻĢā§āĻ° āĻŽāĻ¤ā§) āĻšāĻ˛ systemd-āĻāĻ° āĻ¸āĻŋāĻŽāĻ˛āĻŋāĻāĻāĨ¤
ls -l /sbin/poweroff
lrwxrwxrwx 1 root root 14 ŅĐĩĐŊ 30 18:23 /sbin/poweroff -> /bin/systemctl
āĻ
āĻ¤āĻāĻŦ, āĻāĻĒāĻ¨āĻŋ āĻ¤āĻžāĻĻā§āĻ° āĻ¨āĻŋāĻā§āĻ° āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻŦā§āĻ āĻāĻ°āĻžāĻ°
#!/bin/sh
touch /tmp/reboot
sudo systemctl isolate my_shutdown.target
fi
āĻāĻ¤ā§āĻ¸: www.habr.com