Elbrus OS เชชเชฐ Veeam เชฎเชพเช‚เชฅเซ€ Linux เชฌเซ‡เช•เช…เชช. เช†เชฏเชพเชค เช…เชตเซ‡เชœเซ€ ['?' | '.' | '!']

เชฌเชงเชพ เชจเซ‡ เชจเชฎเชธเซเช•เชพเชฐ.
เชนเซ‡เชฌเซเชฐเซ‡ เชชเชฐ เชคเชพเชœเซ‡เชคเชฐเชจเชพ เชฒเซ‡เช–เซ‹ เชตเซเชฏเชตเชนเชพเชฐเชฎเชพเช‚ เช†เชฏเชพเชค เช…เชตเซ‡เชœเซ€. เชญเชพเช— 1. เชตเชฟเช•เชฒเซเชชเซ‹ ะธ เชธเช‚เช—เซ€เชค เชฒเชพเช‚เชฌเชพ เชธเชฎเชฏ เชธเซเชงเซ€ เชตเช—เชพเชกเซเชฏเซเช‚ เชจ เชนเชคเซเช‚... เช…เชฅเชตเชพ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ Elbrus OS เช•เซเชฏเชพเชฐเซ‡เชฏ เชฎเซเช•เซเชค เชฌเชจเซเชฏเซเช‚ เชจเชนเซ€เช‚ เชฎเชจเซ‡ เช‰เชฆเชพเชธเซ€เชจ เช›เซ‹เชกเซเชฏเซ‹ เชจเชนเซ€เช‚. เชฎเซ‡เช‚ เชฌเซ‡เช•เช…เชช เช•เชพเชฐเซเชฏเชจเชพ เชธเช‚เชฆเชฐเซเชญเชฎเชพเช‚ เช† เชฎเซเชฆเซเชฆเชพเชจเซ‹ เช…เชญเซเชฏเชพเชธ เช•เชฐเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚. เชตเชงเซเชฎเชพเช‚, เชฎเชพเช‚ เช† เชฒเซ‡เช– เชตเซ€เชฎ เชธเซ‰เชซเซเชŸเชตเซ‡เชฐ เช‰เชคเซเชชเชพเชฆเชจเซ‹เชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡, เชœเซ‡เชจเซ‹ เช…เชฐเซเชฅ เช›เซ‡ เช•เซ‡ เช† เชฎเซเชฆเซเชฆเซ‹ เช†เชฏเชพเชค เช…เชตเซ‡เชœเซ€เชจเชพ เชธเช‚เชฆเชฐเซเชญเชฎเชพเช‚ เช–เชพเชธ เช•เชฐเซ€เชจเซ‡ เชธเช‚เชฌเช‚เชงเชฟเชค เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡.

Elbrus OS เชชเชฐ Veeam เชฎเชพเช‚เชฅเซ€ Linux เชฌเซ‡เช•เช…เชช. เช†เชฏเชพเชค เช…เชตเซ‡เชœเซ€ ['?' | '.' | '!']
เชฎเซ‚เชณ เช›เชฌเซ€ เชธเซเชคเซเชฐเซ‹เชค

เชธเซŒ เชชเซเชฐเชฅเชฎ, เชฎเซ‡เช‚ เชเชฒเซเชฌเซเชฐเชธ เช“เชเชธ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚, เช…เชฅเชตเชพ เชคเซ‡เชจเชพ เชฌเชฆเชฒเซ‡, เชซเช•เซเชค x86_64 เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เชฎเชพเชŸเซ‡ เช‰เชชเชฒเชฌเซเชง เชตเชฟเชคเชฐเชฃ, เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ เชœเซเช“, เช…เชจเซ‡ เชคเซ‡เชจเชพ เชชเชฐ Linux เชฎเชพเชŸเซ‡ Veeam เชเชœเชจเซเชŸ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ‹. เชœเซ‹ เชคเชฎเชพเชฐเซ‡ เชœเชพเชฃเชตเซเช‚ เชนเซ‹เชฏ เช•เซ‡ เช†เชฎเชพเช‚เชฅเซ€ เชถเซเช‚ เชฌเชนเชพเชฐ เช†เชตเซเชฏเซเช‚ เช›เซ‡, เชคเซ‹ เช•เซƒเชชเชพ เช•เชฐเซ€เชจเซ‡ เชฌเชฟเชฒเชพเชกเซ€ เชœเซเช“.

