Elbrus OS рдорд╛ Veeam рдмрд╛рдЯ рд▓рд┐рдирдХреНрд╕ рдмреНрдпрд╛рдХрдЕрдкред рдЖрдпрд╛рдд рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди ['?' | 'ред' | '!']

рд╕рдмреИрд▓рд╛рдИ рдирдорд╕реНрдХрд╛рд░ред
Habr├й рдорд╛ рднрд░реНрдЦрд░рдХрд╛ рд▓реЗрдЦрд╣рд░реВ рд╡реНрдпрд╡рд╣рд╛рд░рдорд╛ рдЖрдпрд╛рдд рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрдиред рднрд╛рдЧ рез. рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ ╨╕ рд╕рдВрдЧреАрдд рд▓рд╛рдореЛ рд╕рдордпрд╕рдореНрдо рдмрдЬреНрджреИрди ... рд╡рд╛ рдХрд╕рд░реА Elbrus OS рдХрд╣рд┐рд▓реНрдпреИ рд╕реНрд╡рддрдиреНрддреНрд░ рднрдПрди рдорд▓рд╛рдИ рдЙрджрд╛рд╕реАрди рдЫреЛрдбреЗрдиред рдореИрд▓реЗ рдмреНрдпрд╛рдХрдЕрдк рдХрд╛рд░реНрдпрдХреЛ рд╕рдиреНрджрд░реНрднрдорд╛ рдпреЛ рдореБрджреНрджрд╛ рдЕрдзреНрдпрдпрди рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗрдВред рдпрд╕рдмрд╛рд╣реЗрдХ, рдорд╛ рдпреЛ рд▓реЗрдЦ Veeam рд╕рдлреНрдЯрд╡реЗрдпрд░ рдЙрддреНрдкрд╛рджрдирд╣рд░реВ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рдХреЛ рдорддрд▓рдм рдпреЛ рдореБрджреНрджрд╛ рдЖрдпрд╛рдд рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрдирдХреЛ рд╕рдиреНрджрд░реНрднрдорд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдкрдорд╛ рд╕рд╛рдиреНрджрд░реНрднрд┐рдХ рд╣реБрди рд╕рдХреНрдЫред

Elbrus OS рдорд╛ Veeam рдмрд╛рдЯ рд▓рд┐рдирдХреНрд╕ рдмреНрдпрд╛рдХрдЕрдкред рдЖрдпрд╛рдд рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди ['?' | 'ред' | '!']
рдореВрд▓ рдЫрд╡рд┐ рд╕реНрд░реЛрдд

рд╕рдмреИрднрдиреНрджрд╛ рдкрд╣рд┐рд▓реЗ, рдореИрд▓реЗ Elbrus OS рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗрдВ, рд╡рд╛ рдмрд░реБ, x86_64 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рддреНрд░ рдЙрдкрд▓рдмреНрдз рд╡рд┐рддрд░рдг, рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН рдпрд╕рд▓реЗ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрджрдЫ, рд░ рдпрд╕рдорд╛ рд▓рд┐рдирдХреНрд╕рдХреЛ рд▓рд╛рдЧрд┐ Veeam рдПрдЬреЗрдиреНрдЯ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдпрд╕рдмрд╛рдЯ рдХреЗ рднрдпреЛ рдЬрд╛рдиреНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдмрд┐рд░рд╛рд▓реЛ рд╣реЗрд░реНрдиреБрд╣реЛрд╕реНред

