ืœื™ื ื•ืงืก ื‘ืึทืงืงื•ืคึผ ืคึฟื•ืŸ Veeam ืื•ื™ืฃ Elbrus OS. ืึทืจื™ื™ึทื ืคื™ืจ ืกืึทื‘ืกื˜ื™ื˜ื•ืฉืึทืŸ ['?' | '.' | '!']

ื”ืขืœื ืึทืœืขืžืขืŸ.
ืœืขืฆื˜ืข ืึทืจื˜ื™ืงืœืขืŸ ืื•ื™ืฃ Habrรฉ ืึทืจื™ื™ึทื ืคื™ืจ ืกืึทื‘ืกื˜ื™ื˜ื•ืฉืึทืŸ ืื™ืŸ ืคื™ืจ. ื˜ื™ื™ืœ 1. ืึธืคึผืฆื™ืขืก ะธ ื“ื™ ืžื•ื–ื™ืง ื”ืื˜ ื ื™ืฉื˜ ืฉืคึผื™ืœืŸ ืคึฟืึทืจ ืœืึทื ื’ ... ืึธื“ืขืจ ื•ื•ื™ Elbrus OS ืงื™ื™ื ืžืึธืœ ื’ืขื•ื•ืืจืŸ ืคืจื™ื™ ื”ืื˜ ืžื™ืš ื ื™ืฉื˜ ื’ืขืœืื–ื˜ ื’ืœืฒื›ื’ื™ืœื˜ื™ืง. ืื™ืš ื‘ืึทืฉืœืึธืกืŸ ืฆื• ืœืขืจื ืขืŸ ื“ืขื ืึทืจื•ื™ืกื’ืขื‘ืŸ ืื™ืŸ ื“ืขื ืงืึธื ื˜ืขืงืกื˜ ืคื•ืŸ ื“ื™ ื‘ืึทืงืึทืคึผ ืึทืจื‘ืขื˜. ื“ืขืจืฆื•, ืื™ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ Veeam ื•ื•ื™ื™ื›ื•ื•ืืจื’ ืคึผืจืึธื“ื•ืงื˜ืŸ ื–ืขื ืขืŸ ื“ืขืจืžืื ื˜, ื•ื•ืึธืก ืžื™ื˜ืœ ืึทื– ื“ื™ ืึทืจื•ื™ืกื’ืขื‘ืŸ ืงืขืŸ ื–ื™ื™ืŸ ื‘ืึทื˜ื™ื™ึทื˜ื™ืง ืกืคึผืึทืกื™ืคื™ืงืœื™ ืื™ืŸ ื“ืขื ืงืึธื ื˜ืขืงืกื˜ ืคื•ืŸ ืึทืจื™ื™ึทื ืคื™ืจ ืกืึทื‘ืกื˜ื™ื˜ื•ืฉืึทืŸ.

ืœื™ื ื•ืงืก ื‘ืึทืงืงื•ืคึผ ืคึฟื•ืŸ Veeam ืื•ื™ืฃ Elbrus OS. ืึทืจื™ื™ึทื ืคื™ืจ ืกืึทื‘ืกื˜ื™ื˜ื•ืฉืึทืŸ ['?' | '.' | '!']
ืึธืจื™ื’ื™ื ืขืœ ื‘ื™ืœื“ ืžืงื•ืจ

ืขืจืฉื˜ืขืจ ืคื•ืŸ ืึทืœืข, ืื™ืš ื‘ืึทืฉืœืึธืกืŸ ืฆื• ืึธืคึผืœืึธื“ื™ืจืŸ ื“ื™ Elbrus OS, ืึธื“ืขืจ ื’ืึทื ืฅ, ื‘ืœื•ื™ื– ื“ื™ ื‘ื ื™ืžืฆื ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’ ืคึฟืึทืจ ื“ื™ x86_64 ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ, ื–ืขืŸ ื•ื•ื™ ืขืก ืึทืจื‘ืขื˜ ืื•ืŸ ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ื™ื ืกื˜ืึทืœื™ืจืŸ Veeam Agent ืคึฟืึทืจ ืœื™ื ื•ืงืก ืื•ื™ืฃ ืขืก. ืื•ื™ื‘ ืื™ืจ ื•ื•ื™ืœืŸ ืฆื• ื•ื•ื™ืกืŸ ื•ื•ืึธืก ื’ืขืงื•ืžืขืŸ ืื•ื™ืก ืคื•ืŸ ื“ืขื, ื‘ื™ื˜ืข ื–ืขืŸ ืงืึทืฅ.

ืึทื–ื•ื™, ืึท ืงืœื™ื™ืŸ ื“ื™ื’ืจืขืฉืึทืŸ, ืื•ื™ื‘ ืขืžืขืฆืขืจ ืงืขืŸ ื ื™ืฉื˜ ื•ื•ื™ืกืŸ. "ืขืœื‘ืจื•ืก" ืื™ื– ืึทื–ื•ื™ ืงืคึผื• ืžื™ื˜ ืึท ื’ืึทื ืฅ ืกืคึผืขืฆื™ืคื™ืฉ ื‘ืึทืคึฟืขืœ ืกื™ืกื˜ืขื. ืื™ืŸ ืึทื“ื™ืฉืึทืŸ ืฆื• ืขืก, ืขืก ืื™ื– Elbrus OS ื•ื•ื™ื™ื›ื•ื•ืืจื’. ืื•ืŸ - ืคืึทืจืงืขืจื˜ ืฆื• ืคืึธืœืงืก ื’ืœื•ื™ื‘ืŸ - ืฆื• ืึทืจื‘ืขื˜ืŸ ื“ื™ Elbrus OS, ืขืก ืื™ื– ื ื™ื˜ ื ื™ื™ื˜ื™ืง ืฆื• ื”ืึธื‘ืŸ ืึท ื™ื™ึทื–ื ื•ื•ืึทืจื’ ืกื™ืกื˜ืขื ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ Elbrus ืคึผืจืึทืกืขืกืขืจ. ืขืก ืื™ื– "PDK "Elbrus" ืคึฟืึทืจ ืงืก86" - ืื™ืŸ ืคืึทืงื˜, ืขืก ืื™ื– ืืจื•ื™ืก ืื™ืŸ ื“ื™ ืฆื™ื‘ื•ืจ ืคืขืœื“ ืื™ืŸ ื“ื™ ืคืึธืจืขื ืคื•ืŸ ืึท ื™ื™ึทื ืžืึธื ื˜ื™ืจื•ื ื’ ื“ื™ืกืง. ื“ื•ืจืš ื“ืขื ื•ื•ืขื’, ืขืก ืื™ื– ืึท ืคืึธืึธื˜ื ืึธื˜ืข "PDK - ืคึผืœืึทื˜ืคืึธืจืžืข ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ื™ื ื•ื•ืขื ื˜ืึทืจ, ื“ืขื•ื•ืขืœืึธืคึผืขืจ ื™ื ื•ื•ืขื ื˜ืึทืจ" - ื’ืจื•ื™ืก, ื“ืึธืก ืžื™ื™ื ื˜ ืึทื– ืขืก ืื™ื– ืœืคึผื—ื•ืช ืึท ืงืึทืžืคึผื™ื™ืœืขืจ ื“ืึธืจื˜.

