unsnap ซึ่งเป็นเครื่องมือในการโยกย้ายแพ็คเกจ snap ไปยัง flatpak
Snap คือระบบจัดการแพ็กเกจที่พัฒนาโดย Canonicalสำหรับ Ubuntu ซึ่งสามารถใช้งานได้บนระบบปฏิบัติการที่ใช้เคอร์เนล Linux และระบบ init systemd
ระบบจัดการแพ็กเกจนี้ถูกนำเสนอว่าเป็นระบบ "สากล"ซึ่ง Canonical ได้ส่งเสริมอย่างมากจนกระทั่งในเวอร์ชันใหม่ที่วางแผนไว้สำหรับ Ubuntu นั้น ได้ยกเลิกการสนับสนุน Flatpak และหันมาทุ่มเททุกอย่างให้กับระบบจัดการแพ็กเกจของตนเองแทน
ในทางกลับกัน Canonical ก็ตัดสินใจที่จะปล่อย Ubuntu เวอร์ชันหนึ่งออกมาในรูปแบบแพ็กเกจ Snap ทั้งหมดข่าวนี้ไม่ได้รับการตอบรับที่ดีจากหลายคนและก่อให้เกิดความแตกแยกภายในชุมชน เนื่องจากแพ็กเกจ Snap ไม่ได้รับการยอมรับอย่างแพร่หลาย
เพื่อตอบสนองต่อสถานการณ์ดังกล่าว จึงเกิดการเคลื่อนไหวหลายอย่างเพื่อส่งเสริมการใช้แพ็กเกจ Flatpakหนึ่งในโครงการที่สนับสนุนรูปแบบ Flatpak คือ unsnap ซึ่งกำลังได้รับการพัฒนาเป็นเครื่องมือสำหรับแปลงระบบที่ใช้ Ubuntu จากการใช้แพ็กเกจ snap ไปเป็นแพ็กเกจ flatpak
ยูทิลิตีนี้ไม่เพียงแทนที่ตัวจัดการแพ็คเกจ snap ด้วย flatpak แต่ยังเลือกและติดตั้งแฟลตแพ็กคู่สำหรับแพ็คเกจ snap ที่ติดตั้งบนระบบแล้ว ในกรณีที่ดีที่สุด ผู้ใช้สามารถรับชุดแอปพลิเคชันที่คล้ายกันทั้งหมด แต่ติดตั้งในรูปแบบ flatpak
เกี่ยวกับการถอดสแนป
การย้ายระบบจะดำเนินการเป็นหลายขั้นตอน ในขั้นตอนแรกunsnap จะสร้างชุดสคริปต์เชลล์ที่อธิบายการดำเนินการแทนที่โดยคำนึงถึงสถานะปัจจุบันของระบบ จะมีการสร้างสคริปต์แยกต่างหากเพื่อสำรองข้อมูลสภาพแวดล้อม snap ติดตั้งตัวจัดการแพ็กเกจ flatpak เปิดใช้งานที่เก็บ flatpak ติดตั้ง flatpak ที่เทียบเท่ากับแพ็กเกจ snap ที่มีอยู่แล้วในระบบ และลบแพ็กเกจ snap และชุดเครื่องมือ snapd ออกจากระบบ ก่อนที่จะเรียกใช้สคริปต์ที่สร้างขึ้นโดยอัตโนมัติ ผู้ใช้สามารถแก้ไขได้ตามต้องการ
โครงการนี้กำลังได้รับการพัฒนาโดย Alan Popeหนึ่งในผู้พัฒนา Snap ซึ่งลาออกจาก Canonical ในปี 2021 หลังจากทำงานกับบริษัทมา 10 ปี ชุดเครื่องมือนี้ยังอยู่ในสถานะทดลอง (pre-alpha) และรองรับเฉพาะ Ubuntu เท่านั้น
ในโครงการที่เกี่ยวข้อง ผู้เขียน unsnap กล่าวถึงเดสก์ท็อปที่กำหนดเอง (ชุดของสคริปต์สำหรับแปลงองค์ประกอบของสภาพแวดล้อม Ubuntu ที่ติดตั้งไว้แล้ว) และ deb-get (อะนาล็อกของ apt-get สำหรับการทำงานกับแพ็คเกจ deb ที่อยู่ในที่เก็บของบุคคลที่สาม หรือทางเว็บไซต์)
นอกจากตัวจัดการแพ็คเกจแล้ว โครงการ deb-get ยังมีข้อมูลเมตาของแพ็คเกจของบุคคลที่สามที่พร้อมติดตั้งซึ่งสามารถใช้เพื่อแทนที่แพ็คเกจ snap ด้วยแพ็คเกจ deb
Unsnap สามารถเรียกใช้ชุดสคริปต์ที่สร้างขึ้นโดยอัตโนมัติได้:
- 00-backup : รัน snap save สำหรับแต่ละ snap ที่ติดตั้งไว้ซึ่งกำลังถูกย้าย
- 01-install-flatpak : หากยังไม่ได้ติดตั้ง มันจะติดตั้งตัวจัดการแพ็คเกจ flatpak
- 02-enable-flathub : หากไม่เปิดใช้งาน จะเพิ่มตำแหน่งระยะไกลของ flathub ใน flatpak
- 03-install-flatpaks : ติดตั้ง flatpaks ที่เทียบเท่าสำหรับแต่ละปลั๊กอินที่ระบุ
- 04-remove-snaps : ลบ snaps ที่ติดตั้ง flatpaks
- 99-remove-snapd : ลบ snapd เพียงอย่างเดียว ซึ่งจะลบแพ็คเกจ snap ทั้งหมด
มีการกล่าวถึงว่าในอนาคต unsnap มีแผนที่จะรองรับการกระจายที่เข้ากันได้กับ snap อื่นๆ เช่น Manjaro, Linux Mint, Zorin, Debian, Fedora, Pop_OS!, KDE Neon, Raspbian, CentOS และ Elementary OS ผู้ใช้อาจสนใจรายการแพ็คเกจอะนาล็อกที่จัดทำโดยโครงการในรูปแบบ snap และ flatpak
จะติดตั้ง unsnap บน Ubuntu ได้อย่างไร?
สำหรับผู้ที่สนใจติดตั้งเครื่องมือนี้บนระบบของพวกเขา พวกเขาควรรู้ว่าการติดตั้งนั้นค่อนข้างง่าย และเพียงแค่เปิดเทอร์มินัลก็เพียงพอแล้ว และในนั้นพวกเขาจะพิมพ์ข้อความต่อไปนี้:
git clone https://github.com/popey/unsnap
cd unsnap
./unsnap
Unsnap ทำงานเป็นกระบวนการสองขั้นตอน ในขั้นแรกUnsnap จะสร้างชุดสคริปต์ที่รับผิดชอบในการย้าย Instant Packages ไปยัง Flatpak จริงๆ คุณสมบัตินี้ช่วยให้ผู้ใช้สามารถดูและแก้ไขสคริปต์ได้หากจำเป็น ก่อนที่จะดำเนินการ เพื่อตรวจสอบหรือปรับเปลี่ยนให้ตรงตามความต้องการของตนเอง
หลังจากสร้างสคริปต์แล้ว ผู้ใช้สามารถเรียกใช้สคริปต์ตามลำดับเพื่อให้กระบวนการโอนย้ายเสร็จสมบูรณ์
หรือตามที่กล่าวไว้ในตอนต้น หากคุณต้องการดำเนินการกับสคริปต์ทั้งหมด เพียงพิมพ์:
./unsnap auto
สุดท้ายนี้ เป็นสิ่งที่ควรค่าแก่การกล่าวถึงเช่นเดียวกับกระบวนการย้ายข้อมูลอื่นๆ คำแนะนำให้ทำการสำรองข้อมูลที่สำคัญ เนื่องจากจะเป็นการลบและติดตั้งแอปพลิเคชัน ซึ่งรวมถึงการลบข้อมูลด้วย
หากคุณสนใจเรียนรู้เพิ่มเติม สามารถดูรายละเอียดได้ที่ลิงก์ต่อไปนี้