αž€αžΆαžšαž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αž›αžΈαž“αž»αž…αž–αžΈ Veeam αž“αŸ…αž›αžΎ Elbrus OS αŸ” αž“αžΆαŸ†αž…αžΌαž›αž‡αŸ†αž“αž½αžŸ ['?' | 'αŸ”' | '!']

αžŸαž½αžŸαŸ’αžαžΈαž’αŸ’αž“αž€αžšαžΆαž›αŸ‹αž‚αŸ’αž“αžΆαŸ”
αž’αžαŸ’αžαž”αž‘αžαŸ’αž˜αžΈαŸ—αž’αŸ†αž–αžΈ Habre αž€αžΆαžšαž‡αŸ†αž“αž½αžŸαž€αžΆαžšαž“αžΆαŸ†αž…αžΌαž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαŸ” αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 1. αž‡αž˜αŸ’αžšαžΎαžŸ ΠΈ αžαž“αŸ’αžαŸ’αžšαžΈαž˜αž·αž“αž›αŸαž„αž™αžΌαžšαž‘αŸ... αž¬αžšαž”αŸ€αž”αžŠαŸ‚αž› Elbrus OS αž˜αž·αž“αžŠαŸ‚αž›αž‘αŸ†αž“αŸαžš αž˜αž·αž“αž”αžΆαž“αž‘αž»αž€αž±αŸ’αž™αžαŸ’αž‰αž»αŸ†αž–αŸ’αžšαž„αžΎαž™αž€αžŽαŸ’αžαžΎαž™αŸ” αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαžŸαž·αž€αŸ’αžŸαžΆαž”αž‰αŸ’αž αžΆαž“αŸαŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αž”αž‘αž“αŸƒαž€αž·αž…αŸ’αž…αž€αžΆαžšαž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ…αž‘αŸ€αžαž“αŸ…αž€αŸ’αž“αž»αž„ αž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡ αž•αž›αž·αžαž•αž›αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Veeam αžαŸ’αžšαžΌαžœαž”αžΆαž“αž›αžΎαž€αž‘αžΎαž„ αžŠαŸ‚αž›αž˜αžΆαž“αž“αŸαž™αžαžΆ αž”αž‰αŸ’αž αžΆαž“αŸαŸ‡αž’αžΆαž…αž–αžΆαž€αŸ‹αž–αŸαž“αŸ’αž’αž‡αžΆαž–αž·αžŸαŸαžŸαž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αž”αž‘αž“αŸƒαž€αžΆαžšαž‡αŸ†αž“αž½αžŸαž€αžΆαžšαž“αžΆαŸ†αž…αžΌαž›αŸ”

αž€αžΆαžšαž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αž›αžΈαž“αž»αž…αž–αžΈ Veeam αž“αŸ…αž›αžΎ Elbrus OS αŸ” αž“αžΆαŸ†αž…αžΌαž›αž‡αŸ†αž“αž½αžŸ ['?' | 'αŸ”' | '!']
αž”αŸ’αžšαž—αž–αžšαžΌαž”αž—αžΆαž–αžŠαžΎαž˜

αž‡αžΆαžŠαŸ†αž”αžΌαž„ αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž‘αžΆαž‰αž™αž€ Elbrus OS αž¬αž•αŸ’αž‘αž»αž™αž‘αŸ…αžœαž·αž‰ αž˜αžΆαž“αžαŸ‚αž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™αžŠαŸ‚αž›αž˜αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜ x86_64 αž˜αžΎαž›αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž αžΎαž™αž–αŸ’αž™αžΆαž™αžΆαž˜αžŠαŸ†αž‘αžΎαž„ Veeam Agent αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Linux αž“αŸ…αž›αžΎαžœαžΆαŸ” αž…αž„αŸ‹β€‹αžŠαžΉαž„β€‹αžαžΆβ€‹αž˜αžΆαž“β€‹αž’αŸ’αžœαžΈβ€‹αž…αŸαž‰β€‹αž˜αž€β€‹αž˜αžΎαž›β€‹αž†αŸ’αž˜αžΆβ€‹αž‘αžΆαŸ†αž„β€‹αž’αžŸαŸ‹β€‹αž‚αŸ’αž“αžΆαŸ”

