บทช่วยสอนง่ายๆ เพื่อสร้างและติดตั้งแพ็คเกจ deb ของคุณเอง
ไม่มีอะไรนอกจาก Debian, Ubuntu หรือระบบปฏิบัติการที่ใช้ Debian
แอป Mypackage จะเปิดเว็บไซต์อย่างเป็นทางการของ Ubuntu เมื่อทำงาน
ระบบการตั้งชื่อของโฟลเดอร์ mypackage_1.0_all
ของเรา : package-name_version_architecture
ชื่อแพ็คเกจ : mypackage
เวอร์ชั่น : 1.0
สถาปัตยกรรม : อาจเป็น all
หรือชุดย่อยของสถาปัตยกรรมที่รองรับ
สถาปัตยกรรมแพ็คเกจดิบ:
- └── mypackage_1.0_all # โฟลเดอร์หลักของแพ็คเกจ ├── เดเบียน │ ├── ควบคุม # ไฟล์พร้อมข้อมูลหลักของแพ็คเกจ │ ├── postinst # สคริปต์ดำเนินการหลังจากการติดตั้ง │ └── preinst # สคริปต์ดำเนินการก่อนการติดตั้ง ├── เลือก │ └── mypackage # โฟลเดอร์รวมถึงซอฟต์แวร์ของเรา │ └── open_link.sh # สคริปต์เปิดเบราว์เซอร์ไปที่ ubuntu.com └── เรา └── แบ่งปัน ├── แอปพลิเคชัน │ └── mypackage.desktop # ไฟล์พร้อมข้อมูลแอปในตัวเรียกใช้งาน └── ไอคอน └── mypackage.xpm # ไอคอนแอป Launcher
ข้อมูลเพิ่มเติมเกี่ยวกับไฟล์ DEBIAN/control
:
Package: mypackage
Version: 1.0 # package version
Architecture: all # our package sums up to a bash script and this is POSIX
Essential: no # essential to the system ?
Priority: optional # install order in package management system
Depends: curl,zenity # comma-separated dependency packages (,)
Maintainer: flavienbwk
Description: A sample package...
แม้ว่าจะมีวิธีติดตั้งไฟล์เก็บถาวร deb โดยไม่ต้องใช้ sudo แต่แพ็คเกจ deb ส่วนใหญ่ได้รับการออกแบบมาให้ติดตั้งทั่วทั้งระบบ ซึ่งหมายความว่าสคริปต์ preinst และ postinst หรือไบนารีอื่น ๆ ที่รวมอยู่ในไฟล์เก็บถาวรสามารถทำงานได้โดยไม่มีข้อจำกัดใด ๆ ในระบบของตน (ดู แพ็คเกจ Snap สำหรับทางเลือกอื่น) ตรวจสอบสคริปต์ของคุณสามครั้งและระมัดระวังในการแบ่งปันเพื่อไม่ให้คอมพิวเตอร์ของผู้อื่นเสียหาย
สร้าง
dpkg-deb --build ./mypackage_1.0_all
ติดตั้ง
sudo gdebi -n ./mypackage_1.0_all.deb # ทดสอบ (ต้องใช้ gdebi-core) sudo dpkg -i ./mypackage_1.0_all.deb # ติดตั้ง
หมายเหตุ ถอนการติดตั้งด้วย
sudo apt autoremove mypackage
คุณควรเห็น Mypackage ในตัวเรียกใช้งานของคุณ:
ตัวเลือกแรกนั้นง่ายที่สุด : เราสามารถติดตั้งแพ็คเกจในเครื่องได้
สร้างโฟลเดอร์ที่จะเก็บพื้นที่เก็บข้อมูลของเราและย้ายแพ็คเกจ .deb
ของเราเข้าไปข้างใน
mkdir -p ./mirror/pool ซีพี ./mypackage_1.0_all.deb ./mirror/pool/
สร้างไฟล์ดัชนี Packages
ซีดี ./mirror dpkg-scanpackages -m ./pool > แพ็คเกจ
เพิ่มไดเร็กทอรีไปยังแหล่งที่มาของระบบของคุณ
echo "deb [trusted=yes] ไฟล์:/path/to/repository/mirror /" | sudo tee /etc/apt/sources.list.d/mypackage.list
อัพเดตข้อกำหนดแพ็คเกจของคุณและติดตั้ง
อัปเดต sudo apt sudo apt ติดตั้ง mypackage
พื้นที่เก็บข้อมูลที่ติดตั้งในเครื่องสามารถให้บริการได้จากเซิร์ฟเวอร์ Apache แบบธรรมดาบนเครื่องของคุณเอง
คุณสามารถเลือกสร้าง Personal Package Archive (PPA) ซึ่งโฮสต์บน จากนั้นทุกคนสามารถเข้าถึงได้ด้วยคำสั่ง add-apt-repository ppa:<repository_name>
แบบง่ายๆ
หากคุณต้องการให้แพ็คเกจของคุณเผยแพร่ไปยังที่เก็บจักรวาล/ลิขสิทธิ์ของ Ubuntu อาจเป็นเรื่องยากเนื่องจากคุณควรได้รับการอนุมัติจาก MOTU ต้องการเผยแพร่ไปยังหน้าหลักหรือไม่? นั่นเป็นเงื่อนไขมากมายที่ต้องปฏิบัติตาม รวมถึงการรักษาความปลอดภัยและความมุ่งมั่นต่อเกณฑ์การบำรุงรักษา
แพ็คเกจ META คือแพ็คเกจที่ไม่ได้ติดตั้งอะไรเลยนอกจากรายการการขึ้นต่อกัน
นั่นคือวิธีที่คุณสามารถติดตั้งเดสก์ท็อปทั้งหมดผ่านแพ็คเกจเดียว
APT คือระบบการจัดการแพ็คเกจแบบดั้งเดิมที่ใช้โดย Debian และอนุพันธ์ของมัน (รวมถึง Ubuntu) เปิดตัวครั้งแรกในปี 1998 และใช้แพ็คเกจ . .deb
Snap ซึ่งเปิดตัวโดย Canonical ในปี 2014 เป็นตัวจัดการแพ็คเกจรุ่นใหม่ที่ออกแบบมาเพื่อให้การกระจายแพ็คเกจง่ายขึ้นในการกระจาย Linux ต่างๆ มันรวมการพึ่งพาไว้ภายในแพ็คเกจ .snap
แต่ละแพ็คเกจ ซึ่งนำไปสู่ขนาดแพ็คเกจที่ใหญ่ขึ้น แต่ช่วยลด "นรกแห่งการพึ่งพา" สิ่งนี้มีประโยชน์โดยเฉพาะในระบบออฟไลน์
ข้อแตกต่างที่สำคัญคือแพ็คเกจ snap มุ่งเน้นไปที่ความเข้ากันได้ข้ามการกระจายและการจำกัดตัวเอง อาจมีความปลอดภัยที่ดีขึ้นผ่านแพ็คเกจแซนด์บ็อกซ์ และการอัปเดตอัตโนมัติ ในทางกลับกัน APT อาศัยไลบรารีทั้งระบบ ซึ่งทำให้แพ็กเกจมีขนาดเล็กลง แต่อาจทำให้เกิดปัญหาการพึ่งพาได้