จะติดตั้งแพคเกจ tarball บนการกระจายแบบ Debian ได้อย่างไร


19

ฉันต้องการทราบวิธีการติดตั้งแพ็คเกจ. tar.bz และ. tar.bz2 ใน Debian โปรดให้คำอธิบายที่สมบูรณ์


2
นั่นคือจดหมายเหตุ คุณต้องเปิดออกและดูคำแนะนำภายใน มักจะเป็น./configure, make, make installแต่ฉันแน่ใจว่าคนที่จะให้คำตอบที่ดีให้กับคุณด้วยการเชื่อมโยงที่คุณสามารถเรียนรู้สิ่งพื้นฐานอย่างนี้ก่อนที่จะพยายามที่จะสร้างอะไร
zetah

3
ขึ้นอยู่กับสิ่งที่คุณต้องการติดตั้งคุณต้องติดตั้งแพ็คเกจ build-essential และแพ็คเกจ -dev ของไลบรารีที่ใช้งานโดยซอฟต์แวร์ ระวังให้คุณติดตั้งคำนำหน้า / usr / local / (ซึ่งเป็นค่าเริ่มต้น) มิฉะนั้นคุณอาจทำให้ระบบของคุณเสียหาย สำหรับผู้เริ่มต้นฉันแนะนำให้คุณ จำกัด ตัวเองกับแพ็คเกจที่มีจาก Debian ขั้นตอนต่อไปจะเป็นเพื่อค้นหาซอฟต์แวร์สำเร็จรูปแล้ว (.deb แพคเกจ) dpkg -i ./path/to/package.debและติดตั้งพวกเขาแล้วด้วยมือ การใช้แพ็คเกจ. tar. {gz, bz2} เป็นตัวเลือกสุดท้ายและยากที่สุด
jofel

@jofel ฉันเห็นด้วยกับคุณ แต่บางโปรแกรมไม่สามารถใช้ได้ในแพ็คเกจ. deb และคุณสามารถติดตั้งได้จากซอร์สโค้ด (เช่น Firefox) เท่านั้น
Zignd

1
Firefox มีวางจำหน่ายแล้วแน่นอนที่สุดในพื้นที่เก็บข้อมูลและไม่จำเป็นต้องสร้างจากแหล่งที่มา
Daemon of Chaos

1
หากคุณต้องการติดตั้งจากแหล่งด้วยมือสิ่งที่ยากที่สุดคือการติดตั้งการพึ่งพาที่ถูกต้อง หาก README หรือ INSTALL ไม่แสดงรายการคุณสามารถเรียกใช้สคริปต์. / config ด้วยตนเอง (สำหรับระบบสร้างพื้นฐาน autoconf) หากล้มเหลวด้วย "กำลังตรวจหา xyz: ไม่", "ไม่พบ xyz" หรือคล้ายกันให้ติดตั้งแพ็คเกจ libxyz-dev (บนระบบที่ใช้เดเบียน) แล้วลองอีกครั้ง หากไม่มีแพ็คเกจคุณจำเป็นต้องค้นหาแพ็คเกจที่ถูกต้องหรือติดตั้งไลบรารีที่จำเป็นด้วยตนเองก่อน บางครั้งคุณต้องเลือกรุ่นห้องสมุดเฉพาะ
jofel

คำตอบ:


30

ประการแรกตามมาตรฐานลำดับขั้นของระบบไฟล์ตำแหน่งของแพ็กเกจที่ติดตั้งนี้ควรเป็น/optถ้าเป็นการติดตั้งแบบไบนารีและ/usr/localถ้าเป็นการติดตั้งแบบซอร์ส

ไบนารีบริสุทธิ์

สิ่งเหล่านี้พร้อมที่จะใช้ไบนารี โดยปกติพวกเขาเพียงแค่ต้องแตกเพื่อติดตั้ง แพ็คเกจไบนารีนั้นง่ายมาก:

  • sudo tar --directory=/opt -xvf <file>.tar.[bz2|gz]
  • เพิ่มไดเรกทอรีไปยังเส้นทางของคุณ: export PATH=$PATH:/opt/[package_name]/bin

และคุณทำเสร็จแล้ว

จากแหล่งต่างๆ

ซอร์สแพ็กเกจจะมีปัญหามากขึ้น (โดยไกล) และโดยที่พวกเขาสามารถประมวลผลได้อย่างคร่าวๆด้วยวิธีการด้านล่างแต่ละแพ็กเกจจะแตกต่างกัน :

  • ดาวน์โหลดแพ็คเกจไปที่ /usr/local/src
  • tar xf <file>.tar.[bz2|gz]
  • cd <package name>
  • อ่านREADMEไฟล์ (มีอยู่เกือบจะแน่นอน)
  • โครงการส่วนใหญ่ที่มาเปิดใช้ autoconf / automake READMEคำแนะนำควรจะอยู่ใน อาจเป็นไปได้ว่าขั้นตอนนี้จะ: ./configure && make && make install(เรียกใช้คำสั่งแยกต่างหากเพื่อความมีสติถ้ามีบางอย่างผิดปกติ)

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


2
ฉันทำให้คำสั่ง tar ง่ายขึ้น! คุณไม่จำเป็นต้อง cd / opt แทน cd ไปที่ตำแหน่ง tarball และใช้ tar -Cหรือ--directoryตัวเลือก
Jess

