เมื่อเพื่อนส่งไฟล์บีบอัดมาใน format ที่ค่อนข้างไม่รู้จัก เช่น 7z, bz2 ไม่รำคาญไหมต้องติดตั้ง tool เพิ่มแค่เพื่อ extract เนื้อหา? นี่คือที่ที่ self-extracting archive มีประโยชน์ มันให้ extract archives ได้โดยไม่ต้องมีซอฟต์แวร์เพิ่ม แค่ดับเบิลคลิก archive มันจะ auto-extract ไฟล์ภายใน แม้มีแอปพลิเคชันเยอะสำหรับสร้าง self-extracting archive นี่คือ native tools ที่มาพร้อม OS
หมายเหตุ:
1. แม้จะสร้าง self-extracting archive ใน Windows และ Linux ได้ แต่ archive ที่สร้างไม่ cross-platform compatible ไม่สามารถสร้างใน Windows แล้วคาดหวังให้ทำงานใน Linux แม้ใน Linux archive อาจไม่ compatible กับแต่ละ distro หากวางแผนส่ง self-extracting archive ให้เพื่อน ต้องแน่ใจว่าใช้ OS platform เดียวกัน
2. Self-extracting archive อาจเป็นความเสี่ยงหากไม่แน่ใจเนื้อหาภายใน เว้นแต่คาดหวังรับ self-extracting archive จากแหล่งที่เชื่อถือ อย่าเปิด self-extracting archive ใดๆ โดยเฉพาะที่ดาวน์โหลดจากเว็บไซต์ซื่อสรป
สร้าง self-extracting archive ใน Windows
Windows มาพร้อม built-in tool คือ iexpress.exe ที่สร้าง self-extracting installer ปัญหาของ Microsoft คือชอบซ่อน useful nifty tools นี้จากสาธารณะ จึงไม่น่าประหลาดใจที่ไม่ค่อยมีใครรู้จัก tool นี้
ใน Windows (XP ถึง Windows 10) เปิดเมนู "Run" พิมพ์ "iexpress" เลือกโปรแกรม "iexpress"
หน้าจอแรก เลือก "Create new Self-Extraction Directive file" คลิก Next
หน้าจอถัดไป เลือก "Extract files only" จะสร้าง self-extracting archive แทน installer
คลิก Next ต่อไปและทำตาม wizard สร้าง archive เมื่อเสร็จ จะได้ไฟล์ EXE ที่ดับเบิลคลิกเพื่อ extract เนื้อหาได้
สร้าง self-extracting archive ใน Ubuntu
Ubuntu มาพร้อม Archive Manager ที่บีบอัดไฟล์ได้ แต่ไม่ให้สร้าง self-extracting archive ทำได้ด้วยคำสั่ง unzipsfx
ตัวอย่าง สมมติต้องการสร้าง self-extracting archive "test" ที่มี "test.txt"
1. บีบอัด "test.txt" เป็น zip format (ใช้ Archive Manager) จะได้ "test.zip" ที่มี "text.txt"
2. เปิด terminal พิมพ์:
cat /usr/bin/unzipsfx /path/to/test.zip > /path/to/test
คำสั่งนี้ prepend "unzipsfx" ไปหน้า "test.zip" และบันทึกเป็นไฟล์ใหม่ "test"
3. ต่อไป เปลี่ยน permission ของไฟล์ และปรับ self-extracting archive:
chmod 755 /path/to/test zip -A /path/to/test
เสร็จแล้ว ทุกครั้งที่ดับเบิลคลิก "test" จะ auto-extract ไฟล์ภายในเอง
จัดการ self-extracting archive ใน Mac
ไม่มี native tool สร้าง self-extracting archive ใน Mac เพราะไม่จำเป็น macOS จัดการไฟล์บีบอัดได้ดี แอป default "Archive Utility" extract ไฟล์บีบอัดเมื่อดับเบิลคลิก นอกจากนี้ The Unarchiver app รองรับ compression formats 多 ใหม่ ไม่ต้องกังวล compatibility ใน Mac
Self-extracting archive ได้ชื่อเสียงแย่เป็นแหล่งแพร่ virus แต่ไม่ได้หมายถึงมันทั้งหมดแย่และไม่มีดี ใช้อย่างถูกต้อง ก็เป็นเครื่องมือที่มีประโยชน์ ผู้ใช้ Windows ได้ประโยชน์มากที่สุด เพราะการรองรับ compression formats หลากหลายยังขาดใน Windows แต่ EXE format ของ self-extracting archive อาจทำให้ผู้ที่กังวลความปลอดภัยไม่ชอบ
Image credit: Zipped folder standing on yellow background by DepositPhotos