рддреНрдпрд╕реЛрднрдП, рдПрдЙрдЯрд╛ рд╕рд╛рдиреЛ рдбрд┐рдЧреНрд░реЗрд╢рди, рдпрджрд┐ рдХрд╕реИрд▓рд╛рдИ рдерд╛рд╣рд╛ рдЫреИрдиред "Elbrus" рдпрд╕реНрддреИ рдЫ рдкреНрд░реЛрд╕реЗрд╕рд░ рдПрдХ рдмрд░реБ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрджреЗрд╢ рдкреНрд░рдгрд╛рд▓реА рд╕рдВрдЧред рдпрд╕рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд, рддреНрдпрд╣рд╛рдБ Elbrus OS рд╕рдлреНрдЯрд╡реЗрдпрд░ рдЫред рд░ - рд▓реЛрдХрдкреНрд░рд┐рдп рд╡рд┐рд╢реНрд╡рд╛рд╕рдХреЛ рд╡рд┐рдкрд░реАрдд - Elbrus OS рд╕рдЮреНрдЪрд╛рд▓рди рдЧрд░реНрди, Elbrus рдкреНрд░реЛрд╕реЗрд╕рд░рдорд╛ рдЖрдзрд╛рд░рд┐рдд рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкреНрд░рдгрд╛рд▓реА рд╣реБрдиреБ рдЖрд╡рд╢реНрдпрдХ рдЫреИрдиред рддреНрдпрд╣рд╛рдБ x86 рдХреЛ рд▓рд╛рдЧрд┐ "PDK "Elbrus" рдЫ - рд╡рд╛рд╕реНрддрд╡рдорд╛, рдпреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдбреЛрдореЗрдирдорд╛ рд╕реНрдерд╛рдкрдирд╛ рдбрд┐рд╕реНрдХрдХреЛ рд░реВрдкрдорд╛ рджреЗрдЦрд╛ рдкрд░реНтАНрдпреЛред рд╡реИрд╕реЗ, рддреНрдпрд╣рд╛рдБ рдлреБрдЯрдиреЛрдЯ "PDK - рдкреНрд▓реЗрдЯрдлрд░реНрдо рд╡рд┐рдХрд╛рд╕ рдХрд┐рдЯ, рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ рдХрд┐рдЯ" рдЫ - рдЙрддреНрдХреГрд╖реНрдЯ, рдпрд╕рдХреЛ рдорддрд▓рдм рддреНрдпрд╣рд╛рдБ рдХрдореНрддрд┐рдорд╛ рдПрдХ рдХрдореНрдкрд╛рдЗрд▓рд░ рдЫред

рдЕрд░реНрдХреЛ рд╕рд╛рдиреЛ рдЬрдмрд░рдЬрд╕реНрддреА рд░рд┐рдЯреНрд░реАрдЯред рддрдереНрдп рдпреЛ рд╣реЛ рдХрд┐ рдореИрд▓реЗ рдПрдХ рдкрдЯрдХ рдШрд░реЗрд▓реБ рд╕рдлреНрдЯрд╡реЗрдпрд░, рдЬрд╕реНрддреИ MSVS рд░ Baguette RTOS рд╕рдБрдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдЧрд░реЗрдВред рдорд╕рдБрдЧ MCST рдмрд╛рдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рд╣рд┐рдд рдШрд░реЗрд▓реБ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗ рдЕрдиреБрднрд╡ рдерд┐рдпреЛред рддреНрдпрд╕рдХрд╛рд░рдг, рдо рдкреВрд░реНрдг рдЬрд┐рдореНрдореЗрд╡рд╛рд░реАрдХрд╛ рд╕рд╛рде рднрдиреНрди рд╕рдХреНрдЫреБ рдХрд┐ рдпрд╕ рдХреНрд╖реЗрддреНрд░рдорд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдЫ рд░ рдо рд▓реЗрдЦрдорд╛ рдпрд╕рд▓рд╛рдИ рдЫреБрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреЗрдЫреБред рдЬрдм рдо рд╕рд╛рдБрдЪреНрдЪреИ рдЪрд╛рд╣рдиреНрдЫреБ, рдо рдЯреНрдпрд╛рдЧ [TBD] рд░рд╛рдЦреНрдиреЗрдЫреБред рддреНрдпрд╕реЛрднрдП рд╣рд╛рдореА рд╕реНрдкрд╖реНрдЯ рдЯреНрд░реЛрд▓рд┐рдЩ рд░ рд╕рд╛рдзрд╛рд░рдг рд╡рд┐рд▓рд╛рдк рдмрд┐рдирд╛ рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреЗрдЫреМрдВред рдЕрдиреНрддрдорд╛, рд░реВрд╕реА рд░рдХреНрд╖рд╛ рдЙрджреНрдпреЛрдЧ рд░ рд╕рд░рдХрд╛рд░реА рдПрдЬреЗрдиреНрд╕реАрд╣рд░реВ рдмреБрдЭреНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдареВрд▓реЛ рджреЗрд╢ - рд╕рд╛рдиреЛ рдмрдЬреЗрдЯ.. [TBD]ред

