αžšαž”αŸ€αž”αž•αŸ’αž‘αŸαžšαž€αž»αž„αžαžΊαž“αŸαžš OpenVZ 6 αž‘αŸ…αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ KVM αžŠαŸ„αž™αž˜αž·αž“αžˆαžΊαž€αŸ’αž”αžΆαž›

αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžšαž•αŸ’αž‘αŸαžšαž€αž»αž„αžαžΊαž“αŸαžš OpenVZ αž‘αŸ…αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŠαŸ‚αž›αž˜αžΆαž“αž“αž·αž˜αŸ’αž˜αž·αž KVM αž–αŸαž‰αž›αŸαž‰αž™αŸ‰αžΆαž„αž αŸ„αž…αžŽαžΆαžŸαŸ‹αž˜αŸ’αžαž„αž€αŸ’αž“αž»αž„αž‡αžΈαžœαž·αžαžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαž”αžΆαž“αž‡αž½αž”αž”αŸ’αžšαž‘αŸ‡αž”αž‰αŸ’αž αžΆαž˜αž½αž™αž…αŸ†αž“αž½αž“αŸ–

  • αž–αŸαžαŸŒαž˜αžΆαž“αž—αžΆαž‚αž…αŸ’αžšαžΎαž“αž‚αžΊαž αž½αžŸαžŸαž˜αŸαž™ αž αžΎαž™αž–αžΆαž€αŸ‹αž–αŸαž“αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ OS αžŠαŸ‚αž›αž†αŸ’αž›αž„αž€αžΆαžαŸ‹αžœαžŠαŸ’αž EOL αž‡αžΆαž™αžΌαžšαž˜αž€αž αžΎαž™
  • αž–αŸαžαŸŒαž˜αžΆαž“αž•αŸ’αžŸαŸαž„αŸ—αžαŸ‚αž„αžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆ αž αžΎαž™αž€αŸ†αž αž»αžŸαžŠαŸ‚αž›αž’αžΆαž…αž€αžΎαžαž˜αžΆαž“αž€αŸ’αž“αž»αž„αž’αŸ†αž‘αž»αž„αž–αŸαž›αž“αŸƒαž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž–αž·αž…αžΆαžšαžŽαžΆαž‘αžΎαž™αŸ”
  • αž–αŸαž›αžαŸ’αž›αŸ‡αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŠαŸ‚αž›αžšαžΆαž›αŸ‹αž–αŸαž›αž₯αž‘αžΌαžœαž“αŸαŸ‡αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž˜αž·αž“αž…αž„αŸ‹αž’αŸ’αžœαžΎαž€αžΆαžšαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€

αž“αŸ…αž–αŸαž›αž’αŸ’αž“αž€αž•αŸ’αž‘αŸαžšαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ 1 αž’αŸ’αž“αž€αžαŸ‚αž„αžαŸ‚αž’αžΆαž…αž‡αž½αžŸαž‡αž»αž›αž’αŸ’αžœαžΈαž˜αž½αž™αž”αžΆαž“αž—αŸ’αž›αžΆαž˜αŸ— αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž’αŸ’αž“αž€αž•αŸ’αž‘αŸαžšαž…αž„αŸ’αž€αŸ„αž˜αž‘αžΆαŸ†αž„αž˜αžΌαž›?

αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž–αŸ’αž™αžΆαž™αžΆαž˜αž”αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž–αžΈαžšαž”αŸ€αž”αž•αŸ’αž‘αŸαžšαž€αž»αž„αžαžΊαž“αŸαžš OpenVZ αž±αŸ’αž™αž”αžΆαž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž‘αŸ… KVM αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž–αŸαž›αžœαŸαž›αžΆαžšαž„αž…αžΆαŸ†αžαž·αž…αž”αŸ†αž•αž»αž αž“αž·αž„αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžšαž αŸαžŸαž…αŸ†αž–αŸ„αŸ‡αž”αž‰αŸ’αž αžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ”

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž’αž”αŸ‹αžšαŸ†αžαžΌαž…αž˜αž½αž™αŸ– αžαžΎαž’αŸ’αžœαžΈαž‡αžΆ OpenVZ αž“αž·αž„αž’αŸ’αžœαžΈαž‡αžΆ KVM?