ืืŸ ืื ื“ืขืจ ืงืœื™ื™ืŸ ื’ืขืฆื•ื•ื•ื ื’ืขืŸ ืฆื•ืจื™ืงืฆื™ืขื  ื–ื™ืš. ื“ืขืจ ืคืึทืงื˜ ืื™ื– ืึทื– ืื™ืš ืึทืžืึธืœ ื“ืขืœื˜ ืžื™ื˜ ื“ื™ื ืขืจ ื•ื•ื™ื™ื›ื•ื•ืืจื’, ืึทื–ืึท ื•ื•ื™ MSVS ืื•ืŸ Baguette RTOS. ืื™ืš ื”ืึธื‘ ื“ืขืจืคืึทืจื•ื ื’ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ื“ื™ื ืขืจ ืงืึทืžืคึผืึธื•ื ืึทื ืฅ, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืึท ืคึผืจืึทืกืขืกืขืจ ืคื•ืŸ MCST. ื“ืขืจื™ื‘ืขืจ, ืื™ืš ืงืขื ืขืŸ ื–ืึธื’ืŸ ืžื™ื˜ ืคื•ืœ ืคึฟืึทืจืึทื ื˜ื•ื•ืึธืจื˜ืœืขื›ืงื™ื™ื˜ ืึทื– ืขืก ืื™ื– ืึท ื–ื™ื›ืขืจ ืกืคึผืขืฆื™ืคึฟื™ืฉืงื™ื™ื˜ ืื™ืŸ ื“ืขื ื’ืขื’ื ื˜ ืื•ืŸ ืื™ืš ื•ื•ืขืœ ืคึผืจื•ื‘ื™ืจืŸ ื ื™ืฉื˜ ืฆื• ืคืึทืจื‘ื™ื ื“ืŸ ืขืก ืื™ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ. ื•ื•ืขืŸ ืื™ืš ื˜ืึทืงืข ื•ื•ื™ืœืŸ, ืื™ืš ื•ื•ืขื˜ ืฉื˜ืขืœืŸ ื“ื™ ืงื•ื•ื™ื˜ืœ [ื˜ื‘ื“]. ืึทื–ื•ื™ ืžื™ืจ ื•ื•ืขืœืŸ ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ื˜ืึธืŸ ืึธืŸ ืึทื•ื˜ืจื™ื™ื˜ ื˜ืจืึธืœืœื™ื ื’ ืื•ืŸ ื‘ืึทื ืึทืœ ืžืึธื•ื ื™ื ื’. ืื™ืŸ ื“ื™ ืกื•ืฃ, ื“ื™ ืจื•ืกื™ืฉืข ืคืึทืจื˜ื™ื™ื“ื™ืงื•ื ื’ ืื™ื ื“ื•ืกื˜ืจื™ืข ืื•ืŸ ืจืขื’ื™ืจื•ื ื’ ื™ื™ื“ื–ืฉืึทื ืกื™ื– ื“ืึทืจืคึฟืŸ ืฆื• ื–ื™ื™ืŸ ืคืืจืฉื˜ืื ืขืŸ. ื’ืจื•ื™ืก ืœืึทื ื“ - ืงืœื™ื™ืŸ ื‘ื•ื“ื–ืฉืขื˜.. [ื˜ื‘ื“].

ื ื•ืœ ื‘ื™ื ืข - ืืจืืคืงืืคื™ืข. ืขืก ืื™ื– ื ืึธื•ื˜ื•ื•ืขืจื“ื™ ืึทื– ื“ื™ ื ื™ื™ึทืขืก ืึทื– ื“ื™ Elbrus OS ืื™ื– ื‘ื ื™ืžืฆื, ื’ืขืคึฟื™ืจื˜ ืึท ืืคืงืœืื ื’, ืึทื–ื•ื™ ืคื™ืœ ืึทื– ื“ื™ ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’ ืกืขืจื•ื•ืขืจ ืื™ื– ืึทืจืึธืคึผ. [TBD] ื“ืึทื ืง ืฆื• ื™ืึทื ื“ืขืงืก ืื•ืŸ ื“ื™ ื™ื ื–ืฉืขื ื™ืจ ื•ื•ืึธืก ื’ืขื“ืึทื ืง ืฆื• ืึทืจื™ื‘ืขืจืคื™ืจืŸ ืขืก ื“ืึธืจื˜. ืึทื–ื•ื™ ื“ื™ ืืจืืคืงืืคื™ืข ื’ื™ื›ืงื™ื™ึทื˜ ืื™ื– ื’ื•ื˜.

ื“ืขืจ ืขืจืฉื˜ืขืจ ื‘ื™ื ืข - ื™ื ืกื˜ืึทืœื™ืจื•ื ื’. ืื™ืš ืื™ื ืกื˜ืึทืœื™ืจืŸ ืขืก ืื•ื™ืฃ ื“ืขืจ ืขืจืฉื˜ืขืจ ื›ื™ื™ืคึผืขืจื•ื•ื™ื™ื–ืขืจ ื•ื•ืึธืก ืื™ื– ื’ืขื•ื•ืขืŸ ื‘ืืจืขื›ื˜ื™ื’ื˜ ืคึฟืึทืจ ืคืจื™ื™ ื ื•ืฆืŸ. ืื™ืš ืึทืœืึทืงื™ื™ื˜ื™ื“ ืฆื•ื•ื™ื™ ืงืึธืจืขืก, ืึท ืคึผืึธืจ ืคื•ืŸ ื‘ืึทืจืึทืŸ ื’ื™ื’ืก, 32 ืžืขื’ืื‘ื™ื™ื˜ืŸ ืคึฟืึทืจ ื•ื•ื™ื“ืขื (ืื™ืš ื’ืขื“ืึทื ืง ืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืึท ื’ืจืึทืคื™ืงืึทืœ ืฆื•ื‘ื™ื ื“). ื“ืขืจ ื“ื™ืกืง ืื™ื– ื•ื•ื™ ื’ืขื•ื•ื™ื™ื ื˜ืœืขืš - 32 ื’ื™ื’ืื‘ื™ื™ื˜.
ืื™ืš ืกื˜ืึทืจื˜ืขื“ ื“ื™ ื™ื ืกื˜ืึทืœื™ืจื•ื ื’. ืื™ืš ื”ืื‘ ื ื™ืฉื˜ ื ื•ืฆืŸ ื“ื™ ื™ื™ึทื ืžืึธื ื˜ื™ืจื•ื ื’ ื™ื ืกื˜ืจืึทืงืฉืึทื ื–, ืึทื–ื•ื™ ืื™ืš ืงืขืŸ ื ื™ืฉื˜ ื‘ืึทืžืขืจืงืŸ ืื•ื™ืฃ ืขืก. ื“ื™ TUI ื™ื™ึทื ืžืึธื ื˜ื™ืจื•ื ื’ ืฆื•ื‘ื™ื ื“ ืื™ื– ืกืึทื•ื•ื™ืจืœื™ ืžื™ื ื™ืžืึทืœื™ืกื˜ื™ืง.