เชคเซ‡เชฅเซ€, เชเช• เชจเชพเชจเซเช‚ เชตเชฟเชทเชฏเชพเช‚เชคเชฐ, เชœเซ‹ เช•เซ‹เชˆเชจเซ‡ เช–เชฌเชฐ เชจ เชนเซ‹เชฏ. "เชเชฒเซเชฌเซเชฐเชธ" เชเชตเซเช‚ เช›เซ‡ เชธเซ€.เชชเซ€. เชฏเซ เชเช• เชœเช—เซเชฏเชพเช เชšเซ‹เช•เซเช•เชธ เช†เชฆเซ‡เชถ เชธเชฟเชธเซเชŸเชฎ เชธเชพเชฅเซ‡. เชคเซ‡ เช‰เชชเชฐเชพเช‚เชค, Elbrus OS เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เช›เซ‡. เช…เชจเซ‡ - เชฒเซ‹เช•เชชเซเชฐเชฟเชฏ เชฎเชพเชจเซเชฏเชคเชพเชฅเซ€ เชตเชฟเชชเชฐเซ€เชค - เชเชฒเซเชฌเซเชฐเชธ เช“เชเชธเชจเซ‡ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡, เชเชฒเซเชฌเซเชฐเชธ เชชเซเชฐเซ‹เชธเซ‡เชธเชฐ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เชนเชพเชฐเซเชกเชตเซ‡เชฐ เชธเชฟเชธเซเชŸเชฎ เชนเซ‹เชตเซ€ เชœเชฐเซ‚เชฐเซ€ เชจเชฅเซ€. x86 เชฎเชพเชŸเซ‡ โ€œPDK โ€œElbrusโ€ เช›เซ‡ - เชนเช•เซ€เช•เชคเชฎเชพเช‚, เชคเซ‡ เชธเชพเชฐเซเชตเชœเชจเชฟเช• เชกเซ‹เชฎเซ‡เชจเชฎเชพเช‚ เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เชกเชฟเชธเซเช•เชจเชพ เชฐเซ‚เชชเชฎเชพเช‚ เชฆเซ‡เช–เชพเชฏ เช›เซ‡. เชฎเชพเชฐเซเช— เชฆเซเชตเชพเชฐเชพ, เชคเซเชฏเชพเช‚ เชเช• เชซเซ‚เชŸเชจเซ‹เชŸ เช›เซ‡ โ€œPDK - เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เช•เซ€เชŸ, เชกเซ‡เชตเชฒเชชเชฐ เช•เซ€เชŸโ€ - เชธเชฐเชธ, เชคเซ‡เชจเซ‹ เช…เชฐเซเชฅ เช เช•เซ‡ เชคเซเชฏเชพเช‚ เช“เช›เชพเชฎเชพเช‚ เช“เช›เซเช‚ เชเช• เช•เชฎเซเชชเชพเช‡เชฒเชฐ เช›เซ‡.

เชฌเซ€เชœเซ€ เชจเชพเชจเซ€ เชซเชฐเชœเชฟเชฏเชพเชค เชชเซ€เช›เซ‡เชนเช . เชนเช•เซ€เช•เชค เช เช›เซ‡ เช•เซ‡ เชฎเซ‡เช‚ เชเช•เชตเชพเชฐ เช˜เชฐเซ‡เชฒเซเช‚ เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ, เชœเซ‡เชฎ เช•เซ‡ MSVS เช…เชจเซ‡ Baguette RTOS เชธเชพเชฅเซ‡ เชตเซเชฏเชตเชนเชพเชฐ เช•เชฐเซเชฏเซ‹ เชนเชคเซ‹. เชฎเชจเซ‡ MCST เชจเชพ เชชเซเชฐเซ‹เชธเซ‡เชธเชฐ เชธเชนเชฟเชค เช˜เชฐเซ‡เชฒเซเช‚ เช˜เชŸเช•เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซ‹ เช…เชจเซเชญเชต เชนเชคเซ‹. เชคเซ‡เชฅเซ€, เชนเซเช‚ เชธเช‚เชชเซ‚เชฐเซเชฃ เชœเชตเชพเชฌเชฆเชพเชฐเซ€ เชธเชพเชฅเซ‡ เช•เชนเซ€ เชถเช•เซเช‚ เช›เซเช‚ เช•เซ‡ เช† เช•เซเชทเซ‡เชคเซเชฐเชฎเชพเช‚ เชšเซ‹เช•เซเช•เชธ เชตเชฟเชถเชฟเชทเซเชŸเชคเชพ เช›เซ‡ เช…เชจเซ‡ เชนเซเช‚ เชฒเซ‡เช–เชฎเชพเช‚ เชคเซ‡เชจเซ‡ เชธเซเชชเชฐเซเชถ เชจ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€เชถ. เชœเซเชฏเชพเชฐเซ‡ เชนเซเช‚ เช–เชฐเซ‡เช–เชฐ เชˆเชšเซเช›เซเช‚ เช›เซเช‚, เชคเซเชฏเชพเชฐเซ‡ เชนเซเช‚ [TBD] เชŸเซ‡เช— เชฎเซ‚เช•เซ€เชถ. เชคเซ‡เชฅเซ€ เช…เชฎเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชŸเซเชฐเซ‹เชฒเชฟเช‚เช— เช…เชจเซ‡ เชฎเชพเชฎเซ‚เชฒเซ€ เชตเชฟเชฒเชพเชช เชตเชฟเชจเชพ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€เชถเซเช‚. เช…เช‚เชคเซ‡, เชฐเชถเชฟเชฏเชจ เชธเช‚เชฐเช•เซเชทเชฃ เช‰เชฆเซเชฏเซ‹เช— เช…เชจเซ‡ เชธเชฐเช•เชพเชฐเซ€ เชเชœเชจเซเชธเซ€เช“เชจเซ‡ เชธเชฎเชœเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชฎเซ‹เชŸเซ‹ เชฆเซ‡เชถ - เชจเชพเชจเซเช‚ เชฌเชœเซ‡เชŸ.. [TBD].

เชถเซ‚เชจเซเชฏ เชธเซเชŸเซ‡เชœ - เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเซ‹. เชจเซ‹เช‚เชงเชจเซ€เชฏ เช›เซ‡ เช•เซ‡ Elbrus OS เช‰เชชเชฒเชฌเซเชง เชฅเชฏเชพเชจเชพ เชธเชฎเชพเชšเชพเชฐเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เชเช• เชชเชกเช˜เซ‹ เชชเชกเซเชฏเซ‹, เชœเซ‡เชฅเซ€ เชตเชฟเชคเชฐเชฃ เชธเชฐเซเชตเชฐ เชกเชพเช‰เชจ เชฅเชˆ เช—เชฏเซเช‚. [TBD] Yandex เช…เชจเซ‡ เชเชจเซเชœเชฟเชจเชฟเชฏเชฐเชจเซ‹ เช†เชญเชพเชฐ เช•เซ‡ เชœเซ‡เชฎเชฃเซ‡ เชคเซ‡เชจเซ‡ เชคเซเชฏเชพเช‚ เช–เชธเซ‡เชกเชตเชพเชจเซเช‚ เชตเชฟเชšเชพเชฐเซเชฏเซเช‚. เชคเซ‡เชฅเซ€ เชกเชพเช‰เชจเชฒเซ‹เชก เชธเซเชชเซ€เชก เชธเชพเชฐเซ€ เช›เซ‡.

