วิธีการติดตั้งแพคเกจ. deb ท้องถิ่นด้วย apt-get


144

มีวิธีติดตั้งแพ็กเกจร้านค้าบน HD ของคุณด้วย apt-get apt-get install ./package.debหรือไม่

ถ้าไม่วิธีจัดการกับการพึ่งพาในวิธีที่ง่ายมาก?


ตอนนี้ใช้งานได้แล้ว หากคุณยังใช้ SuperUser อยู่คุณสามารถอัปเดตคำตอบที่ยอมรับได้หรือไม่ ดูด้านล่าง
mikemaccana

คำตอบ:


121

ฉันมักจะทำdpkg -i <deb file>มันจะล้มเหลวที่จะบอกว่ามันต้องพึ่งพา หลังจากนั้นเมื่อคุณทำapt-get updateมันจะพูดในสิ่งที่สิ้นสุดเช่น "การอ้างอิงที่มีความพร้อมในการติดตั้ง" apt-get install -fผมคิดว่ามันก็ให้คำแนะนำในการใช้

เมื่อเสร็จแล้วฉันจะใช้dpkg -iอีกครั้ง

ทำงานได้ดีสำหรับฉันไม่กี่ปีที่ผ่านมา

แก้ไข: มองบิตต่อไปเห็นได้ชัดว่าเครื่องมือที่เรียกว่าสามารถทำเช่นนี้gdebigdebi [deb file]


1
ขอบคุณฉันทำเช่นเดียวกันโดย "ข้อผิดพลาด" dpkg แล้ว apt-get install -f และมันทำงานได้
หลุยส์

2
gdebiทำงานสำหรับฉันและง่ายที่สุดที่ฉันได้เห็นจนถึง
ctrl-alt-delor

55

Sirex มีความถูกต้องไม่มากก็น้อย แต่คำตอบของเขาไม่ชัดเจน ฉันเพิ่งแก้ไขสิ่งนี้ดังนั้นนี่คือสิ่งที่ฉันทำ:

sudo dpkg -i /path/to/filename.deb

หากล้มเหลวด้วยข้อความเกี่ยวกับแพคเกจขึ้นอยู่กับสิ่งที่ไม่ได้ติดตั้งคุณสามารถแก้ไขได้หากคุณเรียกใช้

sudo apt-get -f install

