ผมคิดจะทำ repo sofware สำหรับ ubuntu มาระยะนึง อยู่ในงานของ linux ฉบับกระเป๋า ตั้งแต่ปีที่แล้วนู้น เอาเป็นว่ามีวิธีที่ดีๆ ละ
กำหนดที่เก็บ repo ไว้ที่ /var/www/package
$ sudo -s
$ mkdir /var/www/packages
$ cd /var/www/packages
สร้างที่เก็บไฟล์ (pool)
$ mkdir -p pool/main
$ mkdir -p dists/gutsy/main/binary-i386
$ mkdir .cache
สร้าง config ไฟล์สำหรับข้อมูล repository
$ sudo gedit apt-release.conf
ใส่ข้อมูลดังรายละเอียดข้างล่าง
APT::FTPArchive::Release::Codename "gutsy";
APT::FTPArchive::Release::Origin "Nerdica.com";
APT::FTPArchive::Release::Components "main";
APT::FTPArchive::Release::Label "Nerdica Ubuntu Repository";
APT::FTPArchive::Release::Architectures "i386";
APT::FTPArchive::Release::Suite "gutsy";
สร้างไฟล์ apt-ftparchive.conf เพื่อระบุ config ของ repo
$ sudo gedit apt-ftparchive.conf
ใส่ข้อมูลดังต่อไปนี้
Dir {
ArchiveDir ".";
CacheDir "./.cache";
};
Default {
Packages::Compress ". gzip bzip2";
Contents::Compress ". gzip bzip2";
};
TreeDefault {
BinCacheDB "packages-$(SECTION)-$(ARCH).db";
Directory "pool/$(SECTION)";
Packages "$(DIST)/$(SECTION)/binary-$(ARCH)/Packages";
Contents "$(DIST)/Contents-$(ARCH)";
};
Tree "dists/gutsy" {
Sections "main";
Architectures "i386";
}
จากนั้นหาไฟล์ .deb มาใส่ลงใน pool/main
สั่ง update repository ด้วยคำสั่ง
$ cd /var/www/packages
$ apt-ftparchive generate apt-ftparchive.conf
$ apt-ftparchive -c apt-release.conf release dists/gutsy >
dists/gutsy/Release
เรียกใช้งาน repo ของเราโดยตั้งค่า sources.list
$ sudo gedit /etc/apt/sources.list
ใส่ข้อมูล repo ดังนี้
$ deb http://my-server-address.com/packages gutsy main
สั่ง update package ดังนี้
$ sudo apt-get update
*** ตัวอย่างเป็น gutsy นะครับ ผมลองทำเล่นๆ ดูใน http://thaiopensource.org/ubuntu ครับ
สอบถามนิดนะครับ เจ้า Trivial Repositories
กับตัวนี้มันต่างกันยังไงอ่ะครับ งง
ช่วยอธิบายพอสังเขบสักนิดได้ไหมครับ แต่ถ้าแปลเป็นไทยตรงๆ มันก็คือ 'repo ไม่สำคัญ' ฮ่ะๆๆๆ