เชชเซเชฐเชฅเชฎ เชคเชฌเช•เซเช•เซ‹ - เชธเซเชฅเชพเชชเชจ. เชฎเซ‡เช‚ เชคเซ‡เชจเซ‡ เชชเซเชฐเชฅเชฎ เชนเชพเช‡เชชเชฐเชตเชพเช‡เชเชฐ เชชเชฐ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซเชฏเซเช‚ เชœเซ‡ เชฎเชซเชค เช‰เชชเชฏเซ‹เช— เชฎเชพเชŸเซ‡ เช‰เชชเชฒเชฌเซเชง เชนเชคเซเช‚. เชฎเซ‡เช‚ เชตเชฟเชกเชฟเชฏเซ‹ เชฎเชพเชŸเซ‡ เชฌเซ‡ เช•เซ‹เชฐเซ‹, เชฐเซ‡เชฎเชจเชพ เชฌเซ‡ เช—เซ€เช—เซเชธ, 32 MB (เชคเซเชฏเชพเช‚ เชเช• เช—เซเชฐเชพเชซเชฟเช•เชฒ เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เชนเชถเซ‡, เชฎเซ‡เช‚ เชตเชฟเชšเชพเชฐเซเชฏเซเช‚) เชซเชพเชณเชตเซเชฏเชพ เช›เซ‡. เชกเชฟเชธเซเช• เชนเช‚เชฎเซ‡เชถเชจเซ€ เชœเซ‡เชฎ เช›เซ‡ - 32 เชœเซ€เชฌเซ€.
เชฎเซ‡เช‚ เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚. เชฎเซ‡เช‚ เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เชธเซ‚เชšเชจเชพเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเซ‹ เชจเชฅเซ€, เชคเซ‡เชฅเซ€ เชนเซเช‚ เชคเซ‡เชจเชพ เชชเชฐ เชŸเชฟเชชเซเชชเชฃเซ€ เช•เชฐเซ€ เชถเช•เชคเซ‹ เชจเชฅเซ€. TUI เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เช—เช‚เชญเซ€เชฐ เชฐเซ€เชคเซ‡ เชจเซเชฏเซ‚เชจเชคเชฎ เช›เซ‡.

Elbrus OS เชชเชฐ Veeam เชฎเชพเช‚เชฅเซ€ Linux เชฌเซ‡เช•เช…เชช. เช†เชฏเชพเชค เช…เชตเซ‡เชœเซ€ ['?' | '.' | '!']
เชธเชพเชฐเซเช‚, เชธเชฐเชธ, เช†เชชเชฃเซ‡ เชฎเชพเช‰เชธ เชตเชฟเชจเชพ เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช.

เชฎเซ‡เช‚ เชฌเซ€เชœเชพ เชชเซเชฐเชฏเชพเชธเชฎเชพเช‚ เช†เช—เชฒเซ€ เชตเชฟเช‚เชกเซ‹เชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเซเชฏเซเช‚. เชกเชฟเชธเซเช•เชฎเชพเช‚เชฅเซ€ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชกเชฟเชซเซ‰เชฒเซเชŸ เช‰เชชเช•เชฐเชฃ sr0 [TBD] เช•เซ‡เชฎ เชชเชธเช‚เชฆ เช•เชฐเชถเซ‹ เชจเชนเซ€เช‚?
CD-ROM เชธเซเชคเซเชฐเซ‹เชค เชชเชธเช‚เชฆ เช•เชฐเซ‹ เช…เชจเซ‡ เช†เช—เชณ เชตเชงเซ‹.

Elbrus OS เชชเชฐ Veeam เชฎเชพเช‚เชฅเซ€ Linux เชฌเซ‡เช•เช…เชช. เช†เชฏเชพเชค เช…เชตเซ‡เชœเซ€ ['?' | '.' | '!']

เชธเชฎเชฏ เชเซ‹เชจ เชชเชธเช‚เชฆ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชฎเชจเซ‡ เช…เชšเชพเชจเช• เชธเชฎเชœเชพเชฏเซเช‚ เช•เซ‡ เชธเชฟเชธเซเชŸเชฎ init เชฌเซ‚เชŸ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡, เช…เชจเซ‡ เชนเซเช‚ TTY0 เชฅเซ€ เช•เชพเชฎ เช•เชฐเซเช‚ เช›เซเช‚.

Elbrus OS เชชเชฐ Veeam เชฎเชพเช‚เชฅเซ€ Linux เชฌเซ‡เช•เช…เชช. เช†เชฏเชพเชค เช…เชตเซ‡เชœเซ€ ['?' | '.' | '!']

เช เซ€เช• เช›เซ‡, เชคเซ‹ เชšเชพเชฒเซ‹ โ€œElbrusโ€ เชจเซ‡ เชธเชฎเซเชฆเชพเชฏ เชคเชฐเซ€เช•เซ‡ เชตเชฐเซเช—เซ€เช•เซƒเชค เช•เชฐเซ€เช เชœเซ‚เชจเชพ เช†เชธเซเชฅเชพเชตเชพเชจเซ‹[TBD]. เชธเซˆเชฆเซเชงเชพเช‚เชคเชฟเช• เชฐเซ€เชคเซ‡, เช† เชธเชพเชฐเซเช‚ เช›เซ‡: เชกเชพเช‰เชจเชฒเซ‹เชก เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ เชœเซ‹เชตเชพ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฐเซ‡ เชธเซเชฐเซ‹เชค เช•เซ‹เชก เชชเซ‚เช›เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€, เช•เชพเชฐเชฃ เช•เซ‡ เชฌเชงเซเช‚ เชธเซเช•เซเชฐเชฟเชชเซเชŸเซ‡เชก เช›เซ‡.