ืœื™ื ื•ืงืก ื‘ืึทืงืงื•ืคึผ ืคึฟื•ืŸ Veeam ืื•ื™ืฃ Elbrus OS. ืึทืจื™ื™ึทื ืคื™ืจ ืกืึทื‘ืกื˜ื™ื˜ื•ืฉืึทืŸ ['?' | '.' | '!']
ื ื•, ื’ืจื•ื™ืก, ืžื™ืจ ืงืขื ืขืŸ ื˜ืึธืŸ ืึธืŸ ืึท ืžื•ื™ื–.

ืื™ืš ื’ืขืจืื˜ืŸ ื“ื™ ื•ื•ื™ื™ึทื˜ืขืจ ืคึฟืขื ืฆื˜ืขืจ ืื•ื™ืฃ ื“ื™ ืจื’ืข ืคึผืจื•ื‘ื™ืจืŸ. ืคืืจื•ื•ืืก ื˜ืึธืŸ ื ื™ื˜ ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ืžื™ื˜ืœ sr0 [TBD] ื•ื•ืขืŸ ื™ื ืกื˜ืึธืœื™ื ื’ ืคึฟื•ืŸ ื“ื™ืกืง?
ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ ื“ื™ ืงืึธืžืคึผืึทืงื˜ื“ื™ืกืง-ืจืึทื ืžืงื•ืจ ืื•ืŸ ืžืึทืš ืื•ื™ืฃ.

ืœื™ื ื•ืงืก ื‘ืึทืงืงื•ืคึผ ืคึฟื•ืŸ Veeam ืื•ื™ืฃ Elbrus OS. ืึทืจื™ื™ึทื ืคื™ืจ ืกืึทื‘ืกื˜ื™ื˜ื•ืฉืึทืŸ ['?' | '.' | '!']

ื•ื•ืขืŸ ืื™ืš ืกืึทืœืขืงื˜ื™ื ื’ ื“ื™ ืฆื™ื™ื˜ ื–ืึธื ืข, ืื™ืš ืคึผืœื•ืฆืœื™ื ื’ ืื™ื™ื ื’ืขื–ืขืŸ ืึทื– ื“ื™ ืกื™ืกื˜ืขื ื ื™ืฆื˜ ื“ื™ ื™ื ื™ื˜ ืฉื˜ื™ื•ื•ืœ ืคึผืจืึธืฆืขืก, ืื•ืŸ ืื™ืš ืึทืจื‘ืขื˜ ืคึฟื•ืŸ TTY0.

ืœื™ื ื•ืงืก ื‘ืึทืงืงื•ืคึผ ืคึฟื•ืŸ Veeam ืื•ื™ืฃ Elbrus OS. ืึทืจื™ื™ึทื ืคื™ืจ ืกืึทื‘ืกื˜ื™ื˜ื•ืฉืึทืŸ ['?' | '.' | '!']

ื’ื•ื˜, ืœืึธื–ืŸ ืื•ื ื“ื– ืงืœืึทืกื™ืคื™ืฆื™ืจืŸ "ืขืœื‘ืจื•ืก" ื•ื•ื™ ืึท ืงื”ืœ ืึทืœื˜ืข ื‘ืขืœื™ืขื•ื•ืขืจืก[TBD]. ืื™ืŸ ืคึผืจื™ื ืฆื™ืคึผ, ื“ืึธืก ืื™ื– ื’ื•ื˜: ืื™ืจ ื˜ืึธืŸ ื ื™ื˜ ื“ืึทืจืคึฟืŸ ืฆื• ืคืจืขื’ืŸ ืคึฟืึทืจ ื“ื™ ืžืงื•ืจ ืงืึธื“ ืฆื• ื–ืขืŸ ื•ื•ื™ ื“ื™ ืืจืืคืงืืคื™ืข ืคึผืจืึธืฆืขืก ืึทืจื‘ืขื˜, ื•ื•ื™ื™ึทืœ ืึทืœืฅ ืื™ื– ืกืงืจื™ืคึผื˜ื™ื“.

ื“ื™ ืžื ื•ื—ื” ืื™ื– ื›ึผืžืขื˜ ื ื™ื˜ ื•ื•ื™ื›ื˜ื™ืง: ืžื™ืจ ืฉื˜ืขืœืŸ ืึทืœืฅ ืื•ืŸ ืฉื˜ื™ืžืขืŸ. ืฆื•ื–ืืžืขืŸ ื“ืขื ื•ื•ืขื’, ืžื™ืจ ื’ืขืคึฟื™ื ืขืŸ ืึทื– ื“ืขืจ ืงืขืจืŸ ืื™ื– ื’ืขื ื™ืฆื˜ 3.14.79-13.84. ื”ืžื, ื“ืขื‘ื™ืึทืŸ 7 ื”ืื˜ 3.2 [ื˜ื‘ื“].

ื•ื•ื™ื™ึทื˜ืขืจ, ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ื“ื™ืกืง ืคึผืึทืจื˜ื™ืฉืึทื ื™ื ื’ ืื•ืŸ ... ืžื™ืจ ื–ืขืŸ ืึท ื•ื•ืืจืขื ื•ื ื’:

ืœื™ื ื•ืงืก ื‘ืึทืงืงื•ืคึผ ืคึฟื•ืŸ Veeam ืื•ื™ืฃ Elbrus OS. ืึทืจื™ื™ึทื ืคื™ืจ ืกืึทื‘ืกื˜ื™ื˜ื•ืฉืึทืŸ ['?' | '.' | '!']

ื”ืžืž, ืขืคืขืก ื“ื™ ืึธื˜ืึทืžืึทื˜ื™ืง ืฆืขื˜ื™ื™ืœื•ื ื’ ื”ืื˜ ื ื™ืฉื˜ ืงืึธืคึผืข ื’ืขื–ื•ื ื˜ ืžื™ื˜ ืึท 32 ื’ื™ื’ ื“ื™ืกืง. ืื™ืš ื”ืื‘ ื ื™ืฉื˜ ื˜ื•ื™ืฉืŸ ื“ืขื ื“ื™ืกืง; ืื™ืš ื’ืขืขื ื“ื™ืงื˜ ื“ื™ ื–ื•ื›ืŸ ืžื™ื˜ ืžืึทื ื•ืึทืœ ื“ื™ืกืง ืคึผืึทืจื˜ื™ืฉืึทื ื™ื ื’ ืื™ืŸ ื“ื™ "ืึทืœืข-ืื™ืŸ-ืื™ื™ืŸ" ื ื•ืกื—. ืื™ืš ื”ืื˜ ืฆื• ื™ื ืกื˜ืึทืœื™ืจืŸ ืขืงืกื˜3, ื•ื•ื™ื™ึทืœ / ืฉื˜ื™ื•ื•ืœ ืงืขืŸ ื ื™ืฉื˜ ื–ื™ื™ืŸ ืื™ืŸ ืขืงืกื˜4.
ื“ืขืจ ืกื™ืกื˜ืขื ืื™ื– ืื•ื™ืคื’ืขืงื•ืžืขืŸ ืืŸ ืื™ื ืฆื™ื“ืขื ื˜.