αž™αžΎαž„β€‹αž“αžΉαž„β€‹αž˜αž·αž“β€‹αž…αžΌαž›β€‹αž‡αŸ’αžšαŸ…β€‹αž‘αŸ…β€‹αž€αŸ’αž“αž»αž„β€‹αžœαžΆαž€αŸ’αž™αžŸαž–αŸ’αž‘β€‹αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αž“αžΉαž„β€‹αž“αž·αž™αžΆαž™β€‹αž€αŸ’αž“αž»αž„β€‹αž“αŸαž™β€‹αž‘αžΌαž‘αŸ…αŸ–

OpenVZ - αž“αž·αž˜αŸ’αž˜αž·αžαž“αŸ…αž€αž˜αŸ’αžšαž·αžαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αž’αŸ’αž“αž€αžαŸ‚αž˜αž‘αžΆαŸ†αž„αž’αžΆαž…αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αžœαžΆαž“αŸ…αž›αžΎαž˜αžΈαž€αŸ’αžšαžΌαžœαŸ‰αŸαžœ αž–αŸ’αžšαŸ„αŸ‡αžœαžΆαž˜αž·αž“αžαŸ’αžšαžΌαžœαž€αžΆαžšαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžŸαŸŠαžΈαž—αžΈαž™αžΌ αž“αž·αž„αž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆαž“αž·αž˜αŸ’αž˜αž·αžαž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž‘αŸαŸ”

KVM - αž“αž·αž˜αŸ’αž˜αž·αžαž€αž˜αŸ’αž˜αž–αŸαž‰αž›αŸαž‰ αž”αŸ’αžšαžΎαžαžΆαž˜αž–αž›αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸƒαžŸαŸŠαžΈαž—αžΈαž™αžΌ αž“αž·αž„αž˜αžΆαž“αžŸαž˜αžαŸ’αžαž—αžΆαž–αž’αŸ’αžœαžΎαž“αž·αž˜αŸ’αž˜αž·αžαž’αŸ’αžœαžΈαŸ—αžαžΆαž˜αžœαž·αž’αžΈαžŽαžΆαž€αŸαžŠαŸ„αž™ αž€αžΆαžαŸ‹αžœαžΆαž±αŸ’αž™αžœαŸ‚αž„ αž“αž·αž„αž…αŸ’αžšαžΆαžŸαŸ”

αž•αŸ’αž‘αž»αž™αž‘αŸ…αž“αžΉαž„αž‡αŸ†αž“αžΏαžŠαŸαž–αŸαž‰αž“αž·αž™αž˜αžŠαŸ‚αž›αžαžΆαž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αž’αŸ’αž“αž€αž•αŸ’αžαž›αŸ‹αžŸαŸαžœαžΆαž”αž„αŸ’αž αŸ„αŸ‡ OpenVZ αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž›αž€αŸ‹αž›αžΎαžŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚ KVM αž“αžΉαž„αž˜αž·αž“ - αž‡αžΆαžŸαŸ†αžŽαžΆαž„αž›αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž»αž„αž€αŸ’αžšαŸ„αž™ KVM αž₯αž‘αžΌαžœαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž›αž€αŸ‹αž›αžΎαžŸαž˜αž·αž“αž’αžΆαž€αŸ’αžšαž€αŸ‹αž‡αžΆαž„αž”αž„αž”αŸ’αž’αžΌαž“αžšαž”αžŸαŸ‹αžœαžΆαž‘αŸαŸ”

αžαžΎαž™αžΎαž„αž“αžΉαž„αž™αž€αž’αŸ’αžœαžΈαž‘αŸ…?