αžŠαžΌαž…αŸ’αž“αŸαŸ‡β€‹αž€αžΆαžšβ€‹αž™αž›αŸ‹β€‹αžƒαžΎαž‰β€‹αžαžΌαž…β€‹αž˜αž½αž™β€‹αž€αŸ’αž“αž»αž„β€‹αž€αžšαžŽαžΈβ€‹αžŠαŸ‚αž›β€‹αž’αŸ’αž“αž€β€‹αžŽαžΆβ€‹αž˜αŸ’αž“αžΆαž€αŸ‹β€‹αž˜αž·αž“β€‹αžŠαžΉαž„αŸ” "Elbrus" αž‚αžΊαžŠαžΌαž…αž“αŸ„αŸ‡αŸ” αžαž½αžšαž€αŸ’αž”αžΆαž› αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αž‰αŸ’αž‡αžΆαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αŸ” αž”αž“αŸ’αžαŸ‚αž˜αž–αžΈαž›αžΎαžœαžΆαž˜αžΆαž“αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Elbrus OS αŸ” αž αžΎαž™ - αž•αŸ’αž‘αž»αž™αž‘αŸ…αž“αžΉαž„αž‡αŸ†αž“αžΏαžŠαŸαž–αŸαž‰αž“αž·αž™αž˜ - αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Elbrus OS αžœαžΆαž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž˜αžΆαž“αž”αŸ’αžšαž–αŸαž“αŸ’αž’ Hardware αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Elbrus αž“αŸ„αŸ‡αž‘αŸαŸ” αž˜αžΆαž“ "PDK "Elbrus" αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ x86 - αžαžΆαž˜αž–αž·αžαžœαžΆαž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αžαŸ’αž›αž½αž“αž“αŸ…αž€αŸ’αž“αž»αž„αžŠαŸ‚αž“αžŸαžΆαž’αžΆαžšαžŽαŸˆαž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž‡αžΆαžαžΆαžŸαžŠαŸ†αž‘αžΎαž„αŸ” αž“αž·αž™αžΆαž™αž’αžΈαž‰αŸ’αž…αžΉαž„ αž˜αžΆαž“αž›αŸαžαž™αŸ„αž„ "PDK - platform developer kit, developer kit" - αž›αŸ’αž’αžŽαžΆαžŸαŸ‹ αžŠαŸ‚αž›αž˜αžΆαž“αž“αŸαž™αžαžΆαž™αŸ‰αžΆαž„αž αŸ„αž…αžŽαžΆαžŸαŸ‹αž˜αžΆαž“αž’αŸ’αž“αž€αž…αž„αž€αŸ’αžšαž„αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αŸ”

αž€αžΆαžšαžŠαž€αžαž™αžŠαŸ„αž™αž”αž„αŸ’αžαŸ†αžαžΌαž…αž˜αž½αž™αž‘αŸ€αžαŸ” αž€αžΆαžšαž–αž·αžαž‚αžΊαžαžΆαžαŸ’αž‰αž»αŸ†αž’αŸ’αž›αžΆαž”αŸ‹αž”αžΆαž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž‡αžΆαž˜αž½αž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž€αŸ’αž“αž»αž„αžŸαŸ’αžšαž»αž€αžŠαžΌαž…αž‡αžΆ MSVS αž“αž·αž„ Baguette RTOS αŸ” αžαŸ’αž‰αž»αŸ†αž˜αžΆαž“αž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αžŸαž˜αžΆαžŸαž’αžΆαžαž»αž€αŸ’αž“αž»αž„αžŸαŸ’αžšαž»αž€ αžšαž½αž˜αž‘αžΆαŸ†αž„αžαž½αžšαž€αŸ’αž”αžΆαž›αž–αžΈ MCST αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž αžΎαž™ αžαŸ’αž‰αž»αŸ†αž’αžΆαž…αž“αž·αž™αžΆαž™αžŠαŸ„αž™αž€αžΆαžšαž‘αž‘αž½αž›αžαž»αžŸαžαŸ’αžšαžΌαžœαž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αžαžΆ αž˜αžΆαž“αž—αžΆαž–αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αž“αŸ…αž€αŸ’αž“αž»αž„αžαŸ†αž”αž“αŸ‹αž“αŸαŸ‡ αž αžΎαž™αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž–αŸ’αž™αžΆαž™αžΆαž˜αž˜αž·αž“αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αžœαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αŸ” αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž…αž„αŸ‹αž”αžΆαž“ αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αžŠαžΆαž€αŸ‹αžŸαŸ’αž›αžΆαž€ [TBD]αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž™αžΎαž„β€‹αž“αžΉαž„β€‹αž–αŸ’αž™αžΆαž™αžΆαž˜β€‹αž’αŸ’αžœαžΎβ€‹αžŠαŸ„αž™β€‹αž˜αž·αž“β€‹αž˜αžΆαž“β€‹αž€αžΆαžšβ€‹αžŸαŸ’αžšαŸ‚αž€β€‹αžαŸ’αž„αžΌαžš αž“αž·αž„β€‹αž€αžΆαžšβ€‹αžŸαŸ’αžšαŸ‚αž€β€‹αžαŸ’αž„αžΌαžš αž“αŸ…αž‘αžΈαž”αž‰αŸ’αž…αž”αŸ‹ αž§αžŸαŸ’αžŸαžΆαž αž€αž˜αŸ’αž˜αž€αžΆαžšαž–αžΆαžšαž‡αžΆαžαž·αžšαž»αžŸαŸ’αžŸαŸŠαžΈ αž“αž·αž„αž—αŸ’αž“αžΆαž€αŸ‹αž„αžΆαžšαžšαžŠαŸ’αž‹αžΆαž—αž·αž”αžΆαž›αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžαŸ’αžšαžΌαžœαž™αž›αŸ‹αŸ” αž”αŸ’αžšαž‘αŸαžŸαž’αŸ† αžαžœαž·αž€αžΆαžαžΌαž… .. [TBD] αŸ”

αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αžŸαžΌαž“αŸ’αž™ - αž‘αžΆαž‰αž™αž€αŸ” αž‚αž½αžšαž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžαžΆ αžŠαŸ†αžŽαžΉαž„αžŠαŸ‚αž›αžαžΆ Elbrus OS αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαžΆαž€αŸ‹αž±αŸ’αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αžΆαž“ αž”αžŽαŸ’αžαžΆαž›αž±αŸ’αž™αž˜αžΆαž“αž”αŸ’αžšαžαž·αž€αž˜αŸ’αž˜αžαŸ’αž›αžΆαŸ†αž„ αžšαž αžΌαžαž’αŸ’αžœαžΎαž±αŸ’αž™αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž…αŸ‚αž€αž…αžΆαž™αž’αŸ’αž›αžΆαž€αŸ‹αž…αž»αŸ‡αŸ” [TBD] αžŸαžΌαž˜αž’αžšαž‚αž»αžŽαžŠαž›αŸ‹ Yandex αž“αž·αž„αžœαž·αžŸαŸ’αžœαž€αžšαžŠαŸ‚αž›αž‚αž·αžαž…αž„αŸ‹αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαžœαžΆαž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž›αŸ’αž”αžΏαž“αž‘αžΆαž‰αž™αž€αž‚αžΊαž›αŸ’αž’αŸ”

αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž‘αžΈ 1 - αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αŸ” αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŠαŸ†αž‘αžΎαž„αžœαžΆαž“αŸ…αž›αžΎ hypervisor αžŠαŸ†αž”αžΌαž„αžŠαŸ‚αž›αž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“αžŠαŸ„αž™αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒαŸ” αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž”αŸ‚αž„αž…αŸ‚αž€αžŸαŸ’αž“αžΌαž›αž–αžΈαžš, RAM αž–αžΈαžšαž”αžΈαž‡αžΈαž€αžΆαž”αŸƒ, 32 MB αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαžΈαžŠαŸαž’αžΌ (αžαŸ’αž‰αž»αŸ†αž‚αž·αžαžαžΆαž“αžΉαž„αž˜αžΆαž“αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž€αŸ’αžšαžΆαž αŸ’αžœαž·αž€) αŸ” αžαžΆαžŸαž‚αžΊαžŠαžΌαž…αž’αž˜αŸ’αž˜αžαžΆ - 32 αž‡αžΈαž€αžΆαž”αŸƒαŸ”
αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αŸ” αžαŸ’αž‰αž»αŸ†β€‹αž˜αž·αž“β€‹αž”αžΆαž“β€‹αž”αŸ’αžšαžΎβ€‹αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†β€‹αž’αŸ†αž–αžΈβ€‹αž€αžΆαžšβ€‹αžŠαŸ†αž‘αžΎαž„β€‹αž‘αŸ αžŠαžΌαž…αŸ’αž“αŸαŸ‡β€‹αžαŸ’αž‰αž»αŸ†β€‹αž˜αž·αž“β€‹αž’αžΆαž…β€‹αž’αŸ’αžœαžΎβ€‹αž’αžαŸ’αžαžΆαž’αž·αž”αŸ’αž”αžΆαž™β€‹αž›αžΎβ€‹αžœαžΆβ€‹αž”αžΆαž“β€‹αž‘αŸαŸ” αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αžŠαŸ†αž‘αžΎαž„ TUI αž‚αžΊαž˜αžΆαž“αž›αž€αŸ’αžαžŽαŸˆαžαž·αž…αžαž½αž…αž”αŸ†αž•αž»αžαŸ”