เชฌเชพเช•เซ€เชจเซเช‚ เชฒเช—เชญเช— เชฌเชฟเชจเชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เช›เซ‡: เช…เชฎเซ‡ เชฌเชงเซเช‚ เชฎเซ‚เช•เซ€เช เช›เซ€เช เช…เชจเซ‡ เชธเช‚เชฎเชค เช›เซ€เช. เชฐเชธเซเชคเชพเชฎเชพเช‚, เช†เชชเชฃเซ‡ เชถเซ‹เชงเซ€ เช•เชพเชขเซ€เช เช›เซ€เช เช•เซ‡ เช•เชฐเซเชจเชฒ 3.14.79-13.84 เชตเชชเชฐเชพเชฏ เช›เซ‡. เชนเชฎเซเชฎ, เชกเซ‡เชฌเชฟเชฏเชจ 7 เชชเชพเชธเซ‡ 3.2 [TBD] เชนเชคเซเช‚.

เช†เช—เชณ, เชกเชฟเชซเซ‰เชฒเซเชŸ เชกเชฟเชธเซเช• เชชเชพเชฐเซเชŸเซ€เชถเชจ เชชเชธเช‚เชฆ เช•เชฐเซ‹ เช…เชจเซ‡... เช…เชฎเชจเซ‡ เชšเซ‡เชคเชตเชฃเซ€ เชฆเซ‡เช–เชพเชฏ เช›เซ‡:

Elbrus OS เชชเชฐ Veeam เชฎเชพเช‚เชฅเซ€ Linux เชฌเซ‡เช•เช…เชช. เช†เชฏเชพเชค เช…เชตเซ‡เชœเซ€ ['?' | '.' | '!']

เชนเชฎเซเชฎ, เช•เซ‹เชˆเช• เชฐเซ€เชคเซ‡ เชธเซเชตเชšเชพเชฒเชฟเชค เชชเชพเชฐเซเชŸเซ€เชถเชจ 32 เช—เซ€เช— เชกเชฟเชธเซเช• เชธเชพเชฅเซ‡ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เชธเชพเชฎเชจเซ‹ เช•เชฐเซ€ เชถเช•เซเชฏเซเช‚ เชจเชฅเซ€. เชฎเซ‡เช‚ เชกเชฟเชธเซเช• เชฌเชฆเชฒเซ€ เชจเชฅเซ€; เชฎเซ‡เช‚ "เช“เชฒ-เช‡เชจ-เชตเชจ" เชถเซˆเชฒเซ€เชฎเชพเช‚ เชฎเซ‡เชจเซเชฏเซเช…เชฒ เชกเชฟเชธเซเช• เชชเชพเชฐเซเชŸเซ€เชถเชจ เชธเชพเชฅเซ‡ เชถเซ‹เชง เชชเซ‚เชฐเซเชฃ เช•เชฐเซ€. เชฎเชพเชฐเซ‡ ext3 เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเซเช‚ เชชเชกเซเชฏเซเช‚, เช•เชพเชฐเชฃ เช•เซ‡ /boot ext4 เชฎเชพเช‚ เชนเซ‹เชˆ เชถเช•เชคเซเช‚ เชจเชฅเซ€.
เชคเช‚เชคเซเชฐ เช•เซ‹เชˆ เช˜เชŸเชจเชพ เชตเชฟเชจเชพ เชธเชพเชฎเซ‡ เช†เชตเซเชฏเซเช‚.

เชฌเซ€เชœเซ‹ เชคเชฌเช•เซเช•เซ‹ - เชตเชฟเช•เชฒเซเชชเซ‹เชจเซ€ เชถเซ‹เชง เช•เชฐเซ‹.
เชฌเซ€เชœเซ€ เชกเชฟเชธเซเช•เชจเชพ เชธเชฎเชพเชตเชฟเชทเซเชŸเซ‹ เชฆเซเชตเชพเชฐเชพ เชคเชชเชพเชธ เช•เชฐเซเชฏเชพ เชชเช›เซ€, เชฎเชจเซ‡ เชธเชฎเชœเชพเชฏเซเช‚ เช•เซ‡ เช† เชตเชงเชพเชฐเชพเชจเซ€ เชธเชพเชฅเซ‡เชจเซ‹ เชญเช‚เชกเชพเชฐ เช›เซ‡. เชชเซ‡เช•เซ‡เชœเซ‹เชฎเชพเช‚. เช…เชจเซ‡ /etc/apt/sources.list เชœเซ‹เชˆเชจเซ‡, เชฎเชจเซ‡ เชธเชฎเชœเชพเชฏเซเช‚ เช•เซ‡ เชคเซ‡เชจเซ‡ /mnt/cdrom เชฎเชพเช‚ เชฎเชพเช‰เชจเซเชŸ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชชเชฐเช‚เชคเซ เชฎเชจเซ‡ /etc/os-release เชฎเชณเซเชฏเซเช‚ เชจเชฅเซ€. เชชเชฐเช‚เชคเซ เชธเชฎเชพเชตเชฟเชทเซเชŸเซ‹ 3.0-rc36 เชธเชพเชฅเซ‡ /etc/mcst-version เช›เซ‡. 3.0 เช เช•เชฆเชพเชš เชธเช‚เชธเซเช•เชฐเชฃ เช›เซ‡ - เชคเซ‡ เชซเชฟเชŸ เชฒเชพเช—เซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ rc36? เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, เชคเซƒเชคเซ€เชฏ-เชชเช•เซเชท เชธเซ‰เชซเซเชŸเชตเซ‡เชฐ เชฎเซ‹เชŸเซ‡ เชญเชพเช—เซ‡ เช† เชตเชฟเชคเชฐเชฃเชจเซ‡ เชถเชพเชธเซเชคเซเชฐเซ€เชฏ เชฐเซ€เชคเซ‡ เช“เชณเช–เซ€ เชถเช•เชถเซ‡ เชจเชนเซ€เช‚.

