Elbrus OS 'เจคเฉ‡ Veeam เจคเฉ‹เจ‚ Linux เจฌเฉˆเจ•เจ…เฉฑเจชเฅค เจ†เจฏเจพเจค เจฌเจฆเจฒ ['?' | 'เฅค' | '!']

เจนเจพเจˆ เจนเจฐ เจ•เฉ‹เจˆ
เจนเจพเจฌเจฐเฉ‡ 'เจคเฉ‡ เจคเจพเจœเจผเจพ เจฒเฉ‡เจ– เจ…เจญเจฟเจ†เจธ เจตเจฟเฉฑเจš เจ†เจฏเจพเจค เจฌเจฆเจฒ. เจญเจพเจ— 1. เจตเจฟเจ•เจฒเจช ะธ เจธเฉฐเจ—เฉ€เจค เจฒเฉฐเจฌเฉ‡ เจธเจฎเฉ‡เจ‚ เจฒเจˆ เจจเจนเฉ€เจ‚ เจšเฉฑเจฒเจฟเจ†... เจœเจพเจ‚ เจ•เจฟเจตเฉ‡เจ‚ เจเจฒเจฌเจฐเจธ เจ“เจเจธ เจ•เจฆเฉ‡ เจตเฉ€ เจฎเฉเจซเจค เจจเจนเฉ€เจ‚ เจนเฉ‹เจ‡เจ† เจฎเฉˆเจจเฉ‚เฉฐ เจ‰เจฆเจพเจธเฉ€เจจ เจจเจพ เจ›เฉฑเจกเจฟเจ†. เจฎเฉˆเจ‚ เจฌเฉˆเจ•เจ…เฉฑเจช เจ•เจพเจฐเจœ เจฆเฉ‡ เจธเฉฐเจฆเจฐเจญ เจตเจฟเฉฑเจš เจ‡เจธ เจฎเฉเฉฑเจฆเฉ‡ เจฆเจพ เจ…เจงเจฟเจเจจ เจ•เจฐเจจ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพ เจนเฉˆเฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจตเจฟเจš เจ‡เจธ เจฒเฉ‡เจ– เจตเฉ€เจฎ เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ เจ‰เจคเจชเจพเจฆเจพเจ‚ เจฆเจพ เจœเจผเจฟเจ•เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจœเจฟเจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจ‡เจน เจฎเฉเฉฑเจฆเจพ เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡ เจ†เจฏเจพเจค เจฌเจฆเจฒ เจฆเฉ‡ เจธเฉฐเจฆเจฐเจญ เจตเจฟเฉฑเจš เจขเฉเจ•เจตเจพเจ‚ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆเฅค

Elbrus OS 'เจคเฉ‡ Veeam เจคเฉ‹เจ‚ Linux เจฌเฉˆเจ•เจ…เฉฑเจชเฅค เจ†เจฏเจพเจค เจฌเจฆเจฒ ['?' | 'เฅค' | '!']
เจ…เจธเจฒ เจšเจฟเฉฑเจคเจฐ เจธเจฐเฉ‹เจค

เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจฎเฉˆเจ‚ เจเจฒเจฌเจฐเจธ เจ“เจเจธ เจจเฉ‚เฉฐ เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เจฐเจจ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพ, เจœเจพเจ‚ เจ‡เจธ เจฆเฉ€ เจฌเจœเจพเจ, x86_64 เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฒเจˆ เจธเจฟเจฐเจซ เจ‰เจชเจฒเจฌเจง เจกเจฟเจธเจŸเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจ, เจฆเฉ‡เจ–เฉ‹ เจ•เจฟ เจ‡เจน เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจธ 'เจคเฉ‡ เจฒเฉ€เจจเจ•เจธ เจฒเจˆ เจตเฉ€เจฎ เจเจœเฉฐเจŸ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเฉ‹. เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจœเจพเจฃเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจ‡เจธ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ•เฉ€ เจจเจฟเจ•เจฒเจฟเจ†, เจคเจพเจ‚ เจ•เจฟเจฐเจชเจพ เจ•เจฐเจ•เฉ‡ เจฌเจฟเฉฑเจฒเฉ€ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เฉ‹เฅค

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

เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจ›เฉ‹เจŸเฉ€ เจœเจฌเจฐเฉ€ เจตเจพเจชเจธเฉ€. เจคเฉฑเจฅ เจ‡เจน เจนเฉˆ เจ•เจฟ เจฎเฉˆเจ‚ เจ‡เฉฑเจ• เจตเจพเจฐ เจ˜เจฐเฉ‡เจฒเฉ‚ เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ MSVS เจ…เจคเฉ‡ Baguette RTOS เจจเจพเจฒ เจจเจœเจฟเฉฑเจ เจฟเจ† เจธเฉ€. เจฎเฉˆเจจเฉ‚เฉฐ MCST เจคเฉ‹เจ‚ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐ เจธเจฎเฉ‡เจค เจ˜เจฐเฉ‡เจฒเฉ‚ เจชเฉเจฐเจœเจผเจฟเจ†เจ‚ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฆเจพ เจคเจœเจฐเจฌเจพ เจธเฉ€เฅค เจ‡เจธ เจฒเจˆ, เจฎเฉˆเจ‚ เจชเฉ‚เจฐเฉ€ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐเฉ€ เจจเจพเจฒ เจ•เจนเจฟ เจธเจ•เจฆเจพ เจนเจพเจ‚ เจ•เจฟ เจ‡เจธ เจ–เฉ‡เจคเจฐ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ–เจพเจธ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจนเฉˆ เจ…เจคเฉ‡ เจฎเฉˆเจ‚ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจ‡เจธ เจจเฉ‚เฉฐ เจ›เฉ‚เจนเจฃ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจจเจนเฉ€เจ‚ เจ•เจฐเจพเจ‚เจ—เจพ. เจœเจฆเฉ‹เจ‚ เจฎเฉˆเจ‚ เจธเฉฑเจšเจฎเฉเฉฑเจš เจšเจพเจนเจพเจ‚เจ—เจพ, เจฎเฉˆเจ‚ เจŸเฉˆเจ— [TBD] เจชเจพเจตเจพเจ‚เจ—เจพเฅค เจ‡เจธ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจธเจฟเฉฑเจงเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจŸเฉเจฐเฉ‹เจฒเจฟเฉฐเจ— เจ…เจคเฉ‡ เจฎเจพเจฎเฉ‚เจฒเฉ€ เจฐเฉ‹เจฃ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค เจ…เฉฐเจค เจตเจฟเฉฑเจš, เจฐเฉ‚เจธเฉ€ เจฐเฉฑเจ–เจฟเจ† เจ‰เจฆเจฏเฉ‹เจ— เจ…เจคเฉ‡ เจธเจฐเจ•เจพเจฐเฉ€ เจเจœเฉฐเจธเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจธเจฎเจเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ. เจตเฉฑเจกเจพ เจฆเฉ‡เจธเจผ - เจ›เฉ‹เจŸเจพ เจฌเจœเจŸ.. [TBD]เฅค

เจœเจผเฉ€เจฐเฉ‹ เจชเฉœเจพเจ… - เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เจฐเฉ‹. เจ‡เจน เจงเจฟเจ†เจจ เจฆเฉ‡เจฃ เจฏเฉ‹เจ— เจนเฉˆ เจ•เจฟ เจเจฒเจฌเจฐเจธ OS เจฆเฉ‡ เจ‰เจชเจฒเจฌเจง เจนเฉ‹เจฃ เจฆเฉ€ เจ–เจผเจฌเจฐ เจจเฉ‡ เจ‡เฉฑเจ• เจ—เฉ‚เฉฐเจœ เจชเฉˆเจฆเจพ เจ•เฉ€เจคเฉ€, เจ‡เฉฐเจจเจพ เจœเจผเจฟเจ†เจฆเจพ เจ•เจฟ เจกเจฟเจธเจŸเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจ เจธเจฐเจตเจฐ เจกเจพเจŠเจจ เจนเฉ‹ เจ—เจฟเจ†เฅค [TBD] Yandex เจ…เจคเฉ‡ เจ‡เฉฐเจœเฉ€เจจเฉ€เจ…เจฐ เจฆเจพ เจงเฉฐเจจเจตเจพเจฆ เจœเจฟเจธเจจเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจ‰เฉฑเจฅเฉ‡ เจฒเจฟเจœเจพเจฃ เจฌเจพเจฐเฉ‡ เจธเฉ‹เจšเจฟเจ†เฅค เจ‡เจธ เจฒเจˆ เจกเจพเจŠเจจเจฒเฉ‹เจก เจธเจชเฉ€เจก เจšเฉฐเจ—เฉ€ เจนเฉˆเฅค