αž€αžΆαžšαž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αž›αžΈαž“αž»αž…αž–αžΈ Veeam αž“αŸ…αž›αžΎ Elbrus OS αŸ” αž“αžΆαŸ†αž…αžΌαž›αž‡αŸ†αž“αž½αžŸ ['?' | 'αŸ”' | '!']
αž‡αžΆαž€αžΆαžšαž”αŸ’αžšαžŸαžΎαžšαžŽαžΆαžŸαŸ‹, αž™αžΎαž„αž’αžΆαž…αž’αŸ’αžœαžΎαž”αžΆαž“αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž€αžŽαŸ’αžαž»αžšαŸ”

αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž”αž„αŸ’αž’αž½αž…αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž“αŸ…αž›αžΎαž€αžΆαžšαžŸαžΆαž€αž›αŸ’αž”αž„αž›αžΎαž€αž‘αžΈαž–αžΈαžšαŸ” αž αŸαžαž»αž’αŸ’αžœαžΈαž˜αž·αž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž§αž”αž€αžšαžŽαŸαž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ sr0 [TBD] αž“αŸ…αž–αŸαž›αžŠαŸ†αž‘αžΎαž„αž–αžΈαžαžΆαžŸ?
αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž”αŸ’αžšαž—αž–αžŸαŸŠαžΈαžŒαžΈαžšαŸ‰αžΌαž˜ αž αžΎαž™αž”αž“αŸ’αžαž‘αŸ…αž˜αž»αžαž‘αŸ€αžαŸ”

αž€αžΆαžšαž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αž›αžΈαž“αž»αž…αž–αžΈ Veeam αž“αŸ…αž›αžΎ Elbrus OS αŸ” αž“αžΆαŸ†αž…αžΌαž›αž‡αŸ†αž“αž½αžŸ ['?' | 'αŸ”' | '!']

αž–αŸαž›αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαžαŸ†αž”αž“αŸ‹αž–αŸαž›αžœαŸαž›αžΆ αžαŸ’αž‰αž»αŸ†αžŸαŸ’αžšαžΆαž”αŸ‹αžαŸ‚αžŠαžΉαž„αžαžΆαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžΎαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜ init αž αžΎαž™αžαŸ’αž‰αž»αŸ†αž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎαž€αžΆαžšαž–αžΈ TTY0αŸ”

αž€αžΆαžšαž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αž›αžΈαž“αž»αž…αž–αžΈ Veeam αž“αŸ…αž›αžΎ Elbrus OS αŸ” αž“αžΆαŸ†αž…αžΌαž›αž‡αŸ†αž“αž½αžŸ ['?' | 'αŸ”' | '!']

αž™αž›αŸ‹αž–αŸ’αžšαž˜ αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αžŸαžΌαž˜αž…αžΆαžαŸ‹αžαŸ’αž“αžΆαž€αŸ‹ "Elbrus" αž‡αžΆαžŸαž αž‚αž˜αž“αŸαž˜αž½αž™αŸ” αž’αŸ’αž“αž€αž‡αžΏαž…αžΆαžŸαŸ‹[TBD]αŸ” αž‡αžΆαž‚αŸ„αž›αž€αžΆαžšαžŽαŸ αžœαžΆαž›αŸ’αž’αŸ– αž’αŸ’αž“αž€αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŸαž»αŸ†αž€αžΌαžŠαž”αŸ’αžšαž—αž– αžŠαžΎαž˜αŸ’αž”αžΈαž˜αžΎαž›αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αžΆαž‰αž™αž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αŸ αž–αŸ’αžšαŸ„αŸ‡αž’αŸ’αžœαžΈαŸ—αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαž‡αžΆαž’αž€αŸ’αžŸαžšαŸ”

αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž“αŸ…αžŸαž›αŸ‹αž‚αžΊαžŸαŸ’αž‘αžΎαžšαžαŸ‚αž˜αž·αž“αžŸαŸ†αžαžΆαž“αŸ‹: αž™αžΎαž„αžŠαžΆαž€αŸ‹αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž αžΎαž™αž™αž›αŸ‹αž–αŸ’αžšαž˜αŸ” αž“αŸ…αžαžΆαž˜αž•αŸ’αž›αžΌαžœαž™αžΎαž„αžšαž€αžƒαžΎαž‰αžαžΆαžαžΊαžŽαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎ 3.14.79-13.84 αŸ” ហ៊ឺ αžŠαŸαž”αŸ€αž“ 7 αž˜αžΆαž“ 3.2 [TBD]αŸ”

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€ αžŸαžΌαž˜αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž€αžΆαžšαž”αŸ‚αž„αž…αŸ‚αž€αžαžΆαžŸαž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ αž αžΎαž™... αž™αžΎαž„αžƒαžΎαž‰αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αž˜αž½αž™αŸ–

αž€αžΆαžšαž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αž›αžΈαž“αž»αž…αž–αžΈ Veeam αž“αŸ…αž›αžΎ Elbrus OS αŸ” αž“αžΆαŸ†αž…αžΌαž›αž‡αŸ†αž“αž½αžŸ ['?' | 'αŸ”' | '!']

ហ៎ αžŠαžΌαž…αž˜αŸ’αžŠαŸαž…αžŠαŸ‚αž›αž€αžΆαžšαž”αŸ‚αž„αž…αŸ‚αž€αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž˜αž·αž“αž’αžΆαž…αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αžΆαž“αž›αŸ’αž’αž‡αžΆαž˜αž½αž™αžαžΆαžŸ 32 gig αŸ” αžαŸ’αž‰αž»αŸ†β€‹αž˜αž·αž“β€‹αž”αžΆαž“β€‹αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšβ€‹αžαžΆαžŸβ€‹αž‘αŸ αžαŸ’αž‰αž»αŸ†β€‹αž”αžΆαž“β€‹αž”αž‰αŸ’αž…αž”αŸ‹β€‹αžŠαŸ†αžŽαžΎαžšβ€‹αžŸαŸ’αžœαŸ‚αž„αžšαž€β€‹αžŠαŸ„αž™β€‹αž€αžΆαžšβ€‹αž…αŸ‚αž€β€‹αž—αžΆαž‚αžαžΆαžŸβ€‹αžŠαŸ„αž™β€‹αžŠαŸƒβ€‹αž€αŸ’αž“αž»αž„β€‹αžšαž…αž“αžΆαž”αŸαž‘αŸ’αž˜ "αž‘αžΆαŸ†αž„αž’αžŸαŸ‹β€‹αž€αŸ’αž“αž»αž„β€‹αž˜αž½αž™"αŸ” αžαŸ’αž‰αž»αŸ†αžαŸ’αžšαžΌαžœαžŠαŸ†αž‘αžΎαž„ ext3 αž–αŸ’αžšαŸ„αŸ‡ /boot αž˜αž·αž“αž’αžΆαž…αž“αŸ…αž€αŸ’αž“αž»αž„ ext4 αž”αžΆαž“αž‘αŸαŸ”
αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž“αŸαŸ‡αž”αžΆαž“αž€αžΎαžαž‘αžΎαž„αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž§αž”αŸ’αž”αžαŸ’αžαž·αž αŸαžαž»αŸ”

αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž‘αžΈαž–αžΈαžš - αžŸαŸ’αžœαŸ‚αž„αžšαž€αž‡αž˜αŸ’αžšαžΎαžŸαž‡αŸ†αž“αž½αžŸαŸ”
αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈ rummaging αžαžΆαž˜αžšαž™αŸˆαž˜αžΆαžαž·αž€αžΆαž“αŸƒαžŒαžΈαžŸαž‘αžΈαž–αžΈαžš, αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŠαžΉαž„αžαžΆαž“αŸαŸ‡αž‚αžΊαž‡αžΆαžƒαŸ’αž›αžΆαŸ†αž„αžŠαŸ‚αž›αž˜αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž‰αŸ’αž…αž”αŸ‹αŸ” αž αžΎαž™αžŸαž˜αŸ’αž›αžΉαž„αž˜αžΎαž› /etc/apt/sources.list αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŠαžΉαž„αžαžΆαžœαžΆαžαŸ’αžšαžΌαžœαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž˜αŸ‰αŸ„αž“αž“αŸ…αž€αŸ’αž“αž»αž„ /mnt/cdrom αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαŸ’αž‰αž»αŸ†αž˜αž·αž“αž”αžΆαž“αžšαž€αžƒαžΎαž‰ /etc/os-release αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αžΆαž“ /etc/mcst-version αž‡αžΆαž˜αž½αž™αž˜αžΆαžαž·αž€αžΆ 3.0-rc36 αŸ” 3.0 αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž€αŸ†αžŽαŸ‚ - αžœαžΆαž αžΆαž€αŸ‹αžŠαžΌαž…αž‡αžΆαžŸαž˜αž”αŸ‰αž»αž“αŸ’αžαŸ‚ rc36? αž‡αžΆαž‘αžΌαž‘αŸ… αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž—αžΆαž‚αžΈαž‘αžΈαž”αžΈαž‘αŸ†αž“αž„αž‡αžΆαž˜αž·αž“αž’αžΆαž…αž‘αž‘αž½αž›αžŸαŸ’αž‚αžΆαž›αŸ‹αž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™αž“αŸαŸ‡αžαžΆαž˜αžœαž·αž’αžΈαž”αž»αžšαžΆαžŽαž”αžΆαž“αž‘αŸαŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„αž—αžΆαž‚αžαžΆαžŸαž‡αžΆ root ថត /mcst αž…αžΆαž”αŸ‹αž—αŸ’αž“αŸ‚αž€αžαŸ’αž‰αž»αŸ† αž αžΎαž™αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡ αžŠαŸ„αž™αž”αŸαŸ‡αžŠαžΌαž„αž›αž·αž… αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžšαž€αžƒαžΎαž‰ /mcst/backup αŸ” αž“αŸ„αŸ‡αž‚αžΊαž˜αžΆαž“αž§αž”αž€αžšαžŽαŸαž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€ αž αžΎαž™αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’! β€œαž›αŸ’αž’αžŽαžΆαžŸαŸ‹β€ αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž‚αž·αžαžαžΆ β€œαžαŸ„αŸ‡αž˜αžΎαž›αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš!”

αžœαžΆαž”αžΆαž“αž”αŸ’αžšαŸ‚αž€αŸ’αž›αžΆαž™αžαžΆαž˜αžΆαž“ 4Kb bash script /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 αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž›αžΈαž“αž»αž…αŸ”
αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž—αŸ’αž“αžΆαž€αŸ‹αž„αžΆαžš Veeam αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž›αžΈαž“αž»αž…αž˜αžΆαž“αž€αž‰αŸ’αž…αž”αŸ‹αž–αžΈαžšαŸ– αž˜αŸ‰αžΌαžŒαž»αž›αžαžΊαžŽαŸ‚αž› veeamsnap (αžŠαŸ„αž™αžœαž·αž’αžΈαž“αŸαŸ‡ αž”αŸ’αžšαž—αž–αž“αŸ…αž‘αžΈαž“αŸαŸ‡) αž“αž·αž„αž›αŸαžαž€αžΌαžŠαž›αŸ†αž αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αž€αž˜αŸ’αž˜αžŸαž·αž‘αŸ’αž’αž·αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž‡αžΆαž€αž‰αŸ’αž…αž”αŸ‹ veeam αŸ”

αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαžαžΌαž…αž˜αž½αž™αž‡αžΆαž˜αž½αž™αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αž˜αŸ‰αžΌαžŒαž»αž›αžαžΊαžŽαŸ‚αž› - αž€αž‰αŸ’αž…αž”αŸ‹ dkms αžŠαŸ‚αž›αž”αžΆαžαŸ‹αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž”αž„αŸ’αž€αžΎαžαž˜αŸ‰αžΌαžŒαž»αž›αžαžΊαžŽαŸ‚αž›αž–αžΈαž”αŸ’αžšαž—αž–αŸ” αžαžΆαž˜αž€αŸ’αž”αž½αž“αžœαžΆαž˜αžΆαž“αž“αŸ…αž›αžΎαž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™ deb αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ” αžαŸ’αž‰αž»αŸ†αžαŸ’αžšαžΌαžœαž‘αžΆαž‰αž™αž€αžœαžΆαž–αžΈαžƒαŸ’αž›αžΆαŸ†αž„ deb αž—αžΆαž‚αžΈαž‘αžΈαž”αžΈαŸ” αžšαžΏαž„αž˜αž½αž™αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž±αŸ’αž™αžαŸ’αž‰αž»αŸ†αžŸαž”αŸ’αž”αžΆαž™αž…αž·αžαŸ’αžαž“αŸ„αŸ‡αž‚αžΊαžαžΆαž€αž‰αŸ’αž…αž”αŸ‹αž˜αž·αž“αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžœαžΆαžŸαž˜αžŠαžΌαž…αž‡αž“αž‡αžΆαžαž·αžŠαžΎαž˜αŸ” αž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαžœαžΆαž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαžΆαž€αŸ‹αž”αž‰αŸ’αž…αžΌαž›αž€αŸ’αž“αž»αž„αž”αž‰αŸ’αž‡αžΈαž€αž‰αŸ’αž…αž”αŸ‹αžŠαŸ‚αž›αž˜αžΆαž“ αž¬αž•αŸ’αž‘αž»αž™αž‘αŸ…αžœαž·αž‰αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž—αž·αžœαžŒαŸ’αž [TBD]? αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαž“αŸ’αž˜αžαŸ‹αžαžΆαž‚αŸ’αž˜αžΆαž“αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αž‚αž½αžšαž”αž„αŸ’αž€αžΎαž αž“αž·αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž˜αŸ‰αžΌαžŒαž»αž›αžαžΊαžŽαŸ‚αž›αžŠαŸ‚αž›αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆ MCST αž‘αŸαŸ” αž–αž·αžαž‡αžΆαž˜αžΆαž“αž—αžΆαž–αž˜αž·αž“αžŸαŸ’αžšαž”αž‚αŸ’αž“αžΆαž“αŸ…αž‘αžΈαž“αŸαŸ‡ - αžŠαŸ„αž™αžŸαžΆαžšαž˜αžΆαž“αž›αžΈαž“αž»αž… - αž”αž‹αž˜αž€αžαžΆαŸ” αž“αŸ„αŸ‡αž‚αžΊ αž˜αŸ‰αžΌαžŒαž»αž› αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž…αž„αŸ‹αž”αžΆαž“ αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž‚αž»αŸ†αžŠαŸ„αž™αžŠαŸƒ αž αžΎαž™αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ„αž™αžŸαŸ’αž‚αŸ’αžšαžΈαž” αž“αŸ…αž–αŸαž›αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ” αžαŸ’αž‰αž»αŸ†αž‚αž·αžαžαžΆαž’αŸ’αž“αž€αž˜αž·αž“αž‚αž½αžšαžšαŸ†αž–αžΉαž„αžαžΆαž“αžΉαž„αž˜αžΆαž“αž€αžΆαžšαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž‰αžΉαž€αž‰αžΆαž”αŸ‹αž–αžΈ MCST [TBD] αž‘αŸαŸ”