เชฐเซเชŸ เชชเชพเชฐเซเชŸเซ€เชถเชจเชฎเชพเช‚, /mcst เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชฎเชพเชฐเซ€ เชจเชœเชฐเชจเซ‡ เชชเช•เชกเซ‡ เช›เซ‡, เช…เชจเซ‡ เชคเซเชฏเชพเช‚, เชกเซ‚เชฌเชคเชพ เชนเซƒเชฆเชฏ เชธเชพเชฅเซ‡, เชฎเซ‡เช‚ /mcst/backup เชถเซ‹เชงเซเชฏเซเช‚. เชเชŸเชฒเซ‡ เช•เซ‡, เชคเซเชฏเชพเช‚ เชเช• เชฌเซ‡เช•เช…เชช เชŸเซ‚เชฒ เช›เซ‡, เช…เชจเซ‡ เชคเซ‡ เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชฌเชฟเชฒเซเชŸ เช›เซ‡! "เชธเชฐเชธ," เชฎเซ‡เช‚ เชตเชฟเชšเชพเชฐเซเชฏเซเช‚, "เชšเชพเชฒเซ‹ เชœเซ‹เชˆเช เช•เซ‡ เช† เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡!"

เชคเซ‡ เชฌเชนเชพเชฐ เช†เชตเซเชฏเซเช‚ เช›เซ‡ เช•เซ‡ เชคเซเชฏเชพเช‚ เชเช• 4Kb เชฌเซ‡เชถ เชธเซเช•เซเชฐเชฟเชชเซเชŸ /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 เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฎเชพเชŸเซ‡ เชตเชงเซ เชธเชพเชฐเซ‹ เชตเชฟเช•เชฒเซเชช เช›เซ‡.

เช†เช—เชณ, เชฎเซ‡เช‚ เชเช• เชจเชตเซเช‚ เชฎเซ‚เช•เชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚ Linux เชฎเชพเชŸเซ‡ Veeam เชเชœเชจเซเชŸ. เช•เซ‹เชˆ เชชเซ‚เช›เชถเซ‡: "เชตเซ€เชฎ เช…เชจเซ‡ เช†เชฏเชพเชค เช…เชตเซ‡เชœเซ€เชจเซ‹ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชถเซเช‚ เชธเช‚เชฌเช‚เชง เช›เซ‡?" เชนเชพ, เชคเซ‡ เชฐเชœเชฟเชธเซเชŸเชฐเชฎเชพเช‚ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชคเซ‡ FSTEC เชฆเซเชตเชพเชฐเชพ เชชเซเชฐเชฎเชพเชฃเชฟเชค เช›เซ‡, เชœเซ‡เชจเซ‹ เช…เชฐเซเชฅ เช›เซ‡ เช•เซ‡ เชตเชฟเช•เชฒเซเชชเซ‹เชจเซ€ เช—เซ‡เชฐเชนเชพเชœเชฐเซ€เชฎเชพเช‚ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชฎเชพเช‚เชฅเซ€ เชตเชฟเช•เชฒเซเชชเซ‹ เชชเชฐ เชชเช‚เชฆเชฐ เชฎเชฟเชจเชฟเชŸ เชตเชฟเชคเชพเชตเซ€ เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€, เชนเซเช‚ "เชฌเซ‡เช•เช…เชช" เชถเชฌเซเชฆ เชฎเชพเชŸเซ‡ 3 เชฒเชฟเช‚เช•เซเชธ เชถเซ‹เชงเชตเชพเชฎเชพเช‚ เชธเช•เซเชทเชฎ เชนเชคเซ‹ ("เช…เชจเชพเชฎเชค" เชถเชฌเซเชฆ เชฎเชพเชŸเซ‡เชจเชพ เชฎเชพเชฐเชพ เชชเซเชฐเชถเซเชจ เชธเชพเชฅเซ‡ เช•เซ‹เชˆ เชธเช‚เชฌเช‚เชงเชฟเชค เชจเชฅเซ€). เชฎเซ‡เช‚ เช† เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเซเชธเชจเซเช‚ เชŠเช‚เชกเชพเชฃเชชเซ‚เชฐเซเชตเช• เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชฐเซเชฏเซเช‚ เชจเชฅเซ€, เชคเซ‡เชฅเซ€ เชนเซเช‚ เชคเซ‡ เชจเช•เซเช•เซ€ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€เชถ เชจเชนเซ€เช‚ เช•เซ‡ เชคเซ‡เช“ Linux เชšเชฒเชพเชตเชคเชพ เชฎเชถเซ€เชจเซ‹เชจเซเช‚ เชฌเซ‡เช•เช…เชช เชฒเซ‡เชตเชพ เชฎเชพเชŸเซ‡ เช•เซ‡เชŸเชฒเชพ เชฏเซ‹เช—เซเชฏ เช›เซ‡. เชœเซ‡เชจเซ‡ เชคเซ‡เชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เชคเซ‡ เชชเซ‹เชคเชพเชจเซเช‚ เชจเชฟเชทเซเช•เชฐเซเชท เช•เชพเชขเชถเซ‡ เช…เชจเซ‡ เชŸเชฟเชชเซเชชเชฃเซ€เช“เชฎเชพเช‚ เชถเซ‡เชฐ เช•เชฐเชถเซ‡.