สิ่งนี้จะติดตั้งการพึ่งพา (สมมติว่ามีอยู่ใน repos ที่ระบบของคุณรู้จัก) และแพ็คเกจที่คุณต้องการติดตั้ง ('f' คือตัวเลือก 'แก้ไข' และ 'y' คือ 'ถือว่าใช่เพื่อแจ้ง' หรือ 'ไม่ถามฉันว่ามันใช้ได้หรือไม่เพียงแค่ติดตั้งตัวเลือกนี้แล้ว - มีประโยชน์มากสำหรับการติดตั้งแบบเงียบ ๆ ที่มีสคริปต์) ในระบบที่ฉันเปิดอยู่ไม่จำเป็นต้องเรียกใช้ dpkg อีกครั้ง (Ubuntu lucid 10.04)

ฉันพบว่าน่าสนใจที่หากคุณไม่ใช้ -f เมื่อคุณรันsudo apt-get installมันจะแสดงรายการแพ็กเกจของคุณว่าไม่ได้รับการกำหนดค่าเนื่องจากการอ้างอิงที่ไม่ได้รับการแก้ไขรวมถึงการแนะนำอย่างมีประโยชน์:Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

แก้ไข:

หากคุณต้องการติดตั้งได้โดยไม่ต้องตอบ 'Y' ให้กับทุกคำถามที่คุณสามารถเพิ่มปรับปรุงเป็นผมรวมเดิม:y sudo apt-get -fy installอย่างไรก็ตามผู้วิจารณ์ชี้ให้เห็นว่าบางครั้ง apt จะแนะนำให้คุณถอนการติดตั้งสภาพแวดล้อมเดสก์ท็อปทั้งหมดของคุณ ฉันทำงานนี้ใน VM และไม่มีข้อกังวลนั้น แต่โพสต์นี้ได้รับการปรับปรุงเพื่อสะท้อนให้เห็นถึงความระมัดระวังมากขึ้น


หากฉันมีไฟล์แพ็กเกจทั้งหมดอยู่ในไดเรกทอรีอยู่แล้วมีวิธีบอกหรือไม่ว่านี่เป็นที่เก็บใหม่ดังนั้นฉันจะไม่บังคับให้ติดตั้งสิ่งใด ๆ โดยไม่ต้องพึ่งพาหรือไม่
Berry Tsakala

2
ฉันขอโทษ แต่ฉันไม่รู้ ฉันขอแนะนำให้ถามว่าเป็นคำถามระดับสูงอีกข้อหนึ่ง
Akrikos

บ้าแปลกที่ต้องมีสิ่งนี้ สำหรับ Raspian สิ่งนี้จะต้องใช้ sudo (สำหรับ dpkg และ apt-get):, sudo dpkg -i mypackages.debฯลฯ
Brent Faust

@Rubistro เข้าถึงรากที่จำเป็นในทุกระบบ ฉันเดาคำตอบที่สันนิษฐานว่าคำสั่งนั้นดำเนินการโดย root (เช่นจากเชลล์รูทแบบโต้ตอบหรือสคริปต์ที่เรียกใช้เป็นรูท)
Amos Shapira

2
สำหรับคุณเป็นเจ้าของดีไม่ได้เพิ่ม-yตัวเลือก เป็นเรื่องปกติที่จะแนะนำเช่นถอนการติดตั้งสภาพแวดล้อมเดสก์ท็อปทั้งหมดของคุณหากคุณลองใช้แพ็กเกจที่ผิดเวลาผิดปกติ (อย่างน้อยใน Debian)
oseiskar

45

นอกจากนี้คุณยังสามารถติดตั้งไฟล์. deb โดยใช้ gdebi.Run คำสั่งด้านล่างเพื่อติดตั้ง gdebi

sudo apt-get install gdebi-core

ติดตั้งแพ็คเกจ. deb ด้วย gdebi

sudo gdebi /path/to/filename.deb

นอกจากนี้ยังแก้ไขการอ้างอิง


4
โปรดทราบว่า gdebi ใช้การโต้แย้งเพียงครั้งเดียวและทิ้งส่วนที่เหลือไว้บนพื้นอย่างเงียบ ๆ ซึ่งหมายความว่าหากคุณกำลังติดตั้งหลาย debs ในเวลาเดียวกัน (อาจเป็นเพราะพวกเขาขึ้นอยู่กับแต่ละอื่น ๆ ) คุณจะต้องระมัดระวังgdebiคำสั่งฝีมือที่อนุญาตให้พวกเขาติดตั้ง IMO ครึ่งนี้ขัดแย้งกับวัตถุประสงค์ของ gdebi แต่คุณอาจจะยังคงพบว่ามีประโยชน์สำหรับไฟล์เดียว
แอนโธนี Sottile

@ อันธพาลแล้วfind -name *.deb -exec gdebi {} \;
jjmontes

3
@jjmontes ที่จะใช้งานได้หากการพึ่งพาซึ่งกันและกันเป็นไปตามลำดับตัวอักษรซึ่งฉันพนันได้ว่าค่อนข้างหายาก
Anthony Sottile

ฉันติดตามfreesoftwaremagazine.com/articles/นี้(ข้อผิดพลาด repo ท้องถิ่นต้องอยู่ที่ / var / www / html / debs) และ synaptic พยายามดาวน์โหลดจากระยะไกลแม้แต่ w / o อินเทอร์เน็ตดังนั้น gdebi จึงทำงานได้ดีกับ repo ในพื้นที่ ! นอกจากนี้ไฟล์. deb ต้องเป็นchmod +r *.deb
Aquarius Power

34

ใช่คำสั่งที่คุณเสนอนั้นถูกต้อง

sudo apt-get install ./package.deb

หรือ

sudo apt install ./package.deb

จะติดตั้งแพคเกจที่คุณได้รับจากแหล่งอื่นนอกเหนือจาก APT และใช้ความสามารถของ APT ในเวลาเดียวกันเพื่อแก้ไขการขึ้นต่อกันของมันโดยอัตโนมัติ แต่นี้apt-getคุณลักษณะไม่ได้บันทึกไว้ในหน้าคน

ดูhttps://askubuntu.com/a/769542/250300และhttps://askubuntu.com/a/795048/250300สำหรับรายละเอียด


8
นี่ควรเป็นคำตอบที่ยอมรับได้
ปีเตอร์

apt-get เวอร์ชันใดที่เพิ่มความสามารถนี้
Kurt Fitzner

@KurtFitzner มันถูกเพิ่มเข้ามาใน APT 1.1 ต่อการประกาศเปิดตัว (ดูได้จากaskubuntu.com/a/795048/250300 )
Melebius
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.