"αž™αž›αŸ‹αž–αŸ’αžšαž˜ αž˜αŸ‰αžΌαžŒαž»αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αž‘αžΎαž„ - αž•αŸ’αž“αŸ‚αž€αž–αž·αž”αžΆαž€αž”αŸ†αž•αž»αžαž‚αžΊαž…αž”αŸ‹αž αžΎαž™" αžαŸ’αž‰αž»αŸ†αž‚αž·αžαžαžΆ... αž€αž‰αŸ’αž…αž”αŸ‹ veeam αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžƒαŸ’αž›αžΆαŸ†αž„ deb αž‚αžΊαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαŸαž‘αž·αž€αžΆ amd64 αž αžΎαž™ Elbrus OS αž˜αžΆαž“αžœαŸαž‘αž·αž€αžΆ x86_64 [TBD] αŸ” αž‡αžΆαž€αžΆαžšαž–αž·αžαžŽαžΆαžŸαŸ‹ αž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆαž‚αžΊαž˜αžΆαž“αžαŸ‚αž“αŸ…αž€αŸ’αž“αž»αž„αžˆαŸ’αž˜αŸ„αŸ‡αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆαž“αŸαŸ‡αž’αŸ’αžœαžΎαž±αŸ’αž™αž€αž‰αŸ’αž…αž”αŸ‹αžŸαŸ’αž‘αžΎαžšαžαŸ‚αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž–αžΈαžƒαŸ’αž›αžΆαŸ†αž„ de-party αž˜αž·αž“αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™ Elbrus OSαŸ” αž€αžΆαžšαž™αž›αŸ‹αž…αŸ’αžšαž‘αŸ†αžŠαŸαž‚αž½αžšαž±αŸ’αž™αžšαŸ†αžαžΆαž“αž“αŸαŸ‡αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž›αž»αž”αž…αŸ„αž›αž™αŸ‰αžΆαž„αžŸαžΆαž˜αž‰αŸ’αž‰αŸ– αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αžšαž»αŸ‡αžšαžΎαž€αž‰αŸ’αž…αž”αŸ‹ αž€αŸ‚αžαž˜αŸ’αžšαžΌαžœαž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜ αž αžΎαž™αžŠαžΆαž€αŸ‹αžœαžΆαžαŸ’αžšαž‘αž”αŸ‹αž˜αž€αžœαž·αž‰αŸ” αžšαž”αŸ€αž”αž’αŸ’αžœαžΎαžœαžΆ Googled αžœαžΆαŸ” αž—αŸ’αž›αžΆαž˜αŸ—αŸ”

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 Agent αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Linux αž‚αžΊαž–αž·αžαž‡αžΆαžŸαž˜αžšαž˜αŸ’αž™αŸ” αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž€αŸ‚αž”αŸ’αžšαŸ‚αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž―αž€αžŸαžΆαžšαž˜αž½αž™αŸ”

αž‡αžΆαž€αžΆαžšαž–αž·αžαžŽαžΆαžŸαŸ‹ αž§αž”αž€αžšαžŽαŸαž…αŸ‚αž€αž…αžΆαž™ Elbrus OS αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžšαž‡αžΆαž•αŸ’αž›αžΌαžœαž€αžΆαžšαž‘αŸ αžŠαŸ„αž™αžŸαžΆαžšαžœαžΆαž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž…αžΌαž›αž€αŸ’αž“αž»αž„αž”αž‰αŸ’αž‡αžΈαž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž‚αžΆαŸ†αž‘αŸ’αžšαŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ€αž Veeam Agent αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž›αžΈαž“αž»αž…αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžΆαž€αž›αŸ’αž”αž„αž›αžΎαžœαžΆαžŠαŸ„αž™αž“αžΆαž™αž€αžŠαŸ’αž‹αžΆαž“ QA αž‘αŸ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž’αŸ’αž“αž€αž‘αžΆαŸ†αž„αž“αŸ„αŸ‡αŸ” αž˜αž·αž“αž˜αžΆαž“αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž‘αŸ (αž™αŸ‰αžΆαž„αž αŸ„αž…αžŽαžΆαžŸαŸ‹αž“αŸ…αž–αŸαž›αž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž–αž’αžαŸ’αžαž”αž‘) αŸ”

αžαŸ’αž‰αž»αŸ†αžŸαž„αŸ’αžƒαžΉαž˜αžαžΆαž’αžαŸ’αžαž”αž‘αž“αžΉαž„αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αž–αŸ’αž™αžΆαž™αžΆαž˜αž’αž“αž»αžœαžαŸ’αžαž”αž‘αž”αž‰αŸ’αž‡αžΆαž›αŸαž 334 αž“αŸƒαžαŸ’αž„αŸƒαž‘αžΈ 29.06.2017 αžαŸ‚αž˜αž·αžαž»αž“αžΆαž†αŸ’αž“αžΆαŸ† XNUMX αŸ” αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€ ... [TBD] αŸ”

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