เชธเซเชŸเซ‡เชœ เชคเซเชฐเชฃ - Linux เชฎเชพเชŸเซ‡ Veeam เชเชœเชจเซเชŸเชจเซ€ เชธเซเชฅเชพเชชเชจเชพ.
เชคเซ‡เชฅเซ€, Linux เชฎเชพเชŸเซ‡ Veeam Agent เชฌเซ‡ เชชเซ‡เช•เซ‡เชœเซ‹ เชงเชฐเชพเชตเซ‡ เช›เซ‡: veeamsnap เช•เชฐเซเชจเชฒ เชฎเซ‹เชกเซเชฏเซเชฒ (เชฎเชพเชฐเซเช— เชฆเซเชตเชพเชฐเชพ, เชธเซเชคเซเชฐเซ‹เชค เช…เชนเซ€เช‚) เช…เชจเซ‡ เชตเซ€เชฎ เชชเซ‡เช•เซ‡เชœเชจเชพ เชธเซเชตเชฐเซ‚เชชเชฎเชพเช‚ เชฎเชพเชฒเชฟเช•เซ€เชจเซ‹ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ-เชœเช—เซเชฏเชพ เช•เซ‹เชก.

เช•เชฐเซเชจเชฒ เชฎเซ‹เชกเซเชฏเซเชฒ เชธเซเชฅเชพเชชเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เชเช• เชจเชพเชจเซ€ เชธเชฎเชธเซเชฏเชพ เชนเชคเซ€ - เช–เซ‚เชŸเซ‡ เช›เซ‡ dkms เชชเซ‡เช•เซ‡เชœ. เช† เชเชตเซ€ เชธเซ‡เชตเชพ เช›เซ‡ เชœเซ‡ เชคเชฎเชจเซ‡ เชธเซเชคเซเชฐเซ‹เชคเชฎเชพเช‚เชฅเซ€ เช•เชฐเซเชจเชฒ เชฎเซ‹เชกเซเชฏเซเชฒเซ‹ เชฌเชจเชพเชตเชตเชพเชจเซ€ เชชเชฐเชตเชพเชจเช—เซ€ เช†เชชเซ‡ เช›เซ‡. เชเช• เชจเชฟเชฏเชฎ เชคเชฐเซ€เช•เซ‡, เชคเซ‡ เชคเชฎเชพเชฎ เชกเซ‡เชฌ เชตเชฟเชคเชฐเชฃเซ‹ เชชเชฐ เช‰เชชเชฒเชฌเซเชง เช›เซ‡. เชฎเชพเชฐเซ‡ เชคเซ‡เชจเซ‡ เชคเซƒเชคเซ€เชฏ-เชชเช•เซเชท เชกเซ‡เชฌ เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚เชฅเซ€ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเชตเซเช‚ เชชเชกเซเชฏเซเช‚. เชเช• เชตเชธเซเชคเซ เชœเซ‡เชฃเซ‡ เชฎเชจเซ‡ เช†เชจเช‚เชฆ เช†เชชเซเชฏเซ‹ เชคเซ‡ เช เช›เซ‡ เช•เซ‡ เชชเซ‡เช•เซ‡เชœ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เชจเชฅเซ€, เชคเซ‡เชฅเซ€ เชคเซ‡ เชฎเซ‚เชณเชจเซ€ เชœเซ‡เชฎ เชซเชฟเชŸ เช›เซ‡. เชถเชพ เชฎเชพเชŸเซ‡ เชคเซ‡ เช‰เชชเชฒเชฌเซเชง เชชเซ‡เช•เซ‡เชœเซ‹เชจเซ€ เชธเซ‚เชšเชฟเชฎเชพเช‚ เชถเชพเชฎเซ‡เชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชจ เชนเชคเซเช‚, เช…เชฅเชตเชพ เชคเซ‡เชจเชพ เชฌเชฆเชฒเซ‡, [TBD] เชตเชฟเช•เชธเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชจ เชนเชคเซเช‚? เช•เชฆเชพเชš เชเชตเซเช‚ เชฎเชพเชจเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช•เซ‡ เช•เซ‹เชˆเช เช•เซ‹เชˆเชชเชฃ เชฌเชฟเชจ-MCST เช•เชฐเซเชจเชฒ เชฎเซ‹เชกเซเชฏเซเชฒเซ‹ เชฌเชจเชพเชตเชตเชพ เช…เชจเซ‡ เชšเชฒเชพเชตเชตเชพ เชœเซ‹เชˆเช เชจเชนเซ€เช‚. เช…เชนเซ€เช‚ เช–เชฐเซ‡เช–เชฐ เชเช• เชตเชฟเชธเช‚เช—เชคเชคเชพ เช›เซ‡ - เช•เชพเชฐเชฃ เช•เซ‡ เชคเซเชฏเชพเช‚ เชฒเชฟเชจเช•เซเชธ-เชนเซ‡เชกเชฐ เช›เซ‡. เชเชŸเชฒเซ‡ เช•เซ‡, เชฎเซ‹เชกเซเชฏเซเชฒ, เชœเซ‹ เช‡เชšเซเช›เชฟเชค เชนเซ‹เชฏ, เชคเซ‹ เชคเซ‡เชจเซ‡ เชนเชพเชฅเชฅเซ€ เชเชธเซ‡เชฎเซเชฌเชฒ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡ เช…เชจเซ‡ เชœเซเชฏเชพเชฐเซ‡ เชฎเชถเซ€เชจ เชถเชฐเซ‚ เชฅเชพเชฏ เชคเซเชฏเชพเชฐเซ‡ เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชฆเซเชตเชพเชฐเชพ เชฒเซ‹เชจเซเชš เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชฎเชจเซ‡ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เชคเชฎเชพเชฐเซ‡ MCST [TBD] เชคเชฐเชซเชฅเซ€ เชตเชพเชฐเช‚เชตเชพเชฐ เช…เชชเชกเซ‡เชŸเซเชธเชจเซ€ เช…เชชเซ‡เช•เซเชทเชพ เชฐเชพเช–เชตเซ€ เชœเซ‹เชˆเช เชจเชนเซ€เช‚.

