นอกจากธรรมชาติ open-source แล้ว customizability เป็นอีกเหตุผลที่หลายคนชอบ Linux: คุณสามารถ modify และ configure เกือบทุกไฟล์เพื่อตอบสนองความต้องการและสไตล์เฉพาะของคุณ รวมถึงความสามารถในการ rebuild package จาก source
ความสามารถ rebuild package จาก source มีประโยชน์ต่อ Linux power users เนื่องจากอนุญาตให้เปลี่ยน packages, enable/disable features หรือ apply custom modifications
บทความอธิบายขั้นตอนง่ายๆ สำหรับ rebuild package จาก source
1. เปิดใช้งาน Source Repositories
ขั้นแรกก่อน rebuild source package ต้อง enable source repositories สำหรับ distribution ของคุณ การ enable source repos อนุญาตให้ search และ download source packages ด้วย default apt package manager
ใน Debian systems เพิ่ม source packages โดย edit file "/etc/apt/sources.list"
ตัวอย่าง เนื้อหา "sources.list" สำหรับ Debian buster ที่เปิด source packages แล้ว:
deb https://deb.debian.org/debian buster main deb-src https://deb.debian.org/debian buster main deb https://deb.debian.org/debian-security/ buster/updates main deb-src https://deb.debian.org/debian-security/ buster/updates main deb https://deb.debian.org/debian buster-updates main deb-src https://deb.debian.org/debian buster-updates main
deb-src เปิดใช้งาน source packages บอก package manager ให้ source package แทน binary file ปกติ
หลัง enable แล้ว save file และ update ระบบ:
sudo apt-get update
2. ดึง Source Package
หลังรัน update แล้ว ดึง source package เพื่อ modify ระบบ
ตัวอย่าง ใช้ tar package สร้าง directory เก็บ source packages:
mkdir apt-rebuilds cd apt-rebuilds
ดาวน์โหลด source package:
apt-get source tar
ดูไฟล์ใน directory:
ls -la
3. ตรวจสอบและติดตั้ง Build Dependencies
ขั้นตอนถัดไป ตรวจสอบและติดตั้ง build dependencies ที่จำเป็นสำหรับ package ที่ต้องการ rebuild
ใน directory location ของ source packages ใช้คำสั่งด้านล่างตรวจสอบ unmet build dependencies:
sudo dpkg-checkbuilddeps
คำสั่งจะแสดง unmet dependencies ทั้งหมดสำหรับ package แม้จะติดตั้ง manual ได้ แต่วิธีง่ายกว่าคือใช้ apt ติดตั้ง source packages
ใช้คำสั่ง:
sudo apt-get build-dep tar
คำสั่งจะดึง dependencies และติดตั้งให้
4. Modify the Package
ขั้นตอนนี้ คุณจะทำการเปลี่ยนแปลง package enable/disable features ที่ต้องการ (เรื่องนี้กว้างเกินไป ไม่สามารถครอบคลุมทุกการเปลี่ยนแปลงสำหรับแต่ละ package ได้)
หลังทำ changes และ personal tweaks ครบแล้ว recompile source และ save ด้วย version number ต่างกัน ใช้คำสั่ง:
dch --local tar
คำสั่งจะ prompt ให้เลือก editor ที่ต้องการ และเปิด changelog ให้ edit
เพิ่มบรรทัดอธิบาย changes ที่ทำ และเปลี่ยน version
5. Build Package
ขั้นสุดท้าย build source package อยู่ใน source package directory รันคำสั่ง:
dpkg-buildpackage --force-sign
คำสั่งจะ initialize build process ด้วย changes จากขั้นตอนก่อน
ขึ้นอยู่กับ changes และ package ที่ rebuild กระบวนการอาจใช้ไม่กี่นาทีหรือนานกว่านั้น
6. Install Package
หลัง build process เสร็จ จะสร้าง binary package ใน parent directory ติดตั้งด้วยคำสั่ง dpkg:
sudo dpkg -i *.deb
สรุป
การ build packages เป็น must-have skill สำหรับ Linux administrator และ good skill สำหรับ regular Linux user ตอนนี้คุณรู้วิธี build package จาก source แล้ว เรียนรู้เพิ่มเติม: วิธี rename files ใน Linux แบบง่าย และวิธีใช้และ edit Hosts file ใน Linux