คำแนะนำในการติดตั้งจะแตกต่างกันไปในแต่ละโปรแกรมแม้ว่าจะมีเครื่องมือที่ได้รับการยอมรับเช่น autotools (รวมถึง automake และ autoconf) และ cmake
เนื่องจากโปรแกรมสามารถมีภาษาโปรแกรมที่แตกต่างกันจึงยากที่จะให้คำสั่งทั่วไปที่เหมาะกับแพ็คเกจทั้งหมด ตัวอย่างเช่น Python มักจะมีสคริปต์ setup.py ที่โปรแกรม C มักใช้เครื่องมืออัตโนมัติหรืออย่างน้อย Makefile
ฉันมักจะเริ่มต้นด้วยการค้นหาติดตั้ง, README หรือไฟล์ที่คล้ายกัน ถ้าคุณต้องการคอมไพล์โปรแกรมจากซอร์สคุณอาจต้องการbuild-essential
แพ็คเกจที่ขึ้นอยู่กับคอมไพเลอร์และแพ็คเกจการพัฒนาทั่วไปอื่น ๆ
ขึ้นอยู่กับโปรแกรมที่คุณพยายามรวบรวมคุณอาจต้องติดตั้งการพึ่งพาอื่น ๆ ตรวจสอบ README สำหรับสิ่งนั้นหรือผลลัพธ์ของ./configure
สคริปต์ (ไฟล์เรียกทำงานที่อยู่ในรูทของแหล่งข้อมูลที่คลายบีบอัด) ตัวอย่างเช่นถ้ามันบอกว่าคุณต้องการ "x11 development headers" ลองค้นหา "x11-dev" หรือ "libx11-dev" ในที่เก็บ (ในกรณีนี้มันคือlibx11-dev
สิ่งที่คุณกำลังมองหา)
การกระจายแหล่งที่มาที่สร้างขึ้นด้วย autoconf / automake สามารถแยกและกำหนดค่าด้วย:
tar xf foo-1.0.tar.gz
cd foo-1.0
./configure
make
sudo make install
ใช้./configure --help
สำหรับตัวเลือกที่มี โดยค่าเริ่มต้นไฟล์มักจะติดตั้ง/usr/local
ที่ดีอย่างสมบูรณ์ ยกเว้นว่าคุณกำลังจะจัดแพคเกจไฟล์เป็นไฟล์. deb อย่าเปลี่ยนส่วนนำหน้านี้/usr
เนื่องจากอาจขัดแย้งกับระบบการจัดการแพ็กเกจ (dpkg)
make
ควรเริ่มรวบรวมทุกสิ่งที่make install
ติดตั้งไฟล์ไปยังตำแหน่งที่กำหนด ( sudo
จำเป็นสำหรับการเขียนไปยังตำแหน่งที่มีสิทธิพิเศษเช่น/usr/local
) หากต้องการถอนการติดตั้งในภายหลังให้เรียกใช้จากไดเรกทอรีต้นทางsudo make uninstall
(โดยมีเงื่อนไขว่าแพ็คเกจสร้างอย่างถูกต้องด้วย autoconf / automake ซึ่งเป็นความรับผิดชอบของนักพัฒนาไม่ใช่คุณผู้ใช้!
หากคุณเพียงแค่ต้องการรวบรวมแพ็คเกจจากศูนย์ซอฟต์แวร์ในคอมพิวเตอร์ของคุณให้ดำเนินการต่อ (แทนที่package
และรุ่นตาม):
sudo apt-get build-dep package
apt-get source package
cd package-1.0
dpkg-buildpackage -b -uc -us
ดูหน้าคู่มือ respecxtive สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับคำสั่ง (เช่นทำงานman dpkg-buildpackage
ในอาคารผู้โดยสาร) หลังจากดำเนินการคำสั่งเหล่านี้คุณจะมีไฟล์. deb ในไดเรกทอรีหลัก แนะนำให้ใช้แพ็คเกจจากที่เก็บของ Ubuntu หากเป็นไปได้ ขั้นตอนข้างต้นแสดงขึ้นเพื่อเหตุผลทางการศึกษา แต่โดยทั่วไปคุณต้องการแก้ไขไฟล์บางไฟล์ก่อนสร้างแพ็คเกจ