"เช เซ€เช• เช›เซ‡, เชฎเซ‹เชกเซเชฏเซเชฒ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เชฅเชˆ เช—เชฏเซเช‚ เช›เซ‡ - เชธเซŒเชฅเซ€ เชฎเซเชถเซเช•เซ‡เชฒ เชญเชพเช— เชธเชฎเชพเชชเซเชค เชฅเชˆ เช—เชฏเซ‹ เช›เซ‡," เชฎเซ‡เช‚ เชตเชฟเชšเชพเชฐเซเชฏเซเช‚... เชกเซ‡เชฌ เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€ เชฎเชพเชŸเซ‡เชจเซเช‚ เชตเซ€เชฎ เชชเซ‡เช•เซ‡เชœ amd64 เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชฎเชพเชŸเซ‡ เช›เซ‡, เช…เชจเซ‡ Elbrus OS เชชเชพเชธเซ‡ x86_64 [TBD] เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เช›เซ‡. เชคเชซเชพเชตเชค, เช…เชฒเชฌเชคเซเชค, เชซเช•เซเชค เชจเชพเชฎเชฎเชพเช‚ เช›เซ‡, เชชเชฐเช‚เชคเซ เช† เชคเชซเชพเชตเชค เชคเซƒเชคเซ€เชฏ-เชชเช•เซเชท เชกเซ‡เชฌ เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€เชเชจเชพ เชฒเช—เชญเช— เชคเชฎเชพเชฎ เชชเซ‡เช•เซ‡เชœเซ‹เชจเซ‡ Elbrus OS เชธเชพเชฅเซ‡ เช…เชธเช‚เช—เชค เชฌเชจเชพเชตเซ‡ เช›เซ‡. เช† เชนเซ‡เชฐเชพเชจ เช•เชฐเชคเซ€ เช—เซ‡เชฐเชธเชฎเชœเชจเซ‡ เชธเชฐเชณ เชฐเซ€เชคเซ‡ เชฆเซ‚เชฐ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡: เชซเช•เซเชค เชชเซ‡เช•เซ‡เชœเชจเซ‡ เชกเชฟเชธเชเชธเซ‡เชฎเซเชฌเชฒ เช•เชฐเซ‹, เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เชตเชฟเชถเซ‡เชจเซ€ เชฎเชพเชนเชฟเชคเซ€เชจเซ‡ เช เซ€เช• เช•เชฐเซ‹ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชเช•เชธเชพเชฅเซ‡ เชฎเซ‚เช•เซ‹. เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซเช‚ เชคเซ‡ Google เช•เชฐเซเชฏเซเช‚ เชคเชฐเชค.

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

เชฌเซ€เชœเซ€ เชธเชฎเชธเซเชฏเชพ เชจเชฟเชฐเซเชญเชฐเชคเชพ เช›เซ‡. เชœเชฐเซ‚เชฐเซ€ เชซเชพเช‡เชฒเซ‹ เชคเซเชฏเชพเช‚ เชนเซ‹เชฏ เชคเซ‡เชตเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชชเซ‡เช•เซ‡เชœเซ‹ เชจเชฅเซ€. เช›เชพเชช เช เชนเชคเซ€ เช•เซ‡ เชชเซ‡เช•เซ‡เชœเซ‹เชจเชพ เชจเชพเชฎ เชคเซ‡เชฎเชจเชพ "เช†เชฏเชพเชค เช•เชฐเซ‡เชฒ เชเชจเชพเชฒเซ‹เช—" เชฅเซ€ เช…เชฒเช— เช›เซ‡. เช•เชฆเชพเชš เชชเซเชธเซเชคเช•เชพเชฒเชฏเซ‹ เช…เชฒเช— เชฐเซ€เชคเซ‡ เชชเซ‡เช• เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡. เชนเซเช‚ เชตเชงเชพเชฐเซ‡ เชตเชฟเช—เชคเชฎเชพเช‚ เช—เชฏเซ‹ เชจเชฅเซ€, เชฒเช—เชญเช— เชคเชฎเชพเชฎ เชจเชฟเชฐเซเชญเชฐเชคเชพเชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเซ€, เช…เชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เช†เช—เชณ เชตเชงเซเชฏเซเช‚.

