ស្វែងយល់ពី ការវេចខ្ចប់ Package ជាមួយ SnapCraft

Snapcraft ជា Tool មួយដែលត្រូវបានគេប្រើប្រាស់ដើម្បីវេចខ្ចប់ Project មួយអោយទៅជា Package មួយដើម្បីងាយស្រួលយកទៅប្រើប្រាស់ដើម្បីតម្លើងនៅលើ Linuxប្រភេទខុសៗគ្នា។ Package ពេញនិយមភាគច្រើនត្រូវបានគេCompile យកទៅប្រើប្រាស់ជាមួយតែ ubuntu ដូចនេះ Canonicalដែលជាក្រុមហ៊ុនសរសេរកម្មវិធីមួយសម្រាប់ Ubuntu បានណែនាំ Snap អាចជួយអោយកម្មវិធីទាំងនោះដំណើរការលើ Linuxផ្សេងៗបាន ដើម្បីផ្តល់ភាពងាយស្រួលដល់ Linux Developer សរសេរកម្មវិធីតែមួយតែអាចដំណើរការលើគ្រប់ Linux Distro។

ប្រសិនបើ Developer សរសេរកម្មវិធីមួយដែលមាន ភាសារជាច្រើនចូលគ្នាដូចជា Phython, Node.js និង ភាសា C ឬ C++នៅពេលចង់បង្កើតទៅជា Package មួយសម្រាប់តម្លើងនៅក្នុងលីនុច។បញ្ហានិងកើតមានឡើងពេលតម្លើងLinuវានិងព្យាយាមដោនឡូត Dependency ចេញពីប្រភពផ្សេងៗមកប្រើប្រាស់ពេលខ្លះConflict គ្នាដោយចេញពីឃ្លំាងខុសគ្នា ដូចនេះការប្រើប្រាស់ Sharing Libraryមិនមែនជារឿងល្អប៉ុន្មានទេសម្រាប់ Enterprise System។

 

snapcraft

ប្រភព https://github.com/snapcore/snapcraft/

Snapcraft ជាបណ្តុំ File ដែលបានវេចខ្ចប់ដោយមាន Dependency ទៅជាមួយផងដែរដើម្បីអោយវាអាចដំណើរការបានល្អនៅលើ OS ប្រភេទផ្សេងៗគ្នាជាពិសេសសម្រាប់អោយវាអាចទំនាក់ទំនងជាមួយកម្មវិធីផ្សេងៗបានងាយ។

Snap ងាយស្រួលបង្កើត ដោយគ្រាន់តែដាក់ File ដែលអ្នកត្រូវការ(Dependency file) ទៅក្នុង Directory អ្នកអាចប្រើប្រាស់subdirectory អ្វីក៏បានតាមចិត្ត។ Directory ទាំងនោះវានិង Compress ទៅជា Squashfs ដែលជា Zip FileហើយវានិងMount យកទៅដាក់នៅក្នុង /snap/zip-file-name/current ។តំណរនេះនិងបង្ហាញពីការ តម្លើង Snap នៅលើ Linuxផ្សេងៗគ្នា SNAP INSTALL។

Snap ជា ប្រភេទ Middleware ដែលមានតួនាទីសម្របសម្រួលរវាង Application Layer ជាមួយ Operating System Layer (kernel)មុននិង Software អាចដំណើរការបាន លុះត្រាតែLinuxនោះមានតម្លើងកម្មវិធីSnaptool  និង ដំណើការ Service snapd ជាមុនសិន។

Snap ជា Self container Application ដែល Dependency ទាំងអស់ដែលកម្មវិធីត្រូវការប្រើប្រាស់មាននៅក្នុង Container របស់កម្មវិធីនោះស្រាប់មិនចាំបាច់ទៅទាញយកពីកម្មវិធីផ្សេងមកប្រើប្រាស់នោះទេ ។ Snap ត្រូវបានប្រើប្រាស់នៅក្នុង Ubuntu16 TLSនាពេលអនាគតសរសេរកម្មវិធីតែមួយអាចយកទៅប្រើប្រាស់បានគ្រប់លីនុចនិងចំនេញពេលវេលាច្រើនសម្រាប់ Developer។

សព្វថ្ងៃនេះ Snap ដំណើរការល្អជាមួយ Debian, Arch Linux, Fedora, Lubuntu, Kubuntu, Ubuntu MATE, Ubuntu GNOME, UbuntuKylin, and Xubuntu. ហើយ Snap បាននិងកំពុងធ្វើអោយដំណើរការល្អជាមួយ Linux ផ្សេងៗទៀតដូចជា Gentoo, Mint, Elementary,CentOS, OpenSUSE, RHEL, and OpenWrt។

ពត៏មានបន្ថែមសូមចូលទៅកាន់តំណនេះ SNAP