рд╢реВрдиреНрдп рдЪрд░рдг - рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдпреЛ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдЫ рдХрд┐ Elbrus OS рдЙрдкрд▓рдмреНрдз рднрдПрдХреЛ рд╕рдорд╛рдЪрд╛рд░рд▓реЗ рдПрдХ рдкреНрд░рддрд┐рдзреНрд╡рдирд┐ рдирд┐рдореНрддреНрдпрд╛рдпреЛ, рдпрддрд┐ рдзреЗрд░реИ рдХрд┐ рд╡рд┐рддрд░рдг рд╕рд░реНрднрд░ рддрд▓ рдЧрдпреЛред [TBD] Yandex рд░ рдЗрдиреНрдЬрд┐рдирд┐рдпрд░рд▓рд╛рдИ рдзрдиреНрдпрд╡рд╛рдж рдЬрд╕рд▓реЗ рдпрд╕рд▓рд╛рдИ рддреНрдпрд╣рд╛рдБ рд╕рд╛рд░реНрди рд╕реЛрдЪреНрдпреЛред рддреНрдпрд╕реИрд▓реЗ рдбрд╛рдЙрдирд▓реЛрдб рдЧрддрд┐ рд░рд╛рдореНрд░реЛ рдЫред

рдкрд╣рд┐рд▓реЛ рдЪрд░рдг - рд╕реНрдерд╛рдкрдирд╛ред рдореИрд▓реЗ рдпрд╕рд▓рд╛рдИ рдкрд╣рд┐рд▓реЛ рд╣рд╛рдЗрдкрд░рд╡рд╛рдЗрдЬрд░рдорд╛ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реЗрдВ рдЬреБрди рдирд┐: рд╢реБрд▓реНрдХ рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрд▓рдмреНрдз рдерд┐рдпреЛред рдореИрд▓реЗ рджреБрдИ рдХреЛрд░, RAM рдХреЛ рдПрдХ рдЬреЛрдбреА, 32 MB рднрд┐рдбрд┐рдпреЛрдХреЛ рд▓рд╛рдЧрд┐ рдЖрд╡рдВрдЯрд┐рдд рдЧрд░реЗ (рддреНрдпрд╣рд╛рдБ рдПрдХ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕ рд╣реБрдиреЗрдЫ, рдореИрд▓реЗ рд╕реЛрдЪреЗ)ред рдбрд┐рд╕реНрдХ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдкрдорд╛ рдЫ - 32 рдЬреАрдмреАред
рдореИрд▓реЗ рд╕реНрдерд╛рдкрдирд╛ рд╕реБрд░реБ рдЧрд░реЗрдВред рдореИрд▓реЗ рд╕реНрдерд╛рдкрдирд╛ рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рди, рддреНрдпрд╕реИрд▓реЗ рдо рдпрд╕рдорд╛ рдЯрд┐рдкреНрдкрдгреА рдЧрд░реНрди рд╕рдХреНрджрд┐рдиред TUI рд╕реНрдерд╛рдкрдирд╛ рдЗрдиреНрдЯрд░рдлреЗрд╕ рдЧрдореНрднреАрд░ рд░реВрдкрдорд╛ рдиреНрдпреВрдирддрдо рдЫред