เชชเช›เซ€ เชธเซ‡เชตเชพ เชชเซเชฐเชพเชฐเช‚เชญ เช•เซ‹เชก เชธเชพเชฅเซ‡ เชธเชฎเชธเซเชฏเชพเช“ เช‰เชญเชฐเซ€. เชธเซเช•เซเชฐเชฟเชชเซเชŸ /lib/init/vars.sh เช–เซ‚เชŸเซ‡ เช›เซ‡. เช•เซ‡เชŸเชฒเชพเช• เช•เชพเชฐเชฃเซ‹เชธเชฐ, Elbrus เชคเซ‡เชจเชพ เชตเชฟเชจเชพ เชฎเซ‡เชจเซ‡เชœ เช•เชฐเซ‡ เช›เซ‡, เชคเซ‡เชฅเซ€ เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เชชเชฃ เชฆเซ‚เชฐ เช•เชฐเซ€เชถเซเช‚. เช†เช—เชณ, เช…เชฎเชพเชฐเซ‡ เชฎเซ‡เชธเซ‡เชœ เช†เช‰เชŸเชชเซเชŸ เชซเช‚เช•เซเชถเชจ เชฌเชฆเชฒเชตเซเช‚ เชชเชกเซเชฏเซเช‚: log_daemon_msg เช…เชจเซ‡ log_end_msg เชซเช‚เช•เซเชถเชจ เช–เซ‚เชŸเซ‡ เช›เซ‡. /lib/lsb/init-functions เชซเชพเชˆเชฒเชฎเชพเช‚ เชซเชฐเซเชฏเชพ เชชเช›เซ€, เชฎเชจเซ‡ log_success_msg เชซเช‚เช•เซเชถเชจ เชฎเชณเซเชฏเซเช‚ - เชคเซ‡ เชชเซเชฐเชฏเซ‹เช—เซ‹ เชฎเชพเชŸเซ‡ เช…เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชธเชพเชฐเซเช‚ เชฐเชนเซ‡เชถเซ‡. เชฎเชพเชฐเซเช— เชฆเซเชตเชพเชฐเชพ, /lib/lsb/init-functions เชซเชพเช‡เชฒเชฎเชพเช‚ [TBD] เชซเชพเช‡เชฒเชจเซ€ เชถเชฐเซ‚เช†เชคเชฎเชพเช‚ โ€œ# Source SuSE`s rc functionsโ€ เชฒเชพเช‡เชจ เช›เซ‡.

เชซเชพเช‡เชฒ เชธเชพเชฅเซ‡ เชชเซ‡เช•เซ‡เชœเชจเซ€ เช†เชตเซ€ เชฐเชซ เชชเซเชฐเซ‹เชธเซ‡เชธเชฟเช‚เช— เชชเช›เซ€, NFS เชถเซ‡เชฐ เชชเชฐ เชธเช‚เชชเซ‚เชฐเซเชฃ-เชฎเชถเซ€เชจ เชฌเซ‡เช•เช…เชช เชธเชซเชณเชคเชพเชชเซ‚เชฐเซเชตเช• เชฒเซ‹เช‚เชš เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚. เชฌเซ‡เช•เช…เชช เชฎเชพเช‰เชจเซเชŸ เชชเชฃ เชธเชซเชณ เชฐเชนเซเชฏเซเช‚. เชคเซ‡เชฅเซ€, เชนเซเช‚ เชฎเชพเชจเซเช‚ เช›เซเช‚ เช•เซ‡ Elbrus PDK เชธเชพเชฅเซ‡เชจเชพ เชฎเชถเซ€เชจเชจเซเช‚ เชฌเซ‡เช•เช…เชช เชฒเซ‡เชตเชพ เชฎเชพเชŸเซ‡, เช•เซ‹เชˆเชชเชฃ เชœเชตเชพเชฌเชฆเชพเชฐเซ€ เชตเชฟเชจเชพ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเซ‡เชฒ โ€œเชœเซ‡เชฎ เช•เซ‡โ€, Linux เชฎเชพเชŸเซ‡ Veeam เชเชœเชจเซเชŸ เชšเซ‹เช•เซเช•เชธเชชเชฃเซ‡ เชฏเซ‹เช—เซเชฏ เช›เซ‡. เชซเชพเช‡เชฒ เชธเชพเชฅเซ‡เชจเชพ เชคเชฎเชพเชฎ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เชชเช›เซ€ เชชเชฃ.

เช…เชฒเชฌเชคเซเชค, เชเชฒเซเชฌเซเชฐเชธ เช“เชเชธ เชกเชฟเชธเซเชŸเซเชฐเชฟเชฌเซเชฏเซเชถเชจ เช•เชฟเชŸ เช”เชชเชšเชพเชฐเชฟเช• เชฐเซ€เชคเซ‡ เชธเชฎเชฐเซเชฅเชฟเชค เชจเชฅเซ€, เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เชธเชฎเชฐเซเชฅเชฟเชค เชฒเซ‹เช•เซ‹เชจเซ€ เชธเซ‚เชšเชฟเชฎเชพเช‚ เชถเชพเชฎเซ‡เชฒ เชจเชฅเซ€. เชตเชงเซเชฎเชพเช‚, Linux เชฎเชพเชŸเซ‡ Veeam เชเชœเชจเซเชŸเชจเซเช‚ QA เชตเชฟเชญเชพเช— เชฆเซเชตเชพเชฐเชพ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชจ เชนเชคเซเช‚, เชคเซ‡เชฅเซ€ เชคเซ‡. เชคเซเชฏเชพเช‚ เช•เซ‹เชˆ เชธเชฎเชฐเซเชฅเชจ เชจเชฅเซ€ (เช“เช›เชพเชฎเชพเช‚ เช“เช›เซเช‚ เชฒเซ‡เช–เชจเชพ เชชเซเชฐเช•เชพเชถเชจ เชธเชฎเชฏเซ‡).

เชนเซเช‚ เช†เชถเชพ เชฐเชพเช–เซเช‚ เช›เซเช‚ เช•เซ‡ เชฒเซ‡เช– เชคเซ‡ เชฒเซ‹เช•เซ‹ เชฎเชพเชŸเซ‡ เช‰เชชเชฏเซ‹เช—เซ€ เชฅเชถเซ‡ เชœเซ‡เช“ 334 เชœเซ‚เชจ, 29.06.2017 เชจเชพ เช“เชฐเซเชกเชฐ เชจเช‚เชฌเชฐ XNUMX เชจเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ‡. เชฎเชพเชฐเชพ เชคเชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡... [TBD].

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