αž€αŸ’αž“αž»αž„αž“αžΆαž˜αž‡αžΆαž”αŸ’αžšαž’αžΆαž“αž”αž‘αžŸαžΆαž€αž›αŸ’αž”αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž•αŸ’αž‘αŸαžš αž™αžΎαž„αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΎαž–αŸ’αžšαŸƒαž‘αžΆαŸ†αž„αž˜αžΌαž›αž“αŸƒαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαŸ‚αž›αž˜αžΆαž“αž“αŸ…αž›αžΎ OpenVZ: CentOS (αž€αŸ†αžŽαŸ‚ 6 αž“αž·αž„ 7), Ubuntu (14, 16 αž“αž·αž„ 18 LTS), Debian 7 αŸ”

αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαžŸαž“αŸ’αž˜αžαŸ‹αžαžΆαž—αžΆαž‚αž…αŸ’αžšαžΎαž“αž“αŸƒαž’αž»αž„ OpenVZ αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αŸ’αžšαž—αŸαž‘αž“αŸƒ LAMP αžšαž½αž…αž αžΎαž™ αž αžΎαž™αžαŸ’αž›αŸ‡αžαŸ‚αž˜αž‘αžΆαŸ†αž„αž˜αžΆαž“αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αž…αŸ†αž“αž½αž“αž•αž„αžŠαŸ‚αžšαŸ” αž—αžΆαž‚αž…αŸ’αžšαžΎαž“ αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‡αžΆαž˜αž½αž™ ISPmanager, αž•αŸ’αž‘αžΆαŸ†αž„αž”αž‰αŸ’αž‡αžΆ VestaCP (αž αžΎαž™αž‡αžΆαž‰αžΉαž€αž‰αžΆαž”αŸ‹αž”αŸ†αž•αž»αž αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž‡αžΆαž…αŸ’αžšαžΎαž“αž†αŸ’αž“αžΆαŸ†)αŸ” αžŸαŸ†αžŽαžΎαž•αŸ’αž‘αŸαžšαžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαž€αŸαžαŸ’αžšαžΌαžœαžαŸ‚αž™αž€αž˜αž€αž–αž·αž…αžΆαžšαžŽαžΆαž•αž„αžŠαŸ‚αžšαŸ”

αž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αžšαž€αŸ’αžŸαžΆαž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ IP αž“αŸƒαž€αž»αž„αžαžΊαž“αŸαžšαžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αž‘αŸαžš αž™αžΎαž„αž“αžΉαž„αžŸαž“αŸ’αž˜αžαŸ‹αžαžΆ IP αžŠαŸ‚αž›αž€αž»αž„αžαžΊαž“αŸαžšαž˜αžΆαž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž“αŸ…αž›αžΎ VM αž αžΎαž™αž“αžΉαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαŸ”

αž˜αž»αž“αž“αžΉαž„αž•αŸ’αž‘αŸαžš αžŸαžΌαž˜αž”αŸ’αžšαžΆαž€αžŠαžαžΆαž™αžΎαž„αž˜αžΆαž“αž’αŸ’αžœαžΈαŸ—αž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž“αŸ…αž€αŸ’αž“αž»αž„αžŠαŸƒαŸ–

  • αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ OpenVZ αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž‡αžΆ root αž–αŸαž‰αž›αŸαž‰αž‘αŸ…αž€αžΆαž“αŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ αžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αž‰αŸ’αžˆαž”αŸ‹/αž˜αŸ‰αŸ„αž“/αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜/αž›αž»αž”αž’αž»αž„
  • αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ KVM αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž‡αžΆ root αž–αŸαž‰αž›αŸαž‰αž‘αŸ…αž€αžΆαž“αŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž’αŸ’αžœαžΈαžŠαŸ‚αž›αžœαžΆαž”αž„αŸ’αž€αž”αŸ‹αž“αŸαž™αŸ” αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαž“αŸ’αž˜αžαŸ‹αžαžΆαž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžšαž½αž…αž αžΎαž™αž“αž·αž„αžšαž½αž…αžšαžΆαž›αŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ”

αžαŸ„αŸ‡αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž•αŸ’αž‘αŸαžš