ืฆื•ื•ื™ื™ื˜ืข ื‘ื™ื ืข - ื–ื•ื›ืŸ ืคึฟืึทืจ ืึทืœื˜ืขืจื ืึทื˜ื™ื•ื•ืขืก.
ื ืึธืš ืจืึทืžืึทื“ื–ืฉื™ื ื’ ื“ื•ืจืš ื“ื™ ืื™ื ื”ืึทืœื˜ ืคื•ืŸ ื“ื™ ืจื’ืข ื“ื™ืกืง, ืื™ืš ืื™ื™ื ื’ืขื–ืขืŸ ืึทื– ื“ืึธืก ืื™ื– ืึท ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ืžื™ื˜ ื ืึธืš. ืื™ืŸ ืคึผืึทืงืึทื“ื–ืฉืึทื–. ืื•ืŸ ืื™ืš ืงื•ืง ื‘ื™ื™ึท /etc/apt/sources.list, ืื™ืš ืื™ื™ื ื’ืขื–ืขืŸ ืึทื– ืขืก ื“ืึทืจืฃ ื–ื™ื™ืŸ ืžืึธื•ื ื˜ืขื“ ืื™ืŸ /mnt/cdrom. ืึธื‘ืขืจ ืื™ืš ืงืขืŸ ื ื™ืฉื˜ ื’ืขืคึฟื™ื ืขืŸ /etc/os-release. ืึธื‘ืขืจ ืขืก ืื™ื– /etc/mcst-version ืžื™ื˜ ื“ื™ ืื™ื ื”ืึทืœื˜ 3.0-rc36. 3.0 ืื™ื– ืžื™ืกื˜ืึธืžืข ื“ื™ ื•ื•ืขืจืกื™ืข - ืขืก ืžื™ื™ื ื˜ ืฆื• ืคึผืึทืกื™ืง, ืึธื‘ืขืจ rc36? ืื™ืŸ ืึทืœื’ืขืžื™ื™ืŸ, ื“ืจื™ื˜-ืคึผืึทืจื˜ื™ื™ ื•ื•ื™ื™ื›ื•ื•ืืจื’ ื•ื•ืขื˜ ืจื•ื‘ึฟ ืžืกืชึผืžื ื ื™ืฉื˜ ืงืขื ืขืŸ ืฆื• ื“ืขืจืงืขื ืขืŸ ื“ืขื ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’ ืื™ืŸ ื“ื™ ืงืœืึทืกื™ืฉ ื•ื•ืขื’.

ืื™ืŸ ื“ืขืจ ื•ื•ืึธืจืฆืœ ืฆืขื˜ื™ื™ืœื•ื ื’, ื“ื™ /mcst ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืงืึทื˜ืฉืึทื– ืžื™ื™ืŸ ืื•ื™ื’, ืื•ืŸ ื“ืึธืจื˜, ืžื™ื˜ ืึท ืกื™ื ื’ืงื™ื ื’ ื”ืึทืจืฅ, ืื™ืš ื“ื™ืกืงืึทื•ื•ืขืจื“ /mcst/backup. ื“ืึธืก ืื™ื–, ืขืก ืื™ื– ืึท ื‘ืึทืงืึทืคึผ ื’ืขืฆื™ื™ึทื’ ืื•ืŸ ืขืก ืื™ื– ื’ืขื‘ื•ื™ื˜ ืื™ืŸ ื“ื™ ืกื™ืกื˜ืขื! "ื’ืจื•ื™ืก," ืื™ืš ื’ืขื“ืึทื ืง, "ืœืึธืžื™ืจ ื–ืขืŸ ื•ื•ื™ ื“ืึธืก ืึทืจื‘ืขื˜!"

ืขืก ืคืืจืงืขืจื˜ ืื•ื™ืก ืึทื– ืขืก ืื™ื– ืึท 4Kb bash ืฉืจื™ืคื˜ /mcst/bin/backup ื•ื•ืึธืก ื’ื™ื˜ ื˜ืขืงืข ืงืึทืคึผื™ื™ื ื’. ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜ - ืฆื• ื“ื™ /mcst/backup ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ. ืื™ืŸ ื“ื™ ืžืงื•ืจ ืงืึธื“ ืื™ืš ื“ืขืจื•ื•ืึทืจื˜ ืฆื• ื–ืขืŸ ื“ื™ rsync ื‘ืึทืคึฟืขืœ, ืึธื‘ืขืจ ืขืก ืื™ื– ื ื™ืฉื˜ ืื™ืŸ ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ. ื“ืขืจ ืฉืจื™ืคื˜ ืคืฉื•ื˜ ืงืึทืคึผื™ื– ื˜ืขืงืขืก. ื“ืขืจ ื‘ืึทืคึฟืขืœ ืงื•ืงื˜ ืขืคึผืขืก ื•ื•ื™ ื“ืึธืก:

cp -rpdx <file backup> <file>

ื“ื™ ื’ืื ืฆืข ื˜ืขืงืข /mcst/bin/backup ืื™ื– ื“ืึธืื™ืš ื•ื•ืึธืจืขื ืขืŸ ืื™ืจ ื’ืœื™ื™ืš ืึทื– ื“ืึธืก ืฉืจื™ืคื˜ ืึทืœื™ื™ืŸ ืื™ื– ื ื™ืฉื˜ ื’ืขื ื•ื’ ืฆื• ื’ืึธืจ ืคึฟืึทืจืฉื˜ื™ื™ืŸ. ืขืก ืคึผื•ืœื– ืคืึทื ื’ืงืฉืึทื ื– ืคึฟื•ืŸ /mcst/bin/source, ื•ื•ืึธืก ืื™ื– ืขืคึผืขืก ื•ื•ื™ ืึท ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืคื•ืŸ ืคืึทื ื’ืงืฉืึทื ื–. ืื™ืš ื”ืื‘ ืขืก ื ื™ืฉื˜ ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ (44KB).

#!/bin/bash

unalias -a

set +vx

source $(dirname $0)/source
[[ $? != 0 ]] && exit 1

OPTIONS="hvcdrRil:L:"

