การกำหนดค่า Build ของคุณ
เมื่อคุณมีซอร์สโค้ดที่คอมไพล์ด้วยการรัน./configure
และmake
โดยปกติคุณจะใช้make install
(หรือsudo make install
) เพื่อติดตั้ง สิ่งนี้คัดลอกไฟล์จากไดเรกทอรีการสร้างลงในตำแหน่งการติดตั้ง เมื่อสิ่งที่คุณกำลังติดตั้งให้คำสั่งปฏิบัติการ executables เหล่านั้นมักจะถูกคัดลอกลงในไดเรกทอรีที่อยู่ในหรือที่คุณควรพิจารณาการเพิ่ม$PATH
$PATH
แม้ว่าการสร้างและติดตั้งซอฟแวร์มักจะเป็นง่ายๆเป็นที่ทำงาน./configure
, make
บางครั้งmake check
หรือmake test
แล้วmake install
หรือsudo make install
บางครั้งคุณจะต้องการที่จะผ่านตัวเลือกให้กับconfigure
สคริปต์การกำหนดค่าการสร้าง โดยเฉพาะอย่างยิ่งตามที่ pfnuesel กล่าวว่านี่เป็นวิธีที่คุณกำหนดค่า
ว่าจะติดตั้งซอฟต์แวร์อย่างไร แม้ว่าmake install
ขั้นตอนการติดตั้งซอฟต์แวร์จริง ๆ แล้วสถานที่ที่ทุกอย่างจะถูกติดตั้งมักจะสร้างใน
./configure
ขั้นตอน
--prefix
ตัวเลือกที่พบมากที่สุดสำหรับเรื่องนี้คือ คำนำหน้าเริ่มต้นเมื่อคุณไม่ได้บอกว่าจะใช้เป็นปกติconfigure
/usr/local
(บางครั้งซอร์สโค้ดของโปรแกรมหรือไลบรารีจะใช้ค่าเริ่มต้นเป็นส่วนนำหน้าอื่น ๆ โชคดีที่นี่เป็นของหายาก)
ดังนั้นมักจะเทียบเท่ากับ./configure
./configure --prefix=/usr/local
ในการติดตั้งซอฟต์แวร์ในโฮมไดเร็กตอรี่ของคุณคุณสามารถใช้./configure --prefix=/home/galahad
(ถ้า/home/galahad
เป็นโฮมไดเร็กตอรี่ของคุณ) หรือ--prefix="$HOME"
. make
แล้วแน่นอนคุณยังจะต้องสร้างและติดตั้งซอฟต์แวร์ที่มี ฉันควรจะบอกว่าไม่ใช่ทุกซอฟต์แวร์ที่เผยแพร่ในรูปแบบซอร์สโค้ดถูกสร้างขึ้นด้วยวิธีนี้ คุณควรมองหาเอกสารที่อยู่ในแหล่งเก็บรหัสที่แยกออกมาเสมอ
--prefix
หมายถึงอะไร
เมื่อคุณเรียกใช้คุณกำลังแสดงให้เห็นว่าควรติดตั้งซอฟต์แวร์ภายใต้
ไดเรกทอรี แต่สิ่งนี้ไม่ค่อยบ่อยนักหากวางไฟล์ไว้หลวมๆ แต่มันวางแฟ้มที่ใช้เพื่อวัตถุประสงค์ที่แตกต่างกันในไดเรกทอรีย่อยที่แตกต่างกันของ หากไดเรกทอรีย่อยเหล่านั้นไม่มีอยู่มันจะสร้างขึ้นมา./configure --prefix=directory
directory
directory
directory
โดยปกติแล้วไฟล์เอ็กซีคิวต์มักจะเข้าไปdirectory/bin
แม้ว่าพวกเขาจะเข้าไปdirectory/sbin
หากพวกมันถูกใช้เพื่อการดูแลระบบหรือพวกเขาอาจจะเข้าไป
directory/games
เล่นเกม ไลบรารี่เข้าสู่
directory/lib
หรือไดเรกทอรีอื่นที่มีชื่อคล้ายกันเช่น
ไฟล์ส่วนหัวไปdirectory/lib32
directory/include
หน้าคู่มือเข้า
directory/man
สู่ directory/share
ไฟล์ข้อมูลที่ใช้โดยการเดินทางในซอฟแวร์
นั่นคือสิ่งที่มันหมายถึงdirectory
จะต้องมีคำนำหน้า เป็นไดเรกทอรีหลักที่มีสถานที่ติดตั้งไฟล์ที่แตกต่างกัน มันจึงปรากฏเป็นคำนำหน้าในเส้นทางที่แน่นอนของไฟล์และไดเรกทอรีส่วนใหญ่ที่สร้างขึ้นโดยการทำงานหรือmake install
sudo make install
มีข้อยกเว้นบางประการสำหรับเรื่องนี้ แฟ้มการกำหนดค่า Systemwide - ซึ่งบางครั้งจะสร้างขึ้นเมื่อติดตั้งซอฟต์แวร์ที่จะใช้พวกเขาแม้จะไม่ใช่ - /etc
มักจะไปใน โดยทั่วไปจะไม่ได้รับผลกระทบจากการระบุคำนำหน้าอื่น แม้ว่าคุณจะติดตั้งซอฟต์แวร์จำนวนมาก/usr/local
แต่ก็ยังคงใช้เป็นส่วนใหญ่
/etc
และ/usr/local/etc
ไดเรกทอรีของคุณอาจไม่มีอยู่ว่างเปล่าหรือมีไฟล์น้อยมาก
man hier
ในระบบจำนวนมากคุณสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบระบบแฟ้มโดยทั่วไปการทำงาน หากคุณกำลังใช้ระบบ GNU / Linux คุณอาจจะสนใจในระบบแฟ้มลำดับชั้นมาตรฐาน