αž˜αž»αž“αž–αŸαž›αž™αžΎαž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž€αžΆαžšαž•αŸ’αž‘αŸαžš αžŸαžΌαž˜αž€αŸ†αžŽαžαŸ‹αž›αž€αŸ’αžαžαžŽαŸ’αžŒαžŠαŸ‚αž›αž“αžΉαž„αž‡αž½αž™αž’αŸ’αž“αž€αž‡αŸ€αžŸαžœαžΆαž„αž€αžΆαžšαž—αžΆαž“αŸ‹αž…αŸ’αžšαž‘αŸ†αŸ–

KVM_NODE - αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ KVM
VZ_NODE - αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ OpenVZ
CTID - αž’αž»αž„ OpenVZ
VM - αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž“αž·αž˜αŸ’αž˜αž·αž KVM

αž€αŸ†αž–αž»αž„αžšαŸ€αž”αž…αŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€ αž“αž·αž„αž”αž„αŸ’αž€αžΎαžαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αžαŸ”

αž”αŸ„αŸ‡αž‡αŸ†αž αžΆαž“ 1

αžŠαŸ„αž™αžŸαžΆαžšαž™αžΎαž„αžαŸ’αžšαžΌαžœαž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž’αž»αž„αž‘αŸ…αž€αž“αŸ’αž›αŸ‚αž„αžŽαžΆαž˜αž½αž™ αž™αžΎαž„αž“αžΉαž„αž”αž„αŸ’αž€αžΎαž VM αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆ KVM_NODE.
αžŸαŸ†αžαžΆαž“αŸ‹! αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž”αž„αŸ’αž€αžΎαž VM αž“αŸ…αž›αžΎαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΎ CTID αŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž”αŸ’αžšαžŸαž·αž“αž”αžΎ Ubuntu 14 αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αž‘αžΎαž„αž“αŸ…αž›αžΎ CTID αž“αŸ„αŸ‡ Ubuntu 14 αžαŸ’αžšαžΌαžœαžαŸ‚αžŠαŸ†αž‘αžΎαž„αž“αŸ…αž›αžΎ VM αŸ” αž€αŸ†αžŽαŸ‚αžαžΌαž…αž˜αž·αž“αžŸαŸ†αžαžΆαž“αŸ‹αž‘αŸ αž αžΎαž™αž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆαžšαž”αžŸαŸ‹αžœαžΆαž˜αž·αž“αžŸαŸ†αžαžΆαž“αŸ‹αžαŸ’αž›αžΆαŸ†αž„αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αŸ†αžŽαŸ‚αž’αŸ†αŸ—αž‚αž½αžšαžαŸ‚αžŠαžΌαž…αž‚αŸ’αž“αžΆαŸ”

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž”αž„αŸ’αž€αžΎαž VM αž™αžΎαž„αž“αžΉαž„αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž€αž‰αŸ’αž…αž”αŸ‹αž“αŸ…αž›αžΎ CTID αž“αž·αž„αž“αŸ…αž›αžΎ VM (αž˜αž·αž“αžαŸ’αžšαžΌαžœαž…αŸ’αžšαž‘αŸ†αž‡αžΆαž˜αž½αž™αž€αžΆαžšαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž– OS - αž™αžΎαž„αž˜αž·αž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αžœαžΆαž‘αŸ αž™αžΎαž„αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž’αžΆαž”αŸ‹αžŠαŸαžαž€αž‰αŸ’αž…αž”αŸ‹αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡ αž αžΎαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžœαžΆαž˜αž€αžŠαž›αŸ‹ αž€αŸ†αžŽαŸ‚ OS αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αŸ αž€αŸ†αžŽαŸ‚) αŸ”

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ CentOS αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸαŸ‡αž˜αžΎαž›αž‘αŸ…αž‚αŸ’αž˜αžΆαž“αž‚αŸ’αžšαŸ„αŸ‡αžαŸ’αž“αžΆαž€αŸ‹αž‘αŸαŸ–

