ค้นหาเว็บไซต์

คู่มือผู้เริ่มต้นใช้งาน Snaps ใน Linux - ตอนที่ 1


ในช่วงไม่กี่ปีที่ผ่านมา ชุมชน Linux ได้รับพรจากความก้าวหน้าที่น่าทึ่งในด้านการจัดการแพ็คเกจบนระบบ Linux โดยเฉพาะอย่างยิ่งเมื่อพูดถึงแพ็คเกจและการแจกจ่ายซอฟต์แวร์แบบสากลหรือแบบกระจายข้าม ความก้าวหน้าประการหนึ่งคือรูปแบบแพ็คเกจ Snap ที่พัฒนาโดย Canonical ซึ่งเป็นผู้ผลิต Ubuntu Linux ที่ได้รับความนิยม

Snap Package คืออะไร?

Snaps เป็นแอปพลิเคชันแบบกระจายข้าม ไม่มีการพึ่งพา และติดตั้งง่าย มาพร้อมกับการพึ่งพาทั้งหมดเพื่อทำงานบน Linux เวอร์ชันหลักทั้งหมด จากบิลด์เดียว snap (แอปพลิเคชัน) จะทำงานบนการกระจาย Linux ที่รองรับทั้งหมดบนเดสก์ท็อป ในระบบคลาวด์ และ IoT การกระจายที่รองรับ ได้แก่ Ubuntu, Debian, Fedora, Arch Linux, Manjaro และ CentOS/RHEL

Snaps มีความปลอดภัย โดยถูกจำกัดและแซนด์บ็อกซ์เพื่อไม่ให้ระบบทั้งหมดเสียหาย พวกมันทำงานภายใต้ระดับการกักขังที่แตกต่างกัน (ซึ่งเป็นระดับการแยกตัวจากระบบฐานและระหว่างกัน) ที่น่าสังเกตยิ่งกว่านั้นคือ ทุก Snap มีอินเทอร์เฟซที่ผู้สร้าง Snap คัดสรรมาอย่างดี โดยอิงตามข้อกำหนดของ Snap เพื่อให้สามารถเข้าถึงทรัพยากรระบบเฉพาะที่อยู่นอกขอบเขต เช่น การเข้าถึงเครือข่าย การเข้าถึงเดสก์ท็อป และอื่นๆ

แนวคิดที่สำคัญอีกประการหนึ่งในระบบนิเวศ snap คือ ช่องทาง ช่องทางจะกำหนดว่า snap รุ่นใดที่ได้รับการติดตั้งและติดตามการอัปเดต และประกอบด้วยและแบ่งย่อยตาม แทร็ก ระดับความเสี่ยง และสาขา

ส่วนประกอบหลักของระบบการจัดการแพ็คเกจ snap คือ:

  • snapd – บริการพื้นหลังที่จัดการและดูแลรักษาสแนปของคุณบนระบบ Linux
  • snap – ทั้งรูปแบบแพ็คเกจแอปพลิเคชันและเครื่องมืออินเทอร์เฟซบรรทัดคำสั่งที่ใช้ในการติดตั้งและลบ snaps และทำสิ่งอื่น ๆ อีกมากมายในระบบนิเวศของ snap
  • snapcraft – เฟรมเวิร์กและเครื่องมือบรรทัดคำสั่งที่มีประสิทธิภาพสำหรับการสร้าง snaps
  • snap store – สถานที่ที่นักพัฒนาสามารถแบ่งปัน snaps ของตนและผู้ใช้ Linux ค้นหาและติดตั้งได้

นอกจากนี้ snaps ยังอัปเดตโดยอัตโนมัติอีกด้วย คุณสามารถกำหนดเวลาและวิธีอัปเดตได้ ตามค่าเริ่มต้น snapd daemon จะตรวจสอบการอัปเดตสูงสุดสี่ครั้งต่อวัน: การตรวจสอบการอัปเดตแต่ละครั้งจะเรียกว่า รีเฟรช คุณยังสามารถเริ่มต้นการรีเฟรชด้วยตนเองได้

วิธีการติดตั้ง Snapd ใน Linux

ตามที่อธิบายไว้ข้างต้น snapd daemon เป็นบริการพื้นหลังที่จัดการและรักษาสภาพแวดล้อม snap ของคุณบนระบบ Linux โดยการใช้นโยบายการจำกัดและการควบคุมอินเทอร์เฟซที่อนุญาตให้ snaps เข้าถึงทรัพยากรระบบเฉพาะ นอกจากนี้ยังจัดเตรียมคำสั่ง snap และใช้เพื่อวัตถุประสงค์อื่นๆ อีกมากมาย