เจชเจนเจฟเจฒเฉ‡ เจชเฉœเจพเจ… - เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ. เจฎเฉˆเจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจชเจนเจฟเจฒเฉ‡ เจนเจพเจˆเจชเจฐเจตเจพเจˆเจœเจผเจฐ 'เจคเฉ‡ เจธเจฅเจพเจชเจฟเจค เจ•เฉ€เจคเจพ เจœเฉ‹ เจฎเฉเจซเจค เจตเจฐเจคเฉ‹เจ‚ เจฒเจˆ เจ‰เจชเจฒเจฌเจง เจธเฉ€เฅค เจฎเฉˆเจ‚ เจฆเฉ‹ เจ•เฉ‹เจฐ, RAM เจฆเฉ‡ เจ•เฉเจ เจ—เจฟเจ—เจธ, เจตเฉ€เจกเฉ€เจ“ เจฒเจˆ 32 MB เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเฉ‡ (เจ‡เฉฑเจฅเฉ‡ เจ‡เฉฑเจ• เจ—เฉเจฐเจพเจซเจฟเจ•เจฒ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจนเฉ‹เจตเฉ‡เจ—เจพ, เจฎเฉˆเจ‚ เจธเฉ‹เจšเจฟเจ†)เฅค เจกเจฟเจธเจ• เจ†เจฎ เจตเจพเจ‚เจ— เจนเฉˆ - 32 เจœเฉ€.เจฌเฉ€.
เจฎเฉˆเจ‚ เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเฉ€. เจฎเฉˆเจ‚ เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€, เจ‡เจธเจฒเจˆ เจฎเฉˆเจ‚ เจ‡เจธ 'เจคเฉ‡ เจŸเจฟเฉฑเจชเจฃเฉ€ เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเจพเฅค TUI เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจฌเจนเฉเจค เจ˜เฉฑเจŸ เจนเฉˆเฅค

Elbrus OS 'เจคเฉ‡ Veeam เจคเฉ‹เจ‚ Linux เจฌเฉˆเจ•เจ…เฉฑเจชเฅค เจ†เจฏเจพเจค เจฌเจฆเจฒ ['?' | 'เฅค' | '!']
เจ–เฉˆเจฐ, เจฌเจนเฉเจค เจตเจงเฉ€เจ†, เจ…เจธเฉ€เจ‚ เจฎเจพเจŠเจธ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚.

เจฎเฉˆเจ‚ เจฆเฉ‚เจœเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ 'เจคเฉ‡ เจ…เจ—เจฒเฉ€ เจตเจฟเฉฐเจกเฉ‹ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เฉ€เจคเจพเฅค เจกเจฟเจธเจ• เจคเฉ‹เจ‚ เจ‡เฉฐเจธเจŸเจพเจฒ เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจกเจฟเจซเฉŒเจฒเจŸ เจกเจฟเจตเจพเจˆเจธ sr0 [TBD] เจ•เจฟเจ‰เจ‚ เจจเจพ เจšเฉเจฃเฉ‹?
CD-ROM เจธเจฐเฉ‹เจค เจšเฉเจฃเฉ‹ เจ…เจคเฉ‡ เจ…เฉฑเจ—เฉ‡ เจตเจงเฉ‹เฅค

Elbrus OS 'เจคเฉ‡ Veeam เจคเฉ‹เจ‚ Linux เจฌเฉˆเจ•เจ…เฉฑเจชเฅค เจ†เจฏเจพเจค เจฌเจฆเจฒ ['?' | 'เฅค' | '!']

เจŸเจพเจˆเจฎ เจœเจผเฉ‹เจจ เจฆเฉ€ เจšเฉ‹เจฃ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจฎเฉˆเจจเฉ‚เฉฐ เจ…เจšเจพเจจเจ• เจ…เจนเจฟเจธเจพเจธ เจนเฉ‹เจ‡เจ† เจ•เจฟ เจธเจฟเจธเจŸเจฎ init เจฌเฉ‚เจŸ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจฎเฉˆเจ‚ TTY0 เจคเฉ‹เจ‚ เจ•เฉฐเจฎ เจ•เจฐ เจฐเจฟเจนเจพ เจนเจพเจ‚เฅค