# yum clean all
# yum update -y

αž αžΎαž™αž˜αž·αž“αž˜αžΆαž“αž‚αŸ’αžšαŸ„αŸ‡αžαŸ’αž“αžΆαž€αŸ‹αžαž·αž…αž‡αžΆαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Ubuntu αž“αž·αž„ DebianαŸ–

# apt-get update
# apt-get upgrade

αž”αŸ„αŸ‡αž‡αŸ†αž αžΆαž“ 2

αžŠαŸ†αž‘αžΎαž„αž“αŸ…αž›αžΎ CTID, VZ_NODE ΠΈ VM αž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ rsync:

CentOSαŸ–

# yum install rsync -y

αžŠαŸαž”αŸ€αž“αž“αž·αž„αž’αŸŠαžΌαž”αŸŠαž»αž“αž‘αžΌαŸ–

# apt-get install rsync -y

αž™αžΎαž„αž˜αž·αž“αžŠαŸ†αž‘αžΎαž„αž’αŸ’αžœαžΈαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž‘αžΆαŸ†αž„αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡ αž¬αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αž‘αŸαŸ”

αž”αŸ„αŸ‡αž‡αŸ†αž αžΆαž“ 3

αž™αžΎαž„αž’αŸ’αžœαžΎαž€αžΆαžšαžˆαž”αŸ‹ CTID αž“αŸ…αž›αžΎ VZ_NODE αž€αŸ’αžšαž»αž˜

vzctl stop CTID

αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αžšαžΌαž”αž—αžΆαž– CTID:

vzctl mount CTID

αž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹αžαž /vz/root/CTID αž“αž·αž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·

mount --bind /dev dev && mount --bind /sys sys && mount --bind /proc proc && chroot .

αž“αŸ…αž€αŸ’αžšαŸ„αž˜ root αž”αž„αŸ’αž€αžΎαžαž―αž€αžŸαžΆαžš /root/exclude.txt - αžœαžΆαž“αžΉαž„αž˜αžΆαž“αž”αž‰αŸ’αž‡αžΈαž“αŸƒαž€αžΆαžšαž›αžΎαž€αž›αŸ‚αž„αžŠαŸ‚αž›αž“αžΉαž„αž˜αž·αž“αž‘αž‘αž½αž›αž”αžΆαž“αž‘αŸ…αž€αžΆαž“αŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžαŸ’αž˜αžΈ

/boot
/proc
/sys
/tmp
/dev
/var/lock
/etc/fstab
/etc/mtab
/etc/resolv.conf
/etc/conf.d/net
/etc/network/interfaces
/etc/networks
/etc/sysconfig/network*
/etc/sysconfig/hwconf
/etc/sysconfig/ip6tables-config
/etc/sysconfig/kernel
/etc/hostname
/etc/HOSTNAME
/etc/hosts
/etc/modprobe*
/etc/modules
/net
/lib/modules
/etc/rc.conf
/usr/share/nova-agent*
/usr/sbin/nova-agent*
/etc/init.d/nova-agent*
/etc/ips
/etc/ipaddrpool
/etc/ips.dnsmaster
/etc/resolv.conf
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-ens3

αž™αžΎαž„αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ… KVM_NODE αž“αž·αž„αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžšαž”αžŸαŸ‹αž™αžΎαž„αŸ” VMαžŠαžΌαž…αŸ’αž“αŸαŸ‡αžœαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž“αž·αž„αž’αžΆαž…αž…αžΌαž›αž”αŸ’αžšαžΎαž”αžΆαž“αžαžΆαž˜αžšαž™αŸˆαž”αžŽαŸ’αžαžΆαž‰αŸ”

αž₯αž‘αžΌαžœαž“αŸαŸ‡αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž‚αžΊαžšαž½αž…αžšαžΆαž›αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž•αŸ’αž‘αŸαžšαŸ” αž‘αŸ…!

αž”αŸ„αŸ‡αž‡αŸ†αž αžΆαž“ 4