1
อ่าและอย่าลืมsudo: D
Jess

10

แตกไฟล์จากนั้นในไดเร็กทอรีที่สร้างขึ้นให้ค้นหาREADMEหรือINSTALLไฟล์ที่จะบอกสิ่งที่คุณต้องรู้เพื่อติดตั้งแพ็กเกจ (เช่นการพึ่งพาตัวเลือกการกำหนดค่าคำสั่งในการรัน ฯลฯ ... )

โดยปกติแล้วมันเดือดลงไป./configure, แล้วmakemake install


3
โปรดทราบว่าการสร้างส่วนใหญ่จะล้มเหลวในการกำหนดค่า ทำไม? เนื่องจากแหล่งที่คุณดาวน์โหลดอาจมีการพึ่งพาเวลาในการสร้างคุณไม่ได้ติดตั้ง บน Debian / Ubuntu ถ้ามีแพกเกจให้ใช้งานด้วย apt คุณสามารถติดตั้งได้ด้วย: sudo apt-get build-dep ชื่อแพ็คเกจ
anonfunc

7

วิธีมาตรฐานในการทำเช่นนี้คือ:

  1. tar zxvf file.tar.gz หรือ tar xvjpf file.tar.bz2
  2. เรียกใช้./configure ( ./configure --helpมักจะให้ตัวเลือกการปรับแต่ง)
  3. วิ่ง make
  4. วิ่ง make install

มักจะมีไฟล์ README หรือติดตั้งที่ให้คำแนะนำเช่นกัน


5

โดยทั่วไปเมื่อคุณติดตั้ง tar.gz / tgz / tar / bz2 (จำเหล่านี้จะถูกบีบอัดไฟล์เพียงแพคเกจ) คุณจะต้องทำลายเปิดไฟล์น้ำมันดิน ( tar xvfz/ tar xvfj) และจากนั้นไปยังไดเรกทอรีและเรียกใช้cd./configure

ในบางระบบคุณใช้ค่าเริ่มต้น (ตัวอย่างเช่น / usr / local / {lib, bin, ฯลฯ ... }}) เป็นตำแหน่งติดตั้งเริ่มต้นหรือคุณอาจต้องการใช้ / opt / local / {lib, bin, ฯลฯ }

ดังนั้นคุณจะทำอย่างไร./configure --prefix=/usr/localแล้ว,makemake install

มันขึ้นอยู่กับคุณในตำแหน่งที่คุณต้องการติดตั้งแพ็คเกจ จำไว้ว่าไม่ว่าคุณจะตัดสินใจทำที่ไหนคุณอาจต้องการเพิ่มพา ธ ไปยังตัวแปรเชลล์ของ PATH เพื่อให้คุณสามารถเรียกใช้แพ็กเกจเหล่านั้นได้อย่างง่ายดาย (บ่อยครั้งexport PATH=$PATH:/opt/local/bin:/usr/local/bin)


2

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

ก่อนที่จะgcc 4.7.2สร้างg++, m4, gawk, gcc-multilib, gmp, mpfrและmpcจะต้องสร้างขึ้น

จากนั้นสิ่งปลูกสร้างจากส่วนแหล่งที่มาซึ่งขั้นตอนแรกคือการแยกเสมอ ซึ่งสามารถทำได้โดยใช้tarคำสั่งหรือโดยวิธี GUI อย่างง่าย เมื่อคุณมีไฟล์ที่แตกแล้วในโฟลเดอร์คุณต้องเรียกดูโฟลเดอร์นั้นโดยใช้cdคำสั่งตัวอย่างเช่นหากเนื้อหาอยู่ในดาวน์โหลดแล้ว:

$cd Downloads/abc

./configureตอนนี้คุณจำเป็นต้องเรียกใช้ ระบุไดเรกทอรีการติดตั้งโดยใช้ตัวเลือกด้วย--prefix=configure

ประการแรกตามมาตรฐานลำดับขั้นของระบบไฟล์ตำแหน่งของแพ็กเกจที่ติดตั้งนี้ควรเป็น / opt หากเป็นการติดตั้งแบบไบนารีและ / usr / local หากเป็นจากการติดตั้งต้นทาง

ดังนั้นหากคุณกำลังติดตั้งใน/usr/abcไดเรกทอรีคุณจะจัดหาตัวเลือก--prefix=/usr/abcพร้อม./configureคำแนะนำ

$./configure --prefix=/usr/abc

--prefix=ไม่ใช่สิ่งเดียวที่คุณอาจต้องการระบุ แต่คุณอาจต้องการให้ข้อมูลอื่น ๆ สำหรับการรวบรวมที่ประสบความสำเร็จเช่นประเภทของระบบของคุณด้วย--build=x86_64-linux-gnu64 บิตและ--build=i386-linux-gnu32 บิต เป็นการดีที่จะอ่าน README ในไฟล์ที่แตกแล้วเนื่องจากอาจมีข้อมูลเกี่ยวกับตัวเลือกที่จะระบุด้วย./configureคำสั่ง

หลังจากที่./configureวิ่งคำสั่งและต่อมาmake make installหลังการติดตั้งคุณควรระบุ path library, shell / environment variables โดยใช้exportคำสั่ง

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