Elbrus OS рдорд╛ Veeam рдмрд╛рдЯ рд▓рд┐рдирдХреНрд╕ рдмреНрдпрд╛рдХрдЕрдкред рдЖрдпрд╛рдд рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди ['?' | 'ред' | '!']
рдареАрдХ рдЫ, рд░рд╛рдореНрд░реЛ, рд╣рд╛рдореА рдорд╛рдЙрд╕ рдмрд┐рдирд╛ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВред

рдореИрд▓реЗ рджреЛрд╕реНрд░реЛ рдкреНрд░рдпрд╛рд╕рдорд╛ рдЕрд░реНрдХреЛ рд╡рд┐рдиреНрдбреЛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реЗрдВред рдХрд┐рди рдбрд┐рд╕реНрдХрдмрд╛рдЯ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрджрд╛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЙрдкрдХрд░рдг sr0 [TBD] рдЪрдпрди рдирдЧрд░реНрдиреЗ?
CD-ROM рд╕реНрд░реЛрдд рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдЕрдЧрд╛рдбрд┐ рдмрдвреНрдиреБрд╣реЛрд╕реНред

Elbrus OS рдорд╛ Veeam рдмрд╛рдЯ рд▓рд┐рдирдХреНрд╕ рдмреНрдпрд╛рдХрдЕрдкред рдЖрдпрд╛рдд рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди ['?' | 'ред' | '!']

рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдЪрдпрди рдЧрд░реНрджрд╛, рдореИрд▓реЗ рдЕрдЪрд╛рдирдХ рдорд╣рд╕реБрд╕ рдЧрд░реЗрдВ рдХрд┐ рдкреНрд░рдгрд╛рд▓реАрд▓реЗ init рдмреБрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ, рд░ рдо TTY0 рдмрд╛рдЯ рдХрд╛рдо рдЧрд░реНрджреИрдЫреБред

Elbrus OS рдорд╛ Veeam рдмрд╛рдЯ рд▓рд┐рдирдХреНрд╕ рдмреНрдпрд╛рдХрдЕрдкред рдЖрдпрд╛рдд рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди ['?' | 'ред' | '!']

рдареАрдХ рдЫ, рддреНрдпрд╕рдкрдЫрд┐ рд╕рдореБрджрд╛рдпрдХреЛ рд░реВрдкрдорд╛ "Elbrus" рд╡рд░реНрдЧреАрдХрд░рдг рдЧрд░реМрдВ рдкреБрд░рд╛рдирд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕реАрд╣рд░реВ[TBD]ред рд╕рд┐рджреНрдзрд╛рдиреНрддрдорд╛, рдпреЛ рд░рд╛рдореНрд░реЛ рдЫ: рддрдкрд╛рдИрдВрд▓реЗ рдбрд╛рдЙрдирд▓реЛрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрджрдЫ рднрдиреЗрд░ рд╣реЗрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрд░реЛрдд рдХреЛрдб рд╕реЛрдзреНрдиреБ рдкрд░реНрджреИрди, рдХрд┐рдирдХрд┐ рд╕рдмреИ рдХреБрд░рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫред

рдмрд╛рдБрдХреА рд▓рдЧрднрдЧ рдорд╣рддреНрд╡рд╣реАрди рдЫ: рд╣рд╛рдореА рд╕рдмреИ рд░рд╛рдЦреНрдЫреМрдВ рд░ рд╕рд╣рдордд рдЫреМрдВред рдмрд╛рдЯреЛрдорд╛, рд╣рд╛рдореАрд▓реЗ рдкрддреНрддрд╛ рд▓рдЧрд╛рдпреМрдВ рдХрд┐ рдХрд░реНрдиреЗрд▓ 3.14.79-13.84 рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдЫред рд╣рдореНрдо, рдбреЗрдмрд┐рдпрди рен рдорд╛ рей.реи [TBD] рдерд┐рдпреЛред

рдЕрд░реНрдХреЛ, рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдбрд┐рд╕реНрдХ рд╡рд┐рднрд╛рдЬрди рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░... рд╣рд╛рдореА рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рджреЗрдЦреНрдЫреМрдВ:

Elbrus OS рдорд╛ Veeam рдмрд╛рдЯ рд▓рд┐рдирдХреНрд╕ рдмреНрдпрд╛рдХрдЕрдкред рдЖрдпрд╛рдд рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди ['?' | 'ред' | '!']

рд╣рдореНрдо, рдХреБрдиреИ рдкрдирд┐ рддрд░рд┐рдХрд╛рд▓реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╡рд┐рднрд╛рдЬрдирд▓реЗ 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 bash рд╕реНрдХреНрд░рд┐рдкреНрдЯ /mcst/bin/backup рдЫ рдЬрд╕рд▓реЗ рдлрд╛рдЗрд▓ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ - /mcst/рдмреНрдпрд╛рдХрдЕрдк рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ред рд╕реНрд░реЛрдд рдХреЛрдбрдорд╛ рдореИрд▓реЗ 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, рд╡реИрд╕реЗ, add-on рдорд╛ рд╕рдорд╛рд╡реЗрд╢ рдЫред рднрдгреНрдбрд╛рд░рд╣рд░реВред рд╕рдВрд╕реНрдХрд░рдг рей.рез.рейред рдорд▓рд╛рдИ рд▓рд╛рдЧреНрдЫ рдХрд┐ rsync рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБ рдЕрдЭреИ рдкрдирд┐ /mcst/bin/backup рдЕрдиреБрдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рд░рд╛рдореНрд░реЛ рд╡рд┐рдХрд▓реНрдк рд╣реЛред

рдЕрд░реНрдХреЛ, рдореИрд▓реЗ рдирдпрд╛рдБ рд░рд╛рдЦреНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗрдВ рд▓рд┐рдирдХреНрд╕ рдХреЛ рд▓рд╛рдЧреА Veeam рдПрдЬреЗрдиреНрдЯред рдХрд╕реИрд▓реЗ рд╕реЛрдзреНрдиреЗрдЫ: "Veam рд░ рдЖрдпрд╛рдд рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрдирд╕рдБрдЧ рдХреЗ рд╕рдореНрдмрдиреНрдз рдЫ?" рд╣реЛ, рдпреЛ рджрд░реНрддрд╛рдорд╛ рдЫреИрди, рддрд░ рдпреЛ FSTEC рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдорд╛рдгрд┐рдд рдЫ, рдЬрд╕рдХреЛ рдорддрд▓рдм рдпреЛ рд╡рд┐рдХрд▓реНрдкрдХреЛ рдЕрднрд╛рд╡рдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдмрд╛рдЯ рд╡рд┐рдХрд▓реНрдк рдорд╛ рдкрдиреНрдзреНрд░ рдорд┐рдиреЗрдЯ рдЦрд░реНрдЪ рд░рдЬрд┐рд╕реНрдЯреНрд░реА, рдореИрд▓реЗ "рдмреНрдпрд╛рдХрдЕрдк" рд╢рдмреНрджрдХреЛ рд▓рд╛рдЧрд┐ 3 рд▓рд┐рдЩреНрдХрд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХреНрд╖рдо рднрдПрдБ ("рд░рд┐рдЬрд░реНрд╡" рд╢рдмреНрджрдХреЛ рд▓рд╛рдЧрд┐ рдореЗрд░реЛ рдкреНрд░рд╢реНрдирд╕рдБрдЧ рдХреБрдиреИ рдкрдирд┐ рд╕рдореНрдмрдиреНрдзрд┐рдд рдЫреИрди)ред рдореИрд▓реЗ рдпреА рдХрд╛рд░реНрдпрдХреНрд░рдорд╣рд░реВрдХреЛ рдЧрд╣рд┐рд░реЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЧрд░реЗрдХреЛ рдЫреИрди, рддреНрдпрд╕реИрд▓реЗ рдореИрд▓реЗ рд▓рд┐рдирдХреНрд╕ рдЪрд▓рд╛рдЙрдиреЗ рдореЗрд╕рд┐рдирд╣рд░реВ рдмреНрдпрд╛рдХрдЕрдк рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рддрд┐рдиреАрд╣рд░реВ рдХрддреНрддрд┐рдХреЛ рдЙрдкрдпреБрдХреНрдд рдЫрдиреН рднрдиреЗрд░ рдирд┐рд░реНрдгрдп рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджрд┐рдиред рдЬрд╕рд▓рд╛рдИ рдпреЛ рдЖрд╡рд╢реНрдпрдХ рдЫ рдЙрд╕рд▓реЗ рдЖрдлреНрдиреИ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓реНрдиреЗрдЫ рд░ рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВрдорд╛ рд╕рд╛рдЭрд╛ рдЧрд░реНрдиреЗрдЫред

