การกำหนดค่า 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=directorydirectorydirectorydirectory
โดยปกติแล้วไฟล์เอ็กซีคิวต์มักจะเข้าไป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 คุณอาจจะสนใจในระบบแฟ้มลำดับชั้นมาตรฐาน