αž“αŸ…αž€αŸ’αžšαŸ„αž˜αž’αž€αŸ’αžαžšαžΆαžœαž·αžšαž»αž‘αŸ’αž’αž™αžΎαž„αž’αž“αž»αžœαžαŸ’αž

rsync --exclude-from="/root/exclude.txt" --numeric-ids -avpogtStlHz --progress -e "ssh -T -o Compression=no -x" / root@KVM_NODE:/

αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ rsync αž“αžΉαž„αž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαž•αŸ’αž‘αŸαžšαž“αŸαŸ‡ αž™αžΎαž„αžŸαž„αŸ’αžƒαžΉαž˜αžαžΆαžŸαŸ„αž‚αžΊαž…αŸ’αž”αžΆαžŸαŸ‹ - αž€αžΆαžšαž•αŸ’αž‘αŸαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαž€αŸ’αžŸαžΆαž‘αž»αž€ symlinks αžŸαž·αž‘αŸ’αž’αž·αž…αžΌαž›αž”αŸ’αžšαžΎ αž˜αŸ’αž…αžΆαžŸαŸ‹ αž“αž·αž„αž€αŸ’αžšαž»αž˜ αž αžΎαž™αž€αžΆαžšαž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž”αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž·αž‘αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž›αŸ’αž”αžΏαž“αž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“ (αž’αŸ’αž“αž€αž’αžΆαž…αž”αŸ’αžšαžΎαž›αŸαžαžŸαž˜αŸ’αž„αžΆαžαŸ‹αž›αžΏαž“αž‡αžΆαž„αž˜αž»αž“ αž”αŸ‰αž»αž“αŸ’αžαŸ‚ αžœαžΆαž˜αž·αž“αžŸαŸ†αžαžΆαž“αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž·αž…αŸ’αž…αž€αžΆαžšαž“αŸαŸ‡αž‘αŸ) αž€αŸαžŠαžΌαž…αž‡αžΆαž€αžΆαžšαž”αž„αŸ’αž αžΆαž”αŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž·αž‘αŸ”

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž”αž‰αŸ’αž…αž”αŸ‹ rsync αž…αŸαž‰αž–αžΈ chroot (αžŠαŸ„αž™αž…αž»αž… ctrl + d) αž αžΎαž™αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·

umount dev && umount proc && umount sys && cd .. && vzctl umount CTID

αž”αŸ„αŸ‡αž‡αŸ†αž αžΆαž“ 5

αžŸαžΌαž˜αž’αž“αž»αžœαžαŸ’αžαž‡αŸ†αž αžΆαž“αž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαŸ‚αž›αž“αžΉαž„αž‡αž½αž™αž™αžΎαž„αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš VM αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž•αŸ’αž‘αŸαžšαž–αžΈ OpenVZ αŸ”
αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž‡αžΆαž˜αž½αž™ Systemd αž…αžΌαžšαž™αžΎαž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžŠαŸ‚αž›αž“αžΉαž„αž‡αž½αž™αž™αžΎαž„αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž€αž»αž„αžŸαžΌαž›αž’αž˜αŸ’αž˜αžαžΆ αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸ αžαžΆαž˜αžšαž™αŸˆαž’αŸαž€αŸ’αžšαž„αŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ VNC

mv /etc/systemd/system/getty.target.wants/[email protected] /etc/systemd/system/getty.target.wants/[email protected]

αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ CentOS 6 ΠΈ CentOS 7 αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΆαž€αžŠαžαžΆαžŠαŸ†αž‘αžΎαž„αžαžΊαžŽαŸ‚αž›αžαŸ’αž˜αžΈαŸ–

yum install kernel-$(uname -r)

αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž‘αž»αž€αž–αžΈαžœαžΆ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž•αŸ’αž‘αŸαžšαžœαžΆαž’αžΆαž…αž“αžΉαž„αžˆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž¬αžαŸ’αžšαžΌαžœαž”αžΆαž“αž›αž»αž”αŸ”

αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ CentOS 7 αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαž‡αž½αžŸαž‡αž»αž›αžαžΌαž…αž˜αž½αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ PolkitD αž”αžΎαž˜αž·αž“αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž‘αŸαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž“αžΉαž„αž‚αžΆαŸ†αž„αž‡αžΆαžšαŸ€αž„αžšαž αžΌαžαŸ–

getent group polkitd >/dev/null && echo -e "e[1;32mpolkitd group already existse[0m" || { groupadd -r polkitd && echo -e "e[1;33mAdded missing polkitd groupe[0m" || echo -e "e[1;31mAdding polkitd group FAILEDe[0m"; }

getent passwd polkitd >/dev/null 
&& echo -e "e[1;32mpolkitd user already existse[0m" || { useradd -r -g polkitd -d / -s /sbin/nologin -c "User for polkitd" polkitd && echo -e "e[1;33mAdded missing polkitd usere[0m" || echo -e "e[1;31mAdding polkitd user FAILEDe[0m"; }

rpm -Va polkit* && echo -e "e[1;32mpolkit* rpm verification passede[0m" || { echo -e "e[1;33mResetting polkit* rpm user/group ownership & permse[0m"; rpm --setugids polkit polkit-pkla-compat; rpm --setperms polkit polkit-pkla-compat; }

αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž‘αžΆαŸ†αž„αž’αžŸαŸ‹ αž”αŸ’αžšαžŸαž·αž“αž”αžΎ mod_fcgid αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Apache αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αž‘αžΎαž„ αž™αžΎαž„αž“αžΉαž„αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αž½αžŸαž‡αž»αž›αžαžΌαž…αž˜αž½αž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžŸαž·αž‘αŸ’αž’αž· αž”αžΎαž˜αž·αž“αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž‘αŸ αž‚αŸαž αž‘αŸ†αž–αŸαžšαžŠαŸ‚αž›αž”αŸ’αžšαžΎ mod_fcgid αž“αžΉαž„αž‚αžΆαŸ†αž„αž‡αžΆαž˜αž½αž™ error 500αŸ–

chmod +s `which suexec` && apachectl restart

αž αžΎαž™αžšαžΏαž„αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž‚αžΊαž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™ Ubuntu αž“αž·αž„ Debian αŸ” αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž“αŸαŸ‡αž’αžΆαž…αž‚αžΆαŸ†αž„αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜αž‡αžΆαžšαŸ€αž„αžšαž αžΌαžαžŠαŸ„αž™αž˜αžΆαž“αž€αŸ†αž αž»αžŸ

αžšαž„αŸ’αžœαž·αž›αž‡αž»αŸ†αž›αžΏαž“αž–αŸαž€αŸ” αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αž·αž‘αž”αžΎαž€αž”αž“αŸ’αžαž·αž…

αž˜αž·αž“αžŸαž”αŸ’αž”αžΆαž™αž…αž·αžαŸ’αž αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž’αžΆαž…αž‡αž½αžŸαž‡αž»αž›αž”αžΆαž“αž™αŸ‰αžΆαž„αž„αžΆαž™αžŸαŸ’αžšαž½αž› αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαž€αŸ†αžŽαŸ‚αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαŸ”

αž“αŸ…αž›αžΎ Debian 9 αž€αžΆαžšαž‡αž½αžŸαž‡αž»αž›αž˜αžΎαž›αž‘αŸ…αžŠαžΌαž…αž“αŸαŸ‡αŸ–

αž™αžΎαž„αž’αž“αž»αžœαžαŸ’αž

dbus-uuidgen

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž‘αž‘αž½αž›αž”αžΆαž“αž€αŸ†αž αž»αžŸ