рдЪрд░рдг рддреАрди - рд▓рд┐рдирдХреНрд╕ рдХреЛ рд▓рд╛рдЧреА Veeam рдПрдЬреЗрдиреНрдЯ рдХреЛ рд╕реНрдерд╛рдкрдирд╛ред
рддреНрдпрд╕реЛрднрдП, рд▓рд┐рдирдХреНрд╕рдХрд╛ рд▓рд╛рдЧрд┐ Veeam рдПрдЬреЗрдиреНрдЯрд▓реЗ рджреБрдИ рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ: veeamsnap рдХрд░реНрдиреЗрд▓ рдореЛрдбреНрдпреБрд▓ (рдпрд╕реИрд▓реЗ, рд╕реНрд░реЛрдд рдпрд╣рд╛рдБ) рд░ veeam рдкреНрдпрд╛рдХреЗрдЬрдХреЛ рд░реВрдкрдорд╛ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛-рд╕реНрдкреЗрд╕ рдХреЛрдбред

рдХрд░реНрдиреЗрд▓ рдореЛрдбреНрдпреБрд▓ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрджрд╛ рдПрдЙрдЯрд╛ рд╕рд╛рдиреЛ рд╕рдорд╕реНрдпрд╛ рдерд┐рдпреЛ - рд╣рд░рд╛рдПрдХреЛ dkms рдкреНрдпрд╛рдХреЗрдЬред рдпреЛ рдПрдХ рд╕реЗрд╡рд╛ рд╣реЛ рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╕реНрд░реЛрддрдмрд╛рдЯ рдХрд░реНрдиреЗрд▓ рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдПрдХ рдирд┐рдпрдо рдХреЛ рд░реВрдк рдорд╛, рдпреЛ рд╕рдмреИ deb рд╡рд┐рддрд░рдг рдорд╛ рдЙрдкрд▓рдмреНрдз рдЫред рдореИрд▓реЗ рдпрд╕рд▓рд╛рдИ рддреЗрд╕реНрд░реЛ-рдкрдХреНрд╖ рдбреЗрдм рднрдгреНрдбрд╛рд░рдмрд╛рдЯ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрдиреБрдкрд░реНтАНрдпреЛред рдПрдЙрдЯрд╛ рдХреБрд░рд╛рд▓реЗ рдорд▓рд╛рдИ рдЦреБрд╕реА рдмрдирд╛рдпреЛ рдХрд┐ рдкреНрдпрд╛рдХреЗрдЬ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛рдорд╛ рдирд┐рд░реНрднрд░ рдЧрд░реНрджреИрди, рддреНрдпрд╕реИрд▓реЗ рдпреЛ рдПрдХ рджреЗрд╢реА рдЬрд╕реНрддреИ рдлрд┐рдЯ рд╣реБрдиреНрдЫред рдХрд┐рди рдпреЛ рдЙрдкрд▓рдмреНрдз рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВрдХреЛ рд╕реВрдЪреАрдорд╛ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░рд┐рдПрди, рд╡рд╛ рдмрд░реБ, [TBD] рд╡рд┐рдХрд╕рд┐рдд рднрдПрди? рд╕рд╛рдпрдж рдпреЛ рдорд╛рдирд┐рдиреНрдЫ рдХрд┐ рдХрд╕реИрд▓реЗ рдкрдирд┐ рдЧреИрд░-MCST рдХрд░реНрдиреЗрд▓ рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рдирд┐рд░реНрдорд╛рдг рд░ рдЪрд▓рд╛рдЙрдиреБ рд╣реБрдБрджреИрдиред рддреНрдпрд╣рд╛рдБ рд╕рд╛рдБрдЪреНрдЪреИ рдпрд╣рд╛рдБ рдПрдХ рд╡рд┐рд╕рдВрдЧрддрд┐ рдЫ - рдХрд┐рдирдХрд┐ рддреНрдпрд╣рд╛рдБ рд▓рд┐рдирдХреНрд╕-рд╣реЗрдбрд░рд╣рд░реВ рдЫрдиреНред рддреНрдпреЛ рд╣реЛ, рдореЛрдбреНрдпреБрд▓, рдпрджрд┐ рдЪрд╛рд╣рд┐рдпреЛ рднрдиреЗ, рд╣рд╛рддрд▓реЗ рднреЗрд▓рд╛ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рд░ рдореЗрд╕рд┐рди рд╕реБрд░реБ рд╣реБрдБрджрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯрджреНрд╡рд╛рд░рд╛ рд╕реБрд░реВ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдорд▓рд╛рдИ рд▓рд╛рдЧреНрдЫ рдХрд┐ рддрдкрд╛рдИрдВрд▓реЗ MCST [TBD] рдмрд╛рдЯ рдмрд╛рд░рдореНрдмрд╛рд░ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХрд╣рд░реВрдХреЛ рдЖрд╢рд╛ рдЧрд░реНрдиреБ рд╣реБрдБрджреИрдиред