Elbrus OS 'เจคเฉ‡ Veeam เจคเฉ‹เจ‚ Linux เจฌเฉˆเจ•เจ…เฉฑเจชเฅค เจ†เจฏเจพเจค เจฌเจฆเจฒ ['?' | 'เฅค' | '!']

เจ เฉ€เจ• เจนเฉˆ, เจซเจฟเจฐ เจ†เจ“ "เจเจฒเจฌเจฐเจธ" เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจญเจพเจˆเจšเจพเจฐเฉ‡ เจตเจœเฉ‹เจ‚ เจธเจผเฉเจฐเฉ‡เจฃเฉ€เจฌเฉฑเจง เจ•เจฐเฉ€เจ เจชเฉเจฐเจพเจฃเฉ‡ เจตเจฟเจธเจผเจตเจพเจธเฉ€[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 เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเจพ เจ‡เฉฑเจ• เจฌเจฟเจนเจคเจฐ เจตเจฟเจ•เจฒเจช เจนเฉˆเฅค

เจ…เฉฑเจ—เฉ‡, เจฎเฉˆเจ‚ เจ‡เฉฑเจ• เจคเจพเจœเจผเจพ เจชเจพเจ‰เจฃ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพ เจฒเฉ€เจจเจ•เจธ เจฒเจˆ เจตเฉ€เจฎ เจเจœเฉฐเจŸ. เจ•เฉ‹เจˆ เจชเฉเฉฑเจ›เฉ‡เจ—เจพ: "เจตเฉ€เจฎ เจ…เจคเฉ‡ เจ†เจฏเจพเจค เจฌเจฆเจฒ เจฆเจพ เจ‡เจธ เจจเจพเจฒ เจ•เฉ€ เจธเจฌเฉฐเจง เจนเฉˆ?" เจนเจพเจ‚, เจ‡เจน เจฐเจœเจฟเจธเจŸเจฐ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจนเฉˆ, เจชเจฐ เจ‡เจน FSTEC เจฆเฉเจ†เจฐเจพ เจชเฉเจฐเจฎเจพเจฃเจฟเจค เจนเฉˆ, เจœเจฟเจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจตเจฟเจ•เจฒเจชเจพเจ‚ เจฆเฉ€ เจ…เจฃเจนเฉ‹เจ‚เจฆ เจตเจฟเฉฑเจš เจ‡เจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค เจคเฉ‹เจ‚ เจตเจฟเจ•เจฒเจชเจพเจ‚ 'เจคเฉ‡ เจชเฉฐเจฆเจฐเจพเจ‚ เจฎเจฟเฉฐเจŸ เจ–เจฐเจš เจ•เจฐเจจเจพ เจฐเจœเจฟเจธเจŸเจฐเฉ€, เจฎเฉˆเจ‚ "เจฌเฉˆเจ•เจ…เฉฑเจช" เจธเจผเจฌเจฆ เจฒเจˆ 3 เจฒเจฟเฉฐเจ• เจฒเฉฑเจญเจฃ เจฆเฉ‡ เจฏเฉ‹เจ— เจธเฉ€ ("เจฐเจฟเจœเจผเจฐเจต" เจธเจผเจฌเจฆ เจฒเจˆ เจฎเฉ‡เจฐเฉ‡ เจธเจตเจพเจฒ เจจเจพเจฒ เจ•เฉ‹เจˆ เจตเฉ€ เจธเจฌเฉฐเจงเจค เจจเจนเฉ€เจ‚)เฅค เจฎเฉˆเจ‚ เจ‡เจนเจจเจพเจ‚ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจพเจ‚ เจฆเจพ เจกเฉ‚เฉฐเจ˜เจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจนเฉˆ, เจ‡เจธ เจฒเจˆ เจฎเฉˆเจ‚ เจ‡เจน เจจเจฟเจฐเจฃเจพ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจจเจนเฉ€เจ‚ เจ•เจฐเจพเจ‚เจ—เจพ เจ•เจฟ เจ‰เจน เจฒเฉ€เจจเจ•เจธ เจšเจฒเจพเจ‰เจฃ เจตเจพเจฒเฉ€เจ†เจ‚ เจฎเจธเจผเฉ€เจจเจพเจ‚ เจฆเจพ เจฌเฉˆเจ•เจ…เฉฑเจช เจฒเฉˆเจฃ เจฒเจˆ เจ•เจฟเฉฐเจจเฉ‡ เจขเฉเจ•เจตเฉ‡เจ‚ เจนเจจเฅค เจœเจฟเจธ เจจเฉ‚เฉฐ เจ‡เจธเจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจ‰เจน เจ†เจชเจฃเจพ เจธเจฟเฉฑเจŸเจพ เจ•เฉฑเจขเฉ‡เจ—เจพ เจ…เจคเฉ‡ เจŸเจฟเฉฑเจชเจฃเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจธเจพเจ‚เจเจพ เจ•เจฐเฉ‡เจ—เจพ.

เจชเฉœเจพเจ… เจคเจฟเฉฐเจจ - เจฒเฉ€เจจเจ•เจธ เจฒเจˆ เจตเฉ€เจฎ เจเจœเฉฐเจŸ เจฆเฉ€ เจธเจฅเจพเจชเจจเจพเฅค
เจ‡เจธ เจฒเจˆ, เจฒเฉ€เจจเจ•เจธ เจฒเจˆ เจตเฉ€เจฎ เจเจœเฉฐเจŸ เจตเจฟเฉฑเจš เจฆเฉ‹ เจชเฉˆเจ•เฉ‡เจœ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ: veeamsnap เจ•เจฐเจจเจฒ เจฎเฉ‹เจกเฉ€เจŠเจฒ (เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ, เจธเจฐเฉ‹เจค เจ‡เฉฑเจฅเฉ‡) เจ…เจคเฉ‡ เจตเฉ€เจฎ เจชเฉˆเจ•เฉ‡เจœ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฎเจฒเจ•เฉ€เจ…เจค เจ‰เจชเจญเฉ‹เจ—เจคเจพ-เจธเจชเฉ‡เจธ เจ•เฉ‹เจกเฅค

เจ•เจฐเจจเจฒ เจฎเฉ‹เจกเฉ€เจŠเจฒ เจจเฉ‚เฉฐ เจ‡เฉฐเจธเจŸเจพเจฒ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ›เฉ‹เจŸเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจธเฉ€ - เจ—เฉเฉฐเจฎ dkms เจชเฉˆเจ•เฉ‡เจœเฅค เจ‡เจน เจ‡เฉฑเจ• เจธเฉ‡เจตเจพ เจนเฉˆ เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจฐเฉ‹เจค เจคเฉ‹เจ‚ เจ•เจฐเจจเจฒ เจฎเฉ‹เจกเฉ€เจŠเจฒ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆเฅค เจ‡เฉฑเจ• เจจเจฟเจฏเจฎ เจฆเฉ‡ เจคเฉŒเจฐ เจคเฉ‡, เจ‡เจน เจธเจพเจฐเฉ‡ deb เจตเฉฐเจกเจพเจ‚ 'เจคเฉ‡ เจ‰เจชเจฒเจฌเจง เจนเฉˆเฅค เจฎเฉˆเจจเฉ‚เฉฐ เจ‡เจธเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจคเฉ€เจœเฉ€-เจชเจพเจฐเจŸเฉ€ เจกเฉˆเจฌ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจคเฉ‹เจ‚ เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เจฐเจจเจพ เจชเจฟเจ†. เจ‡เฉฑเจ• เจšเฉ€เจœเจผ เจœเจฟเจธเจจเฉ‡ เจฎเฉˆเจจเฉ‚เฉฐ เจ–เฉเจธเจผ เจ•เฉ€เจคเจพ เจ‰เจน เจ‡เจน เจนเฉˆ เจ•เจฟ เจชเฉˆเจ•เฉ‡เจœ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ, เจ‡เจธเจฒเจˆ เจ‡เจน เจ‡เฉฑเจ• เจฆเฉ‡เจธเฉ€ เจตเจพเจ‚เจ— เจซเจฟเฉฑเจŸ เจฌเฉˆเจ เจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจจเฉ‚เฉฐ เจ‰เจชเจฒเจฌเจง เจชเฉˆเจ•เฉ‡เจœเจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจ•เจฟเจ‰เจ‚ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ†, เจœเจพเจ‚ เจ‡เจธ เจฆเฉ€ เจฌเจœเจพเจ, [TBD] เจตเจฟเจ•เจธเจฟเจค เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ†? เจธเจผเจพเจ‡เจฆ เจ‡เจน เจฎเฉฐเจจเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เจฟเจธเฉ‡ เจจเฉ‚เฉฐ เจตเฉ€ เจ—เฉˆเจฐ-MCST เจ•เจฐเจจเจฒ เจฎเฉ‹เจกเฉ€เจŠเจฒ เจฌเจฃเจพเจ‰เจฃ เจ…เจคเฉ‡ เจšเจฒเจพเจ‰เจฃเจพ เจจเจนเฉ€เจ‚ เจšเจพเจนเฉ€เจฆเจพเฅค เจ‡เฉฑเจฅเฉ‡ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ…เฉฐเจคเจฐ เจนเฉˆ - เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เฉฑเจฅเฉ‡ เจฒเฉ€เจจเจ•เจธ-เจธเจฟเจฐเจฒเฉ‡เจ– เจนเจจ. เจฏเจพเจจเฉ€, เจฎเฉ‹เจกเฉ€เจŠเจฒ, เจœเฉ‡เจ•เจฐ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡, เจนเฉฑเจฅ เจจเจพเจฒ เจ…เจธเฉˆเจ‚เจฌเจฒ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจฎเจธเจผเฉ€เจจ เจฆเฉ‡ เจšเจพเจฒเฉ‚ เจนเฉ‹เจฃ 'เจคเฉ‡ เจธเจ•เฉเจฐเจฟเจชเจŸ เจฆเฉเจ†เจฐเจพ เจฒเจพเจ‚เจš เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจฎเฉˆเจจเฉ‚เฉฐ เจฒเฉฑเจ—เจฆเจพ เจนเฉˆ เจ•เจฟ เจคเฉเจนเจพเจจเฉ‚เฉฐ MCST [TBD] เจคเฉ‹เจ‚ เจฒเจ—เจพเจคเจพเจฐ เจ…เฉฑเจชเจกเฉ‡เจŸ เจฆเฉ€ เจ‰เจฎเฉ€เจฆ เจจเจนเฉ€เจ‚ เจ•เจฐเจจเฉ€ เจšเจพเจนเฉ€เจฆเฉ€เฅค

โ€œเจ เฉ€เจ• เจนเฉˆ, เจฎเฉ‹เจกเฉ€เจŠเจฒ เจ‡เฉฐเจธเจŸเจพเจฒ เจนเฉˆ - เจธเจญ เจคเฉ‹เจ‚ เจ”เจ–เจพ เจนเจฟเฉฑเจธเจพ เจ–เจคเจฎ เจนเฉ‹ เจ—เจฟเจ† เจนเฉˆ,โ€ เจฎเฉˆเจ‚ เจธเฉ‹เจšเจฟเจ†... เจกเฉˆเจฌ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจฒเจˆ เจตเฉ€เจฎ เจชเฉˆเจ•เฉ‡เจœ amd64 เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ เจฒเจˆ เจนเฉˆ, เจ…เจคเฉ‡ เจเจฒเจฌเจฐเจธ OS เจ•เฉ‹เจฒ เจ‡เฉฑเจ• x86_64 [TBD] เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ เจนเฉˆเฅค เจ…เฉฐเจคเจฐ, เจฌเฉ‡เจธเจผเฉฑเจ•, เจธเจฟเจฐเจซ เจจเจพเจฎ เจตเจฟเฉฑเจš เจนเฉˆ, เจชเจฐ เจ‡เจน เจ…เฉฐเจคเจฐ เจคเฉ€เจœเฉ€-เจงเจฟเจฐ เจฆเฉ‡ เจกเฉˆเจฌ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€เจ†เจ‚ เจฆเฉ‡ เจฒเจ—เจญเจ— เจธเจพเจฐเฉ‡ เจชเฉˆเจ•เฉ‡เจœเจพเจ‚ เจจเฉ‚เฉฐ เจเจฒเจฌเจฐเจธ OS เจจเจพเจฒ เจ…เจธเฉฐเจ—เจค เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจคเฉฐเจ— เจ•เจฐเจจ เจตเจพเจฒเฉ€ เจ—เจฒเจคเจซเจนเจฟเจฎเฉ€ เจจเฉ‚เฉฐ เจ†เจธเจพเจจเฉ€ เจจเจพเจฒ เจฆเฉ‚เจฐ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ: เจฌเจธ เจชเฉˆเจ•เฉ‡เจœ เจจเฉ‚เฉฐ เจตเฉฑเจ– เจ•เจฐเฉ‹, เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจจเฉ‚เฉฐ เจ เฉ€เจ• เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจ‡เจ•เฉฑเจ เฉ‡ เจ•เจฐเฉ‹เฅค เจ‡เจน เจ•เจฟเจตเฉ‡เจ‚ เจ•เจฐเจจเจพ เจนเฉˆ เจ‡เจธ เจจเฉ‚เฉฐ เจ—เฉ‚เจ—เจฒ เจ•เฉ€เจคเจพ เจคเฉเจฐเฉฐเจค.

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

เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจธเจฎเฉฑเจธเจฟเจ† เจจเจฟเจฐเจญเจฐเจคเจพ เจนเฉˆเฅค เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€เจ†เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจ‰เฉฑเจฅเฉ‡ เจœเจพเจชเจฆเฉ€เจ†เจ‚ เจนเจจ, เจชเจฐ เจชเฉˆเจ•เฉ‡เจœ เจจเจนเฉ€เจ‚ เจนเจจ. เจชเฉเจฐเจญเจพเจต เจ‡เจน เจธเฉ€ เจ•เจฟ เจชเฉˆเจ•เฉ‡เจœเจพเจ‚ เจฆเฉ‡ เจจเจพเจฎ เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ "เจ†เจฏเจพเจค เจ•เฉ€เจคเฉ‡ เจเจจเจพเจฒเจพเจ—" เจคเฉ‹เจ‚ เจตเฉฑเจ–เจฐเฉ‡ เจธเจจเฅค เจธเจผเจพเจ‡เจฆ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจตเฉฑเจ–เจฐเฉ‡ เจขเฉฐเจ— เจจเจพเจฒ เจชเฉˆเจ• เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจฎเฉˆเจ‚ เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจตเฉ‡เจฐเจตเฉ‡ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจ—เจฟเจ†, เจฒเจ—เจญเจ— เจธเจพเจฐเฉ€เจ†เจ‚ เจจเจฟเจฐเจญเจฐเจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจนเจŸเจพ เจฆเจฟเฉฑเจคเจพ, เจ…เจคเฉ‡ เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ เจ…เฉฑเจ—เฉ‡ เจตเจง เจ—เจˆ.

เจซเจฟเจฐ เจธเจฐเจตเจฟเจธ เจธเจŸเจพเจฐเจŸ เจ•เฉ‹เจก เจจเจพเจฒ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจธเจพเจนเจฎเจฃเฉ‡ เจ†เจˆเจ†เจ‚เฅค เจธเจ•เฉเจฐเจฟเจชเจŸ /lib/init/vars.sh เจ—เฉเฉฐเจฎ เจธเฉ€เฅค เจ•เจฟเจธเฉ‡ เจ•เจพเจฐเจจ เจ•เจฐเจ•เฉ‡, เจเจฒเจฌเจฐเจธ เจ‡เจธ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ‡เจธเจฒเจˆ เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจตเฉ€ เจนเจŸเจพ เจฆเฉ‡เจตเจพเจ‚เจ—เฉ‡เฅค เจ…เฉฑเจ—เฉ‡, เจธเจพเจจเฉ‚เฉฐ เจธเฉเจจเฉ‡เจนเจพ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจซเฉฐเจ•เจธเจผเจจ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃเจพ เจชเจฟเจ†: log_daemon_msg เจ…เจคเฉ‡ log_end_msg เจซเฉฐเจ•เจธเจผเจจ เจ—เฉเฉฐเจฎ เจธเจจเฅค /lib/lsb/init-functions เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจ˜เฉเฉฐเจฎเจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจฎเฉˆเจจเฉ‚เฉฐ log_success_msg เจซเฉฐเจ•เจธเจผเจจ เจฎเจฟเจฒเจฟเจ† - เจ‡เจน เจชเฉเจฐเจฏเฉ‹เจ—เจพเจ‚ เจฒเจˆ เจธเจพเจกเฉ‡ เจฒเจˆ เจšเฉฐเจ—เจพ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจตเฉˆเจธเฉ‡, /lib/lsb/init-functions เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš [TBD] เจซเจพเจˆเจฒ เจฆเฉ‡ เจธเจผเฉเจฐเฉ‚ เจตเจฟเฉฑเจš โ€œ# เจธเจฐเฉ‹เจค SuSE`s rc เจซเฉฐเจ•เจธเจผเจจโ€ เจฒเจพเจˆเจจ เจนเฉˆเฅค

เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจฆเฉ‡ เจจเจพเจฒ เจชเฉˆเจ•เฉ‡เจœ เจฆเฉ€ เจ…เจœเจฟเจนเฉ€ เจฐเจซ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, NFS เจธเจผเฉ‡เจ…เจฐ เจ‰เฉฑเจคเฉ‡ เจชเฉ‚เจฐเฉ€-เจฎเจธเจผเฉ€เจจ เจฌเฉˆเจ•เจ…เฉฑเจช เจธเจซเจฒเจคเจพเจชเฉ‚เจฐเจตเจ• เจฒเจพเจ‚เจš เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค เจฌเฉˆเจ•เจ…เฉฑเจช เจฎเจพเจŠเจ‚เจŸ เจตเฉ€ เจธเจซเจฒ เจฐเจฟเจนเจพเฅค เจ‡เจธ เจฒเจˆ, เจฎเฉ‡เจฐเจพ เจฎเฉฐเจจเจฃเจพ เจนเฉˆ เจ•เจฟ เจเจฒเจฌเจฐเจธ เจชเฉ€เจกเฉ€เจ•เฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจฎเจธเจผเฉ€เจจ เจฆเจพ เจฌเฉˆเจ•เจ…เฉฑเจช เจฒเฉˆเจฃ เจฒเจˆ, เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจธเฉ‡ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐเฉ€ เจฆเฉ‡ "เจ‰เจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚" เจกเจพเจ‰เจจเจฒเฉ‹เจก เจ•เฉ€เจคเฉ€ เจ—เจˆ, เจฒเฉ€เจจเจ•เจธ เจฒเจˆ เจตเฉ€เจฎ เจเจœเฉฐเจŸ เจจเจฟเจธเจผเจšเจค เจคเฉŒเจฐ 'เจคเฉ‡ เจขเฉเจ•เจตเจพเจ‚ เจนเฉˆ. เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจฆเฉ‡ เจจเจพเจฒ เจธเจพเจฐเฉ€เจ†เจ‚ เจธเฉ‹เจงเจพเจ‚ เจฆเฉ‡ เจฌเจพเจ…เจฆ เจตเฉ€.

เจฌเฉ‡เจธเจผเฉฑเจ•, เจเจฒเจฌเจฐเจธ OS เจกเจฟเจธเจŸเฉเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจ เจ•เจฟเฉฑเจŸ เจฐเจธเจฎเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจธเจฎเจฐเจฅเจฟเจค เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจธเจฎเจฐเจฅเจฟเจค เจฒเฉ‹เจ•เจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจฒเฉ€เจจเจ•เจธ เจฒเจˆ เจตเฉ€เจฎ เจเจœเฉฐเจŸ เจฆเฉ€ QA เจตเจฟเจญเจพเจ— เจฆเฉเจ†เจฐเจพ เจœเจพเจ‚เจš เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€, เจ‡เจธ เจฒเจˆ เจ‰เจน. เจ•เฉ‹เจˆ เจธเจฎเจฐเจฅเจจ เจจเจนเฉ€เจ‚ เจนเฉˆ (เจ˜เฉฑเจŸเฉ‹ เจ˜เฉฑเจŸ เจฒเฉ‡เจ– เจฆเฉ‡ เจชเฉเจฐเจ•เจพเจธเจผเจจ เจฆเฉ‡ เจธเจฎเฉ‡เจ‚)เฅค

เจฎเฉˆเจจเฉ‚เฉฐ เจ‰เจฎเฉ€เจฆ เจนเฉˆ เจ•เจฟ เจฒเฉ‡เจ– เจ‰เจนเจจเจพเจ‚ เจฒเจˆ เจฒเจพเจญเจฆเจพเจ‡เจ• เจนเฉ‹เจตเฉ‡เจ—เจพ เจœเฉ‹ 334 เจœเฉ‚เจจ, 29.06.2017 เจฆเฉ‡ เจ†เจฐเจกเจฐ เจจเฉฐเจฌเจฐ XNUMX เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐ เจฐเจนเฉ‡ เจนเจจเฅค เจฎเฉ‡เจฐเจพ เจคเฉเจนเจพเจกเฉ‡ เจฒเจˆ... [TBD]เฅค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