หากต้องการติดตั้งแพ็คเกจ snapd บนระบบของคุณ ให้เรียกใช้คำสั่งที่เหมาะสมสำหรับการแจกจ่าย Linux ของคุณ

------------ [On Debian and Ubuntu] ------------ 
sudo apt update 
sudo apt install snapd

------------ [On Fedora Linux] ------------
dnf install snapd			

------------ [On CentOS and RHEL] ------------
yum install epel-release 
yum install snapd		

------------ [On openSUSE - replace openSUSE_Leap_15.0 with the version] ------------
sudo zypper addrepo --refresh https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.0 snappy
sudo zypper --gpg-auto-import-keys refresh
sudo zypper dup --from snappy
sudo zypper install snapd

------------ [On Manjaro Linux] ------------
pacman -S snapd

------------ [On Arch Linux] ------------
git clone https://aur.archlinux.org/snapd.git
cd snapd
makepkg -si

หลังจากติดตั้ง snapd บนระบบของคุณ ให้เปิดใช้งานหน่วย systemd ที่จัดการซ็อกเก็ตการสื่อสาร snapd หลัก โดยใช้คำสั่ง systemctl ดังต่อไปนี้

บน Ubuntu และอนุพันธ์ของมัน สิ่งนี้ควรถูกทริกเกอร์โดยอัตโนมัติโดยโปรแกรมติดตั้งแพ็คเกจ

sudo systemctl enable --now snapd.socket

โปรดทราบว่าคุณไม่สามารถเรียกใช้คำสั่ง snap หาก snapd.socket ไม่ทำงาน รันคำสั่งต่อไปนี้เพื่อตรวจสอบว่ามีการใช้งานอยู่หรือไม่ และเปิดใช้งานเพื่อเริ่มต้นโดยอัตโนมัติเมื่อบูตระบบ

sudo systemctl is-active snapd.socket
sudo systemctl status snapd.socket
sudo systemctl is-enabled snapd.socket

จากนั้น เปิดใช้งานการสนับสนุน classic snap โดยการสร้างลิงก์สัญลักษณ์ระหว่าง /var/lib/snapd/snap และ /snap ดังต่อไปนี้

sudo ln -s /var/lib/snapd/snap /snap

หากต้องการตรวจสอบเวอร์ชันของ snapd และเครื่องมือบรรทัดคำสั่ง snap ที่ติดตั้งในระบบของคุณ ให้รันคำสั่งต่อไปนี้

snap version 

วิธีการติดตั้ง Snaps ใน Linux

คำสั่ง snap ช่วยให้คุณสามารถติดตั้ง กำหนดค่า รีเฟรช และลบ snaps และโต้ตอบกับระบบนิเวศ snap ที่ใหญ่ขึ้น

ก่อนที่จะติดตั้ง snap คุณสามารถตรวจสอบได้ว่ามีอยู่ใน snap store หรือไม่ ตัวอย่างเช่น หากแอปพลิเคชันอยู่ในหมวดหมู่ “เซิร์ฟเวอร์แชท ” หรือ “เครื่องเล่นสื่อ“ คุณสามารถเรียกใช้คำสั่งเหล่านี้เพื่อค้นหาได้ ซึ่งจะสอบถามร้านค้า สำหรับแพ็คเกจที่มีอยู่ในช่องทางเสถียร

snap find "chat servers"
snap find "media players"

หากต้องการแสดงข้อมูลโดยละเอียดเกี่ยวกับ snap เช่น rocketchat-server คุณสามารถระบุชื่อหรือเส้นทางได้ โปรดทราบว่าชื่อจะถูกค้นหาทั้งใน snap store และใน snap ที่ติดตั้ง

snap info rocketchat-server

หากต้องการติดตั้ง snap บนระบบของคุณ เช่น rocketchat-server ให้รันคำสั่งต่อไปนี้ หากไม่มีตัวเลือกให้ไว้ จะมีการติดตั้ง snap เพื่อติดตามช่อง “เสถียร” โดยมีการจำกัดความปลอดภัยอย่างเข้มงวด

sudo snap install rocketchat-server

คุณสามารถเลือกที่จะติดตั้งจากช่องทางอื่น: edge, เบต้า หรือ ผู้สมัคร ด้วยเหตุผลอย่างใดอย่างหนึ่ง โดยใช้ --edge, --beta หรือตัวเลือก --candidate ตามลำดับ หรือใช้ตัวเลือก --channel และระบุช่องที่คุณต้องการติดตั้ง

