คำตอบ:
อัพเดท 2.11.2012
หากคุณฉลาดพอและใช้คำนำหน้าที่ไม่ได้มาตรฐานเมื่อกำหนดค่า Git เพื่อให้ติดตั้งภายใต้ลำดับชั้นที่เฉพาะเจาะจงเช่นใต้ / opt / git จากนั้นเพียงลบลำดับชั้นนั้นซ้ำ
ถ้าไม่เช่นนั้นคุณสามารถไปเช่นนี้:
1) ดึงข้อมูลแหล่งทาร์บอลของรุ่นที่คุณสร้างและติดตั้งให้คลายออก
2) กำหนดค่าเหมือนกับที่คุณทำกับการติดตั้งดั้งเดิมโดยคำนึงถึงตำแหน่งการติดตั้ง (คำนำหน้า, exec-prefix ฯลฯ ); ตามที่คุณควรจะไม่แทนที่สิ่งใด
3) สร้างไดเรกทอรีชั่วคราวเพื่อทำการติดตั้งเช่นนี้: $ mkdir / var / tmp / git
4) ติดตั้ง Git ผ่านตัวแปร DESTDIR ที่เหมาะสมเพื่อสร้าง: $ make DESTDIR = / var / tmp / git การติดตั้งลำดับชั้น Git จะจบลงที่สร้างขึ้นภายใต้ไดเรกทอรีชั่วคราวนั้น
5) ใช้ลำดับชั้นที่สร้างขึ้นเพื่อตัดสินใจว่าจะลบไฟล์ใดภายใต้ลำดับชั้นที่แท้จริง ("/" ตัวมันเอง)
ขั้นตอนสุดท้ายคือตำแหน่งที่ "เวทมนตร์" เกิดขึ้นดังนั้นจึงมีคำอธิบายเพิ่มเติม ตัวอย่างเช่นคุณสามารถเรียกใช้
$ find /var/tmp/git -type f -printf '/%P\n' | xargs -n 10 rm -f
(เป็น root) ทำการลบไฟล์ที่ติดตั้งโดยการติดตั้งครั้งแรกในระบบไฟล์รูท encantation ด้านบนใช้ลำดับชั้น / var / tmp / git เพื่อพิมพ์รายการของไฟล์ที่พบ แต่จะแทนที่คำนำหน้า "/ var / tmp / git" ด้วย "/" เพื่อให้ "/ var / tmp / git" / usr / bin / git "ในผลลัพธ์จะปรากฏเป็น" / usr / bin / git " รายการนี้จะถูกไพพ์ไปxargs
ที่rm
ชื่อไฟล์ที่อ่านในแพ็คละสิบ (เพื่อลดจำนวนการเรียกใช้rm
ตามลำดับความสำคัญ)
หลังจากจัดการกับไฟล์แล้วให้เรียกใช้
$ find /var/tmp/git -type d -printf '/%P\n'
เพื่อตรวจสอบรายชื่อของไดเรกทอรีที่ติดตั้ง สิ่งเหล่านี้ต้องการวิธีการแบบแมนนวลดังนั้นเพียงแค่ดูรายการที่สร้างขึ้นและคิดว่าคุณสามารถทำได้อย่างปลอดภัยrmdir
จากระบบของคุณ (เหล่านี้จะเป็นไดเรกทอรีเช่น "/ usr / libexec / git" หรืออะไรทำนองนี้คุณอาจไม่ต้องการลบ "/ usr / share / man / mann" หรืออะไรบางอย่างแม้ว่ามันจะว่างเปล่า)
PS ในอนาคตไม่ต้องติดตั้งอะไรลงในระบบด้วยการใช้งาน
make install
! makefiles ส่วนใหญ่ในปัจจุบันไม่สนับสนุนเป้าหมาย "ถอนการติดตั้ง" เนื่องจากใช้ในการติดตั้งลงในตำแหน่งเริ่มต้นส่วนตัวสำหรับการทดสอบหรือเพื่อสร้างแพ็คเกจ (.rpm, .deb ฯลฯ ) จากนั้นตัวจัดการแพคเกจจะดูแลการทำความสะอาด หากคุณต้องการติดตั้งบางอย่างลองค้นหาแพ็คเกจที่เป็นทางการหรือลองแบ็คแพคเกจอย่างเป็นทางการอื่นจากระบบปฏิบัติการรุ่นล่าสุดของคุณหากมี เป็นทางเลือกสุดท้ายลองใช้checkinstall
เครื่องมือที่พยายามสร้างแพ็คเกจไบนารีออกจากการmake install
ทำงานของคุณ นี้ครับ make install
แต่ก็ยังดีกว่าเปลือย
./configure
. sudo make && sudo make DESTDIR=/var/tmp/git install
. sudo find /var/tmp/git -type f -printf '/%P\n' | sudo xargs -n 10 rm -f
ฉันไปถึง 2691 บรรทัดของ Makefile แน่นอนไม่มีการถอนการติดตั้ง DRAT
ในกรณีนั้นการแก้ไขปัญหาอาจใช้make rpm
ตัวเลือก ติดตั้งรอบต่อนาที (เขียนทับไฟล์ที่ติดตั้งทั้งหมดซึ่งควรจะเหมือนกับไฟล์ที่ติดตั้งแล้ว) จากนั้นยกเลิกการติดตั้งรอบต่อนาที
ในทุกกรณีในอนาคตสร้างแพ็คเกจ (RPM, yum หรืออะไรก็ตาม) ทำให้การบำรุงรักษาง่ายขึ้นมาก
make install
ทำให้สิ่งที่อยู่ในคำนำหน้า/usr/local
ในขณะที่รอบต่อนาที / deb / ของคุณแพคเกจที่นี่ทำงานกับพารามิเตอร์ที่แตกต่างกันเพื่อให้ไฟล์ที่พวกเขาติดตั้งจบลงด้วยคำนำหน้า./configure
/usr
make rpm
คำสั่ง ฉันควรทำอย่างไรต่อไป
man rpm
มันอาจจะบอกให้คุณใช้'rpm --help
rpm -i packagename.rpm
อย่างไรก็ตามอาจเป็นการดีที่สุดที่จะขอดูแลระบบที่ร่มเว็บเพื่อช่วยคุณ มีเพียงสิ่งเดียวที่เราสามารถทำได้จากระยะไกล
make install
ใช้งานอยู่หรือไม่?