/usr/local/lib/libdbus-1.so.3: αž€αŸ†αžŽαŸ‚ `LIDBUS_PRIVATE_1.10.8β€² αžšαž€αž˜αž·αž“αžƒαžΎαž‰

αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžœαžαŸ’αžαž˜αžΆαž“αžšαž”αžŸαŸ‹ LIBDBUS

ls -la /lib/x86_64-linux-gnu | grep dbus
libdbus-1.so.3 -> libdbus-1.so.3.14.15 
libdbus-1.so.3.14.15 <-- Π½ΡƒΠΆΠ΅Π½ этот
libdbus-1.so.3.14.16

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αžœαžΈαŸ—αž˜αžΆαž“αžŸαžŽαŸ’αžαžΆαž”αŸ‹αž’αŸ’αž“αžΆαž”αŸ‹ αž™αžΎαž„αž’αŸ’αžœαžΎαžœαžΆ

cd /lib/x86_64-linux-gnu
rm -rf libdbus-1.so.3
ln -s libdbus-1.so.3.14.15  libdbus-1.so.3

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžœαžΆαž˜αž·αž“αž’αžΆαž…αž‡αž½αž™αž”αžΆαž“ αžŸαžΌαž˜αžŸαžΆαž€αž›αŸ’αž”αž„αž‡αž˜αŸ’αžšαžΎαžŸαž‘αžΈαž–αžΈαžšαŸ”

αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž‘αžΈαž–αžΈαžšαž…αŸ†αž–αŸ„αŸ‡αž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™ αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αž·αž‘αž”αžΎαž€αž”αž“αŸ’αžαž·αž… αžŸαžΆαž€αžŸαž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™ Ubuntu αž“αž·αž„ Debian αžŸαŸ’αž‘αžΎαžšαžαŸ‚αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ”

αž™αžΎαž„αž’αž“αž»αžœαžαŸ’αž

bash -x /var/lib/dpkg/info/dbus.postinst configure

αž“αž·αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Ubuntu 14, Debian 7 αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ€αžαž™αžΎαž„αž’αž“αž»αžœαžαŸ’αžαŸ–

adduser --system --home /nonexistent --no-create-home --disabled-password --group messagebus

rm -rf /etc/init.d/modules_dep.sh 

αžαžΎαž™αžΎαž„αž”αžΆαž“αž’αŸ’αžœαžΎαž’αŸ’αžœαžΈ? αž™αžΎαž„αž”αžΆαž“αžŸαŸ’αžŠαžΆαžš messagebus αžŠαŸ‚αž›αž”αžΆαžαŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Debian/Ubuntu αž αžΎαž™αž”αžΆαž“αž›αž»αž” modules_dep αžŠαŸ‚αž›αž˜αž€αž–αžΈ OpenVZ αž“αž·αž„αžšαŸ†αžαžΆαž“αžŠαž›αŸ‹αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž˜αŸ‰αžΌαžŒαž»αž›αžαžΊαžŽαŸ‚αž›αž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”

αž”αŸ„αŸ‡αž‡αŸ†αž αžΆαž“ 6

αž™αžΎαž„αž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜ VM αž‘αžΎαž„αžœαž·αž‰ αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž› VNC αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž αžΎαž™αžαžΆαž˜αž§αžαŸ’αžŠαž˜αž‚αžαž· αž’αŸ’αžœαžΈαŸ—αž“αžΉαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαŸ” αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαžœαžΆαž’αžΆαž…αž‘αŸ…αžšαž½αž…αžŠαŸ‚αž›αžαžΆαž”αž‰αŸ’αž αžΆαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αž…αŸ†αž“αž½αž“αž“αžΉαž„αž›αŸαž…αž‘αžΎαž„αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€αž€αŸαžŠαŸ„αž™ αž–αž½αž€αžœαžΆαž αž½αžŸαž–αžΈαžœαž·αžŸαžΆαž›αž—αžΆαž–αž“αŸƒαž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡αž αžΎαž™αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ‚αžŠαŸ†αžšαžΌαžœαž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αžœαžΆαž€αžΎαžαž‘αžΎαž„αŸ”

αžαŸ’αž‰αž»αŸ†αžŸαž„αŸ’αžƒαžΉαž˜αžαžΆαž–αŸαžαŸŒαž˜αžΆαž“αž“αŸαŸ‡αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸ! πŸ™‚

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

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