"рдареАрдХ рдЫ, рдореЛрдбреНрдпреБрд▓ рд╕реНрдерд╛рдкрдирд╛ рднрдпреЛ - рд╕рдмреИрднрдиреНрджрд╛ рдХрдард┐рди рднрд╛рдЧ рд╕рдХрд┐рдпреЛ," рдореИрд▓реЗ рд╕реЛрдЪреЗ... deb рднрдгреНрдбрд╛рд░рдХреЛ рд▓рд╛рдЧрд┐ veeam рдкреНрдпрд╛рдХреЗрдЬ amd64 рдкреНрд▓реЗрдЯрдлрд░реНрдордХреЛ рд▓рд╛рдЧрд┐ рд╣реЛ, рд░ Elbrus OS рд╕рдБрдЧ 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 рдпреЛ рдмрд┐рдирд╛ рдиреИ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрдЫ, рддреНрдпрд╕реИрд▓реЗ рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ рдкрдирд┐ рд╣рдЯрд╛рдЙрдиреЗрдЫреМрдВред рдЕрд░реНрдХреЛ, рд╣рд╛рдореАрд▓реЗ рд╕рдиреНрджреЗрд╢ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рдХрд╛рд░реНрдпрд▓рд╛рдИ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реНрдиреБрдкрд░реНтАНрдпреЛ: log_daemon_msg рд░ log_end_msg рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рд╣рд░рд╛рдЗрд░рд╣реЗрдХрд╛ рдерд┐рдПред /lib/lsb/init-functions рдлрд╛рдЗрд▓рдорд╛ рд╡рд░рд┐рдкрд░рд┐ рд░рдореЗрдЬ рдЧрд░реЗрдкрдЫрд┐, рдореИрд▓реЗ log_success_msg рдкреНрд░рдХрд╛рд░реНрдп рдлреЗрд▓рд╛ рдкрд╛рд░реЗ - рдпреЛ рд╣рд╛рдореНрд░реЛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд░рд╛рдореНрд░реЛ рд╣реБрдиреЗрдЫред рд╡реИрд╕реЗ, /lib/lsb/init-functions рдлрд╛рдЗрд▓рдорд╛ рд▓рд╛рдЗрди "# Source SuSE`s rc functions" [TBD] рдлрд╛рдЗрд▓рдХреЛ рд╕реБрд░реБрдорд╛ рдЫред

