วิธีที่เหมาะสมในการสร้างจากแหล่งที่มา


12

ฉันเข้าสู่ระบบในฐานะผู้ใช้ทั่วไป ฉันควรใช้:

./configure && make && make install

หรือ

sudo ./configure && sudo make && sudo make install

หรือ

./configure && make && sudo make install

เมื่อติดตั้งแพคเกจ

และใครบางคนสามารถอธิบายความแตกต่าง

ฉันต้องการให้ผู้ใช้ทุกคนสามารถใช้งานได้


ยิ่งไปกว่านั้น ... unix.stackexchange.com
mxmissile

1
คุณควรติดตั้งซอฟต์แวร์จากที่เก็บ Ubuntu หรือ PPA หากคุณพบเจอกับสิ่งที่ยังไม่ได้ทำแพคเกจอย่าลังเลที่จะพิจารณาเริ่ม PPA ของคุณเอง วิธีนี้คุณจะรักษาระบบของคุณให้สะอาดจัดเตรียมแพ็คเกจสำหรับคนอื่นด้วยและในที่สุดโบนัสฟรีจะได้รับการทดสอบมากขึ้น
vtest

คำตอบ:


15

รุ่นที่ 3 ./configure && make && sudo make installของคุณถูกต้อง การสร้างและกำหนดค่าสามารถทำได้ในฐานะผู้ใช้ปกติเนื่องจากคุณไม่ได้พยายามเขียนไฟล์ในไดเรกทอรีระบบmake installมักจะพยายามคัดลอกไบนารีไปยัง / usr / bin หรือ / bin ซึ่งต้องการการเข้าถึงรูทเพื่อเขียน


... และสิ่งที่ไม่ควรเขียนลงเพราะเนื้อหาได้รับการจัดการโดยการจัดการบรรจุภัณฑ์
reinierpost

2
คุณยังอาจสร้างผู้ใช้localจากนั้นออกchown -R local /usr/localและติดตั้งซอฟต์แวร์โดยใช้sudo local make installดังนั้นคุณจะได้รับการเตือนเมื่อแพ็คเกจเขียนที่อื่นนอกเหนือจากด้านล่าง/usr/local(ซึ่งอาจทำให้การจัดการแพคเกจของคุณยุ่งเหยิง)
reinierpost

หากแพคเกจนั้นถูกสร้างขึ้นตามมาตรฐานการเข้ารหัส gnu การติดตั้ง '&& make && sudo make' แบบดิบ ๆ จะติดตั้งเฉพาะใน / usr / local และไม่ใช่ใน / usr / bin หรือ / bin
William Pursell

4

คุณต้องการเวอร์ชันล่าสุด:

./configure && make && sudo make install

กำหนดค่าและสร้างสามารถเกิดขึ้นได้ในโฟลเดอร์ท้องถิ่นของคุณ แต่คุณจะต้องมีสิทธิ์การใช้งานรูทเพื่อติดตั้ง คำสั่งนั้นทำให้สำเร็จ

ตรวจสอบให้แน่ใจว่าแอปพลิเคชันที่คุณติดตั้งไม่ได้อยู่ในผู้จัดการแพ็คเกจ โดยทั่วไปแล้วการใช้ซอฟต์แวร์ที่รวบรวมไว้ล่วงหน้าสำหรับระบบของคุณง่ายกว่าการพยายามค้นหาการพึ่งพาทั้งหมดเพื่อรวบรวมบางสิ่ง




2

&& จะถูกแยกวิเคราะห์โดยเชลล์เดิมของคุณ การใส่หนึ่ง sudo ที่ด้านหน้าจะมีผลกับการกำหนดค่าเท่านั้น ตัวเลือกสุดท้ายเหมาะสมที่สุดเพราะจะกำหนดค่าและคอมไพล์เป็นผู้ใช้ปกติแล้วติดตั้งผลลัพธ์เพื่อให้ทุกคนใช้

ข้อแม้หนึ่งคือว่าสคริปต์กำหนดค่าบางอย่างจะตรวจพบว่าพวกเขากำลังทำงานในฐานะผู้ใช้ที่ไม่ใช่รูทและสร้างไฟล์ที่ติดตั้งลงใน $ HOME หรือคล้ายกัน ในกรณีนี้คุณต้องการ 'sudo ./configure' เช่นกัน หากคุณเรียกใช้การกำหนดค่าหรือสร้างเป็นรูทคุณจะต้องสร้างความรำคาญให้กับไฟล์ที่เป็นเจ้าของรูทในไดเรกทอรีผู้ใช้ปกติของคุณ


2

แทนที่จะติดตั้ง sudo คุณควรใช้ sudo checkinstall

วิธีนี้โปรแกรมที่ติดตั้งได้รับการยอมรับจากการจัดการบรรจุภัณฑ์และคุณสามารถลบมันออกได้อีกหากคุณไม่ต้องการใช้อีกต่อไป

https://help.ubuntu.com/community/CheckInstall

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.