usage()
{
	echo "Usage: $PROG_NAME [-$OPTIONS] [backup]"
	echo "    h            - this help"
	echo "    v vv vvv     - verbose, very verbose, extremly verbose"
	echo "    c            - create backup"
	echo "    d            - diffs backup and system"
	echo "    r            - recovery system"
	echo "    R            - remove backup"
	echo "    i            - prompt before backup removing"
	echo "    l list       - additional backup files list"
	echo "    L list       - global backup files list"
	echo "    backup       - backup directory, default /mcst/backup/backup"
}

init_prog()
{
	typeset flg=0

	while getopts $OPTIONS opt
	do
		case $opt in
		h ) usage; exit 0;;
		v ) (( verbose = verbose + 1 )); set_verbose;;
		c ) flg=1; c_flg=1;;
		d ) flg=1; d_flg=1;;
		r ) flg=1; r_flg=1;;
		R ) flg=1; R_flg=1;;
		i ) i_flg=1;;
		l ) l_flg=1; list_arg="$list_arg $OPTARG";;
		L ) L_flg=1; LIST_arg="$LIST_arg $OPTARG";;
		* ) usage "Invalid option"; exit 1;;
		esac
	done

	set_verbose

	check_su

	init_variables

	shift $((OPTIND-1))

	if (( $# > 1 ))
	then
		echo_fatal "invalid arguments number, exp 0|1, act $#"
		exit 1
	fi

	[[ $# = 1 ]] && BACKUP=$1

	echo "Backup directory is $BACKUP"

	if [[ $L_flg = 1 ]]
	then
		backup_list="$LIST_arg"
	elif [[ $c_flg != 1 && $R_flg != 1 ]]
	then
		get_output_cmd "cat $BACKUP/$BACKUP_LIST_NAME"
		backup_list="$output_cmd"
	else
		get_output_cmd "get_backup_list"
		backup_list="$output_cmd"
	fi

	if [[ $l_flg = 1 ]]
	then
		backup_list="$backup_list $list_arg"
	fi

	if [[ $flg = 0 ]]
	then
		if [[ -d $BACKUP ]]
		then
			ls -laR $BACKUP
		else
			echo_info "Cannot access $BACKUP"	
		fi
		echo "backup_list=$backup_list"
		exit 0
	fi

###	echo "Backup list: $backup_list"
}

create_file()
{
	typeset f=$1 fr=$2
	typeset fb

	[[ -z $fr ]] && fr=$f

	fb=${f#/}

	fb=$BACKUP/$fb

	xcmd="rm -rf $fb"
	set_cmd "$xcmd"
	run_cmd

	xcmd="mkdir -p $fb"
	set_cmd "$xcmd"
	run_cmd

	if [[ -a $fr ]]
	then
		xcmd="cp -rpdx $fr $fb/file"
		set_cmd "$xcmd"
		run_cmd

		xcmd="touch $fb/create"
		set_cmd "$xcmd"
		run_cmd
	else
		xcmd="touch $fb/delete"
		set_cmd "$xcmd"
		run_cmd
	fi
}

diff_file()
{
	typeset f=$1
	typeset fb

	fb=${f#/}

	fb=$BACKUP/$fb

	if [[ -f $fb/delete ]]
	then
		echo_info "$f absent"
	elif [[ -f $fb/create ]]
	then
#		echo "state: create $f"

		if [[ ! -a $f ]]
		then
			echo_info "cannot access $f"
		else
			xcmd="diff -r $f $fb/file"
			echo "$xcmd"
			set_cmd "$xcmd" "" "0 1 2"
			run_cmd
		fi
	else
		echo_fatal "wrong $f backup"
		exit 1
	fi
}

recovery_file()
{
	typeset f=$1
	typeset fb

	fb=${f#/}

	fb=$BACKUP/$fb

	if [[ ! -a $fb ]]
	then
		echo_fatal "cannot access $fb"
		exit 1
	fi

	xcmd="rm -rf $f"
	set_cmd "$xcmd"
	run_cmd

	if [[ -f $fb/delete ]]
	then
		:
	elif [[ -f $fb/create ]]
	then
		xcmd="cp -rpdx $fb/file $f"
		set_cmd "$xcmd"
		run_cmd
	else
		echo_fatal "wrong $fb backup"
		exit 1
	fi
}

remove_backup()
{
	echo "Remove backup"

	if [[ ! -d $BACKUP ]]
	then
		echo_info "Cannot access $BACKUP"
		return
	fi

	if [[ ! -f $BACKUP/$BACKUP_LIST_NAME ]]
	then
		echo_fatal "$BACKUP_LIST_NAME absent, remove backup manually"
		exit 0
	fi

	answer=
	if [[ $i_flg = 1 ]]
	then
		echo -n "Remove $BACKUP directory (yes/...)?"
		read answer
	else
		answer=yes
	fi
	if [[ $answer = yes ]]
	then
		xcmd="rm -rf $BACKUP"
		set_cmd "$xcmd"
		run_cmd
	fi
}

recovery_backup()
{
	echo "Recovery system from $BACKUP" 

	for f in $backup_list
	do
		get_output_cmd "get_mount_point $f"
		mnt=$output_cmd
		get_output_cmd "is_ro_mounted $mnt"
		mnt=$output_cmd
		if [[ ! -z $mnt ]]
		then
			remount_rw_fs $mnt
		fi 
		recovery_file $f
		if [[ ! -z $mnt ]]
		then
			remount_ro_fs $mnt
		fi 
	done

	echo "The system is ready, reboot the system manually" 
}

create_backup()
{
		echo "Create backup"

		xcmd="mkdir -pm0777 $BACKUP"
		set_cmd "$xcmd"
		run_cmd

		for v in $backup_list
		do
			f=${v%%:*}
			backup_list2="$backup_list2 $f"
			fr=${v#*:}
			create_file $f $fr
		done
		echo "$backup_list2" >$BACKUP/$BACKUP_LIST_NAME
}

diff_backup()
{
	echo "Diffs system and backup" 

	if [[ ! -d $BACKUP ]]
	then
		echo_fatal "cannot access $BACKUP"
		exit 1
	fi

	for f in $backup_list
	do
		diff_file $f
	done
}

main()
{
	typeset f mnt mnt_list answer

	if [[ $R_flg = 1 ]]
	then
		remove_backup
	fi

	if [[ $r_flg = 1 ]]
	then
		recovery_backup
	fi

	if [[ $c_flg = 1 ]]
	then
		create_backup
	fi

	if [[ $d_flg = 1 ]]
	then
		diff_backup
	fi
}

init_prog "$@"

main

exit 0

ื›ืื˜ืฉ, ืืคืฉืจ ื”ืื‘ ืื™ืš ืขืคืขืก ื ื™ืฉื˜ ืคืืจืฉื˜ืื ืขืŸ? ืืคึฟืฉืจ ืขืžืขืฆืขืจ ืงืขื ืขืŸ ื“ืขืจืงืœืขืจืŸ ืื™ืŸ ื“ื™ ื‘ืึทืžืขืจืงื•ื ื’ืขืŸ: ื•ื•ื™ ื˜ื•ื˜ ื“ืขื ืฉืจื™ืคื˜ ืขื ืฉื•ืจ ื–ื™ื›ืขืจ ืื•ืŸ ืคืึทืจืœืึธื–ืœืขืš ื“ืึทื˜ืŸ ื‘ืึทืงืึทืคึผ? [TBD]

rsync, ื“ื•ืจืš ื“ืขื ื•ื•ืขื’, ืื™ื– ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืื™ืŸ ื“ื™ ืึทื“ื™ืฉืึทืŸ. ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ื–. ื•ื•ืขืจืกื™ืข 3.1.3. ืื™ืš ื˜ืจืึทื›ื˜ืŸ ื ื™ืฆืŸ rsync ืื™ื– ื ืึธืš ืึท ื‘ืขืกืขืจ ืึธืœื˜ืขืจื ืึทื˜ื™ื•ื• ืฆื• ื“ื™ /mcst/bin/backup ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ.

ื•ื•ื™ื™ึทื˜ืขืจ, ืื™ืš ื‘ืึทืฉืœืึธืกืŸ ืฆื• ืฉื˜ืขืœืŸ ืึท ืคืจื™ืฉ Veeam ืึทื’ืขื ื˜ ืคึฟืึทืจ ืœื™ื ื•ืงืก. ืขืžืขืฆืขืจ ื•ื•ืขื˜ ืคืจืขื’ืŸ: "ื•ื•ืึธืก ื˜ื•ื˜ Veeam ืื•ืŸ ื™ืžืคึผืึธืจื˜ ืกืึทื‘ืกื˜ื™ื˜ื•ืฉืึทืŸ ื”ืึธื‘ืŸ ืฆื• ื˜ืึธืŸ ืžื™ื˜ ืื™ื?" ื™ืึธ, ืขืก ืื™ื– ื ื™ืฉื˜ ืื™ืŸ ื“ื™ ืจืขื’ื™ืกื˜ืจื™ืจืŸ, ืึธื‘ืขืจ ืขืก ืื™ื– ืกืขืจื˜ืึทืคื™ื™ื“ ื“ื•ืจืš FSTEC, ื•ื•ืึธืก ืžื™ื˜ืœ ืึทื– ืื™ืŸ ื“ืขืจ ืึทื•ื•ืขืง ืคื•ืŸ ืึทืœื˜ืขืจื ืึทื˜ื™ื•ื•ืขืก ืขืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜. ืกืคึผืขื ื“ื™ื ื’ ืคื•ืคืฆืŸ ืžื™ื ื•ื˜ ืื•ื™ืฃ ืึทืœื˜ืขืจื ืึทื˜ื™ื•ื•ืขืก ืคื•ืŸ ืจืขื’ื™ืกื˜ืจื™, ืื™ืš ืื™ื– ื’ืขื•ื•ืขืŸ ื‘ื™ื›ื•ืœืช ืฆื• ื’ืขืคึฟื™ื ืขืŸ 3 ืœื™ื ืงืก ืคึฟืึทืจ ื“ื™ ื•ื•ืึธืจื˜ "ื‘ืึทืงืงื•ืคึผ" (ืงื™ื™ื ืขืจ ืฉื™ื™ึทื›ื•ืช ืฆื• ืžื™ื™ืŸ ืงืฉื™ื ืคึฟืึทืจ ื“ื™ ื•ื•ืึธืจื˜ "ืจืขื–ืขืจื•ื•"). ืื™ืš ื”ืื‘ ื ื™ืฉื˜ ื“ื•ืจื›ื’ืขืงืึธื›ื˜ ืึท ื˜ื™ืฃ ืึทื ืึทืœื™ืกื™ืก ืคื•ืŸ ื“ื™ ืžื’ื™ืœื”, ืึทื–ื•ื™ ืื™ืš ื•ื•ืขืœ ื ื™ืฉื˜ ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ืจื™ื›ื˜ืขืจ ื•ื•ื™ ืคึผืึทืกื™ืง ื–ื™ื™ ื–ืขื ืขืŸ ืคึฟืึทืจ ื‘ืึทืงื™ื ื’ ืžืืฉื™ื ืขืŸ ืžื™ื˜ ืœื™ื ื•ืงืก. ื•ื•ืขืจ ืขืก ื“ืึทืจืฃ ืขืก ื•ื•ืขื˜ ืฆื™ืขืŸ ื–ื™ื™ืŸ ืื™ื™ื’ืขื ืข ืžืกืงื ื ืื•ืŸ ื˜ื™ื™ืœืŸ ืขืก ืื™ืŸ ื“ื™ ื‘ืึทืžืขืจืงื•ื ื’ืขืŸ.

ื‘ื™ื ืข ื“ืจื™ื™ - ื™ื ืกื˜ืึทืœื™ืจื•ื ื’ ืคื•ืŸ Veeam Agent ืคึฟืึทืจ ืœื™ื ื•ืงืก.
ืึทื–ื•ื™, Veeam Agent for Linux ื‘ืืฉื˜ื™ื™ื˜ ืคื•ืŸ ืฆื•ื•ื™ื™ ืคึผืึทืงืึทื“ื–ืฉืึทื–: ื“ื™ veeamsnap ืงืขืจืŸ ืžืึธื“ื•ืœืข (ืื’ื‘, ืžืงื•ืจ ื“ืึธ) ืื•ืŸ ืคึผืจืึทืคึผืจื™ื™ืึทื˜ืขืจื™ ื‘ืึทื ื™ืฆืขืจ-ืคึผืœืึทืฅ ืงืึธื“ ืื™ืŸ ื“ื™ ืคืึธืจืขื ืคื•ืŸ ื“ื™ veeam ืคึผืขืงืœ.

ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ืื™ื™ืŸ ืงืœื™ื™ืŸ ืคึผืจืึธื‘ืœืขื ืžื™ื˜ ื™ื ืกื˜ืึธืœื™ื ื’ ื“ื™ ืงืขืจืŸ ืžืึธื“ื•ืœืข - ื“ื™ ืคืขืœื ื“ื™ืง DKMS ืคึผืขืงืœ. ื“ืึธืก ืื™ื– ืึท ื“ื™ื ืกื˜ ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื‘ื•ื™ืขืŸ ืงืขืจืŸ ืžืึทื“ื–ืฉื•ืœื– ืคึฟื•ืŸ ืžืงื•ืจ. ื•ื•ื™ ืึท ื”ืขืจืฉืŸ, ืขืก ืื™ื– ื‘ื ื™ืžืฆื ืื•ื™ืฃ ืึทืœืข ื“ืขื‘ ื“ื™ืกื˜ืจื™ื‘ื™ื•ืฉืึทื ื–. ืื™ืš ื”ืื˜ ืฆื• ืึธืคึผืœืึธื“ื™ืจืŸ ืขืก ืคื•ืŸ ืึท ื“ืจื™ื˜-ืคึผืึทืจื˜ื™ื™ ื“ืขื‘ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™. ืื™ื™ืŸ ื–ืึทืš ื•ื•ืึธืก ื”ืึธื˜ ืžื™ืจ ืฆื•ืคืจื™ื“ืŸ ืื™ื– ืึทื– ื“ืขืจ ืคึผืขืงืœ ืื™ื– ื ื™ืฉื˜ ืึธืคืขื ื’ืขืŸ ืื•ื™ืฃ ื“ื™ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ, ืึทื–ื•ื™ ืขืก ืคื™ืฅ ื•ื•ื™ ืึท ื’ืขื‘ื•ื™ืจืŸ ืื™ื™ื ืขืจ. ืคืืจื•ื•ืืก ืื™ื– ืขืก ื ื™ืฉื˜ ื™ื ืงืœื•ื“ืขื“ ืื™ืŸ ื“ืขืจ ืจืฉื™ืžื” ืคื•ืŸ ื‘ื ื™ืžืฆื ืคึผืึทืงืึทื“ื–ืฉืึทื–, ืึธื“ืขืจ ื’ืึทื ืฅ ื ื™ืฉื˜ ื“ืขื•ื•ืขืœืึธืคึผืขื“ [ื˜ื‘ื“]? ื˜ืึธืžืขืจ ืขืก ืื™ื– ืื ื’ืขื ื•ืžืขืŸ ืึทื– ืงื™ื™ืŸ ืื™ื™ื ืขืจ ื–ืึธืœ ื‘ื•ื™ืขืŸ ืื•ืŸ ืœื•ื™ืคืŸ ืงื™ื™ืŸ ื ื™ื˜-MCST ืงืขืจืŸ ืžืึทื“ื–ืฉื•ืœื–. ืขืก ืื™ื– ื˜ืึทืงืข ืึท ื“ื™ืกืงืจืขืคึผืึทื ืกื™ ื“ืึธ - ื–ื™ื ื˜ ืขืก ื–ืขื ืขืŸ ืœื™ื ื•ืงืก ื›ืขื“ืขืจื–. ืึทื– ืื™ื–, ื“ื™ ืžืึธื“ื•ืœืข, ืื•ื™ื‘ ื’ืขื•ื•ืืœื˜, ืงืขื ืขืŸ ื–ื™ื™ืŸ ืคืืจื–ืืžืœื˜ ืžื™ื˜ ื”ืึทื ื˜ ืื•ืŸ ืœืึธื ื˜ืฉื˜ ื“ื•ืจืš ืึท ืฉืจื™ืคื˜ ื•ื•ืขืŸ ื“ื™ ืžืึทืฉื™ืŸ ืกื˜ืึทืจืฅ. ืื™ืš ื˜ืจืึทื›ื˜ืŸ ืื™ืจ ื–ืึธืœ ื ื™ืฉื˜ ื“ืขืจื•ื•ืึทืจื˜ืŸ ืึธืคื˜ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื•ื ื’ืขืŸ ืคื•ืŸ MCST [TBD].

"ื’ื•ื˜, ื“ืขืจ ืžืึธื“ื•ืœืข ืื™ื– ืื™ื ืกื˜ืึทืœื™ืจืŸ - ื“ื™ ื›ืึทืจื“ืึทืกื˜ ื˜ื™ื™ืœ ืื™ื– ืื™ื‘ืขืจ," ืื™ืš ื’ืขื“ืึทื ืง ... ื“ื™ veeam ืคึผืขืงืœ ืคึฟืึทืจ ื“ื™ ื“ืขื‘ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ืื™ื– ืคึฟืึทืจ ื“ื™ ืึทืžื“64 ืคึผืœืึทื˜ืคืึธืจืžืข, ืื•ืŸ ื“ื™ ืขืœื‘ืจื•ืก ืึทืก ื”ืื˜ ืึทืŸ x86_64 [TBD] ืคึผืœืึทื˜ืคืึธืจืžืข. ื“ืขืจ ื—ื™ืœื•ืง, ืคื•ืŸ ืงื•ืจืก, ืื™ื– ื‘ืœื•ื™ื– ืื™ืŸ ื“ืขื ื ืึธืžืขืŸ, ืึธื‘ืขืจ ื“ืขื ื—ื™ืœื•ืง ืžืื›ื˜ ื›ึผืžืขื˜ ืึทืœืข ืคึผืึทืงื™ื“ื–ืฉื™ื– ืคื•ืŸ ื“ืจื™ื˜-ืคึผืึทืจื˜ื™ื™ ื“ืขื‘ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ื– ื™ื ืงืึทืžืคึผืึทื˜ืึทื‘ืึทืœ ืžื™ื˜ ื“ื™ Elbrus OS. ื“ืขื ืึทื ื•ื™ื™ื ื’ ืžื™ืกืึทื ื“ืขืจืกื˜ืึทื ื“ื™ื ื’ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื™ืœื™ืžืึทื ื™ื™ื˜ืึทื“ ืคืฉื•ื˜: ื ืึธืจ ื“ื™ืกืึทืกืขืžื‘ืึทืœ ื“ื™ ืคึผืขืงืœ, ืจื™ื›ื˜ื™ืง ื“ื™ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื“ื™ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ ืื•ืŸ ืฉื˜ืขืœืŸ ืขืก ืฆื•ืจื™ืง. ื•ื•ื™ ืฆื• ื˜ืึธืŸ ืขืก ื’ื•ื’ืœ ืขืก ื˜ื™ื™ืงืขืฃ.

mkdir tmp
dpkg-deb -R original.deb tmp
# edit DEBIAN/postinst
dpkg-deb -b tmp fixed.deb

ืืŸ ืื ื“ืขืจ ืคึผืจืึธื‘ืœืขื ืื™ื– ื“ื™ืคึผืขื ื“ืึทื ืกื™ื–. ื“ื™ ื ื™ื™ื˜ื™ืง ื˜ืขืงืขืก ื•ื™ืกืงื•ืžืขืŸ ืฆื• ื–ื™ื™ืŸ ื“ืึธืจื˜, ืึธื‘ืขืจ ื“ื™ ืคึผืึทืงืึทื“ื–ืฉืึทื– ื–ืขื ืขืŸ ื ื™ืฉื˜. ื“ืขืจ ืจื•ืฉื ืื™ื– ื’ืขื•ื•ืขืŸ ืึทื– ื“ื™ ื ืขืžืขืŸ ืคื•ืŸ ื“ื™ ืคึผืึทืงืึทื“ื–ืฉืึทื– ื–ืขื ืขืŸ ืึทื ื“ืขืจืฉ ืคื•ืŸ ื–ื™ื™ืขืจ "ื™ืžืคึผืึธืจื˜ื™ื“ ืึทื ืึทืœืึธื’ื•ืขืก". ื˜ืึธืžืขืจ ื“ื™ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ื–ืขื ืขืŸ ืคึผืึทืงื™ื“ื–ืฉื“ ืึทื ื“ืขืจืฉ. ืื™ืš ื”ืื‘ ื ื™ืฉื˜ ืฆื• ืคื™ืœ ื“ืขื˜ืึทืœ, ืึทื•ื•ืขืงื’ืขื ื•ืžืขืŸ ื›ึผืžืขื˜ ืึทืœืข ื“ื™ ื“ื™ืคึผืขื ื“ืึทื ืกื™ื– ืื•ืŸ ื“ื™ ื™ื ืกื˜ืึทืœื™ืจื•ื ื’ ืื™ื– ื’ืขื•ื•ืขืŸ ืคืึธืจื•ื™ืก.

ื“ืขืžืึธืœื˜ ืคึผืจืึธื‘ืœืขืžืก ื™ืžืขืจื“ื–ืฉื“ ืžื™ื˜ ื“ื™ ื“ื™ื ืกื˜ ืึธื ื”ื™ื™ื‘ ืงืึธื“. ื“ืขืจ ืฉืจื™ืคื˜ /lib/init/vars.sh ืื™ื– ืคืขืœื ื“ื™ืง. ืคึฟืึทืจ ืขื˜ืœืขื›ืข ืกื™ื‘ื”, Elbrus ืžืึทื ื™ื“ื–ืฉื™ื– ืึธืŸ ืขืก, ืึทื–ื•ื™ ืžื™ืจ ื•ื•ืขืœืŸ ืื•ื™ืš ื‘ืึทื–ื™ื™ึทื˜ื™ืงืŸ ืขืก. ื“ืขืจื ืึธืš, ืžื™ืจ ื”ืึธื‘ืŸ ืฆื• ืคืึทืจื‘ื™ื™ึทื˜ืŸ ื“ื™ ืึธื ื–ืึธื’ ืจืขื–ื•ืœื˜ืึทื˜ ืคื•ื ืงืฆื™ืข: ื“ื™ ืœืึธื’_ื“ืึทืขืžืึธืŸ_ืžืกื’ ืื•ืŸ ืœืึธื’_ืขื ื“_ืžืกื’ ืคืึทื ื’ืงืฉืึทื ื– ื–ืขื ืขืŸ ืคืขืœื ื“ื™ืง. ื ืึธืš ืจืึทืžืึทื“ื–ืฉื™ื ื’ ืึทืจื•ื ืื™ืŸ ื“ื™ /lib/lsb/init-functions ื˜ืขืงืข, ืื™ืš ื’ืขืคึฟื•ื ืขืŸ ื“ื™ log_success_msg ืคึฟื•ื ืงืฆื™ืข - ืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ื’ื•ื˜ ืคึฟืึทืจ ืื•ื ื“ื– ืคึฟืึทืจ ื™ืงืกืคึผืขืจืึทืžืึทื ืฅ. ืื’ื‘, ืื™ืŸ ื“ื™ /lib/lsb/init-functions ื˜ืขืงืข ื“ื™ ืฉื•ืจื” "# Source SuSE ืก rc ืคืึทื ื’ืงืฉืึทื ื–" ืื™ื– ืื™ืŸ ื“ื™ ืึธื ื”ื™ื™ื‘ ืคื•ืŸ ื“ื™ [TBD] ื˜ืขืงืข.

ื ืึธืš ืึทื–ืึท ืคึผืจืึธืกื˜ ืคึผืจืึทืกืขืกื™ื ื’ ืคื•ืŸ ื“ืขื ืคึผืขืงืœ ืžื™ื˜ ืึท ื˜ืขืงืข, ื“ื™ ื’ืื ืฆืข ืžืึทืฉื™ืŸ ื‘ืึทืงืึทืคึผ ืื•ื™ืฃ ื“ื™ NFS ื™ื™ึทื ื˜ื™ื™ืœืŸ ืื™ื– ื”ืฆืœื—ื” ืœืึธื ื˜ืฉื˜. ื“ื™ ื‘ืึทืงืึทืคึผ ื‘ืืจื’ ืื™ื– ืื•ื™ืš ื’ืขืจืึธื˜ืŸ. ืึทื–ื•ื™, ืื™ืš ื’ืœื•ื™ื‘ืŸ, ืคึฟืึทืจ ื‘ืึทืงื™ื ื’ ืึทืจื•ื™ืฃ ืึท ืžืึทืฉื™ืŸ ืžื™ื˜ ื“ื™ Elbrus PDK, ื“ืึทื•ื ืœืึธื•ื“ื™ื“ "ืคึผื•ื ืงื˜ ื•ื•ื™ ืึทื–" ืึธืŸ ืงื™ื™ืŸ ืึทื‘ืœืึทื’ื™ื™ืฉืึทื ื–, Veeam Agent for Linux ืื™ื– ื‘ืืฉื˜ื™ืžื˜ ืคึผืึทืกื™ืง. ืืคื™ืœื• ื ืึธืš ืึทืœืข ื“ื™ ืžืึธื“ื™ืคื™ืงืึทื˜ื™ืึธื ืก ืžื™ื˜ ืึท ื˜ืขืงืข.

ืคื•ืŸ ืงื•ืจืก, ื“ื™ Elbrus OS ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’ ื™ื ื•ื•ืขื ื˜ืึทืจ ืื™ื– ื ื™ืฉื˜ ืคืึธืจืžืึทืœื™ ื’ืขืฉื˜ื™ืฆื˜, ื•ื•ื™ื™ึทืœ ืขืก ืื™ื– ื ื™ืฉื˜ ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืื™ืŸ ื“ืขืจ ืจืฉื™ืžื” ืคื•ืŸ ืฉื˜ื™ืฆื˜. ืื™ืŸ ืึทื“ื™ืฉืึทืŸ, Veeam Agent for Linux ืื™ื– ื ื™ืฉื˜ ื˜ืขืกื˜ืขื“ ืื•ื™ืฃ ืขืก ื“ื•ืจืš ื“ื™ QA ืึธืคึผื˜ื™ื™ืœื•ื ื’, ืึทื–ื•ื™ ื“ื™. ืขืก ืื™ื– ืงื™ื™ืŸ ืฉื˜ื™ืฆืŸ (ืœืคึผื—ื•ืช ืื™ืŸ ื“ืขืจ ืฆื™ื™ื˜ ืคื•ืŸ ืืจื•ื™ืกื’ืขื‘ืŸ ืคื•ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ).

ืื™ืš ื”ืืฃ ืื– ื“ืขืจ ืืจื˜ื™ืงืœ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื ื•ืฆืœื™ืš ืคืืจ ื“ื™ ื•ื•ืืก ืคืจื•ื‘ื™ืจืŸ ืื™ื™ื ืฆื•ืคื™ืจืŸ ื‘ืืคืขืœ ื ื•ืžืขืจ 334 ืคื•ืŸ 29.06.2017 ื™ื•ื ื™ XNUMX. ืžื™ื™ึทืŸ ืฆื• ืื™ืจ ... [ื˜ื‘ื“].

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’