sudo snap install --edge rocketchat-server        
sudo snap install --beta rocketchat-server
sudo snap install --candidate rocketchat-server

จัดการ Snaps ใน Linux

ในส่วนนี้ เราจะได้เรียนรู้วิธีจัดการสแนปในระบบ Linux

การดู Snaps ที่ติดตั้ง

หากต้องการแสดงข้อมูลสรุปของ snaps ที่ติดตั้งบนระบบของคุณ ให้ใช้คำสั่งต่อไปนี้

snap list

หากต้องการแสดงรายการการแก้ไขปัจจุบันของ snap ที่ใช้งาน ให้ระบุชื่อ คุณยังสามารถแสดงรายการการแก้ไขที่มีอยู่ทั้งหมดได้โดยเพิ่มตัวเลือก --all

snap list mailspring
OR
snap list --all mailspring

การอัปเดตและการคืนค่า Snaps

คุณสามารถอัพเดตสแน็ปที่ระบุหรือสแนปทั้งหมดในระบบได้หากไม่มีการระบุดังต่อไปนี้ คำสั่ง รีเฟรช จะตรวจสอบช่องที่กำลังติดตามโดย snap และจะดาวน์โหลดและติดตั้ง snap เวอร์ชันใหม่หากมีให้บริการ

sudo snap refresh mailspring
OR
sudo snap refresh		#update all snaps on the local system

หลังจากอัปเดตแอปเป็นเวอร์ชันใหม่ คุณสามารถเปลี่ยนกลับเป็นเวอร์ชันที่ใช้ก่อนหน้านี้ได้โดยใช้คำสั่ง เปลี่ยนกลับ โปรดทราบว่าข้อมูลที่เกี่ยวข้องกับซอฟต์แวร์จะถูกเปลี่ยนกลับด้วย

sudo snap revert mailspring

ตอนนี้เมื่อคุณตรวจสอบการแก้ไขทั้งหมดของ mailspring การแก้ไขล่าสุดจะ ปิดใช้งาน การแก้ไขที่ใช้ก่อนหน้านี้ใช้งานได้แล้ว

snap list --all mailspring

ปิดการใช้งาน/เปิดใช้งานและการลบ Snaps

คุณสามารถ ปิดใช้งาน สแนป ได้ หากคุณไม่ต้องการใช้ เมื่อปิดใช้งาน ไบนารีและบริการของ snap จะไม่สามารถใช้ได้อีกต่อไป อย่างไรก็ตาม ข้อมูลทั้งหมดจะยังคงอยู่

sudo snap disable mailspring

หากคุณต้องการใช้ snap อีกครั้ง คุณสามารถเปิดใช้งานกลับได้

sudo snap enable mailspring

หากต้องการ ลบ สแนปออกจากระบบของคุณโดยสมบูรณ์ ให้ใช้คำสั่ง remove ตามค่าเริ่มต้น การแก้ไขทั้งหมดของ snap จะถูกลบออก

sudo snap remove mailspring

หากต้องการลบการแก้ไขเฉพาะ ให้ใช้ตัวเลือก --revision ดังต่อไปนี้

sudo snap remove  --revision=482 mailspring

สิ่งสำคัญที่ควรทราบคือเมื่อคุณลบ snapd ข้อมูลของมัน (เช่น ข้อมูลผู้ใช้ภายใน ระบบ และการกำหนดค่า) จะถูกบันทึกโดย snapd (เวอร์ชัน 2.39 และสูงกว่า) เป็น snapshot และเก็บไว้ในระบบเป็นเวลา 31 วัน ในกรณีที่คุณติดตั้ง snap ใหม่ภายใน 31 วัน คุณสามารถกู้คืนข้อมูลได้

บทสรุป

Snaps กำลังได้รับความนิยมมากขึ้นในชุมชน Linux เนื่องจากให้วิธีง่ายๆ ในการติดตั้งซอฟต์แวร์บน Linux ทุกรุ่น ในคู่มือนี้ เราได้แสดงวิธีการติดตั้งและใช้งาน snaps ใน Linux เราได้กล่าวถึงวิธีการติดตั้ง snapd, ติดตั้ง snaps, ดู snaps ที่ติดตั้ง, อัปเดตและเปลี่ยนกลับ snaps และปิด/เปิดใช้งานและลบ snaps

คุณสามารถถามคำถามหรือติดต่อเราผ่านแบบฟอร์มข้อเสนอแนะด้านล่าง ในส่วนถัดไปของคู่มือนี้ เราจะกล่าวถึงการจัดการสแนป (คำสั่ง นามแฝง บริการ และสแน็ปช็อต) ใน Linux