рдлрд╛рдЗрд▓рдХреЛ рд╕рд╛рде рдкреНрдпрд╛рдХреЗрдЬрдХреЛ рдпрд╕реНрддреЛ рдирд░рд╛рдореНрд░реЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрдЫрд┐, NFS рд╕реЗрдпрд░рдорд╛ рд╕рдореНрдкреВрд░реНрдг-рдореЗрд╕рд┐рди рдмреНрдпрд╛рдХрдЕрдк рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕реБрд░реБ рднрдпреЛред рдмреНрдпрд╛рдХрдЕрдк рдорд╛рдЙрдиреНрдЯ рдкрдирд┐ рд╕рдлрд▓ рднрдпреЛред рддреНрдпрд╕реЛрднрдП, рдорд▓рд╛рдИ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЫ рдХрд┐ Elbrus PDK рд╕рдБрдЧ рдореЗрд╕рд┐рди рдмреНрдпрд╛рдХрдЕрдк рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░рд┐рдПрдХреЛ "рддреНрдпрд╕реНрддреИ" рдХреБрдиреИ рджрд╛рдпрд┐рддреНрд╡ рдмрд┐рдирд╛, рд▓рд┐рдирдХреНрд╕рдХреЛ рд▓рд╛рдЧрд┐ Veeam рдПрдЬреЗрдиреНрдЯ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдкрдорд╛ рдЙрдкрдпреБрдХреНрдд рдЫред рдПрдХ рдлрд╛рдЗрд▓ рд╕рдВрдЧ рд╕рдмреИ рдкрд░рд┐рдорд╛рд░реНрдЬрди рдкрдЫрд┐ рдкрдирд┐ред

рдЕрд╡рд╢реНрдп рдкрдирд┐, Elbrus OS рд╡рд┐рддрд░рдг рдХрд┐рдЯ рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдкрдорд╛ рд╕рдорд░реНрдерд┐рдд рдЫреИрди, рдХрд┐рдирдХрд┐ рдпреЛ рд╕рдорд░реНрдерд┐рдд рд╡реНрдпрдХреНрддрд┐рд╣рд░реВрдХреЛ рд╕реВрдЪреАрдорд╛ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░рд┐рдПрдХреЛ рдЫреИрдиред рдердк рд░реВрдкрдорд╛, рд▓рд┐рдирдХреНрд╕рдХрд╛ рд▓рд╛рдЧрд┐ Veeam рдПрдЬреЗрдиреНрдЯ QA рд╡рд┐рднрд╛рдЧ рджреНрд╡рд╛рд░рд╛ рдкрд░реАрдХреНрд╖рдг рдЧрд░рд┐рдПрдХреЛ рдерд┐рдПрди, рддреНрдпрд╕реИрд▓реЗ рддреАред рддреНрдпрд╣рд╛рдБ рдХреБрдиреИ рд╕рдорд░реНрдерди рдЫреИрди (рдХрдореНрддреАрдорд╛ рд▓реЗрдЦрдХреЛ рдкреНрд░рдХрд╛рд╢рдирдХреЛ рд╕рдордпрдорд╛)ред

рдорд▓рд╛рдИ рдЖрд╢рд╛ рдЫ рдХрд┐ рдЬреБрди 334, 29.06.2017 рдХреЛ рдЖрджреЗрд╢ рдирдореНрдмрд░ XNUMX рд▓рд╛рдЧреВ рдЧрд░реНрди рдХреЛрд╢рд┐рд╕ рдЧрд░реНрдиреЗрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рд▓реЗрдЦ рдЙрдкрдпреЛрдЧреА рд╣реБрдиреЗрдЫред рддрд┐рдореНрд░реЛ рд▓рд╛рдЧрд┐ рдореЗрд░реЛ... [TBD]ред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди