ฉันจะติดตั้งไฟล์. deb ผ่านบรรทัดคำสั่งได้อย่างไร


1095

ฉันจะติดตั้ง.debไฟล์ผ่านทางบรรทัดคำสั่งได้อย่างไร


5
ค้นหาที่ดีขึ้น: steptoinstall.com/…
KarSho


คำตอบ:


1244

แพคเกจจะถูกติดตั้งด้วยตนเองผ่านdpkgคำสั่ง (Debian Package Management System) dpkgเป็นแบ็กเอนด์ไปยังคำสั่งเช่นapt-getและaptitudeซึ่งเป็นแบ็กเอนด์สำหรับแอพติดตั้ง GUI เช่น Software Center และ Synaptic

บางสิ่งบางอย่างตาม:

dpkg-> apt-get, aptitude-> ศูนย์ซอฟต์แวร์ Synaptic

แต่แน่นอนวิธีที่ง่ายที่สุดในการติดตั้งแพคเกจจะเป็นครั้งแรกที่แอพพลิเค GUI (Synaptic ซอฟท์แวศูนย์ ฯลฯ .. ) ตามด้วยคำสั่งสถานีapt-getและaptitudeที่เพิ่มผู้ใช้วิธีการที่เป็นมิตรที่ดีมากที่จะ dpkg แบ็กเอนด์รวมถึง แต่ ไม่ จำกัด เฉพาะการพึ่งพาแบบแพ็คเกจควบคุมสิ่งที่ติดตั้งต้องการการอัพเดตไม่ได้ติดตั้งแพ็กเกจที่เสียหาย ฯลฯ สุดท้ายdpkgคำสั่งที่เป็นฐานสำหรับพวกเขาทั้งหมด

เนื่องจาก dpkg เป็นฐานคุณสามารถใช้มันเพื่อติดตั้งแพ็กเกจโดยตรงจากบรรทัดคำสั่ง

ติดตั้งแพ็คเกจ

sudo dpkg -i DEB_PACKAGE

ตัวอย่างเช่นถ้าแฟ้มแพคเกจที่เรียกว่าแล้วคุณควรจะทำอย่างไรaskubuntu_2.0.deb sudo dpkg -i askubuntu_2.0.debหากdpkgรายงานข้อผิดพลาดเนื่องจากปัญหาการพึ่งพาคุณสามารถเรียกใช้sudo apt-get install -fเพื่อดาวน์โหลดการอ้างอิงที่หายไปและกำหนดค่าทุกอย่าง หากรายงานข้อผิดพลาดคุณจะต้องเรียงลำดับการอ้างอิงด้วยตัวเองโดยทำตามตัวอย่างฉันจะแก้ไขการพึ่งพาที่ไม่ได้รับหลังจากเพิ่ม PPA ได้อย่างไร .

ลบแพ็คเกจ

sudo dpkg -r PACKAGE_NAME

ตัวอย่างเช่นถ้าแพคเกจที่เรียกว่าแล้วคุณควรจะทำอย่างไรaskubuntusudo dpkg -r askubuntu

กำหนดค่าแพคเกจที่มีอยู่อีกครั้ง

sudo dpkg-reconfigure PACKAGE_NAME

สิ่งนี้มีประโยชน์เมื่อคุณต้องการกำหนดค่าบางอย่างที่เกี่ยวข้องกับแพ็คเกจดังกล่าว ตัวอย่างที่มีประโยชน์คือkeyboard-configurationเมื่อคุณต้องการเปิดใช้งานCtrlเครื่องหมายAlt+ Backspaceเพื่อรีเซ็ตเซิร์ฟเวอร์ X ดังนั้นคุณจะทำสิ่งต่อไปนี้:

sudo dpkg-reconfigure keyboard-configuration

อีกหนึ่งยอดเยี่ยมคือเมื่อคุณต้องการตั้งค่า Timezone สำหรับเซิร์ฟเวอร์หรือคอมพิวเตอร์ทดสอบในเครื่องของคุณดังนั้นคุณจึงใช้tzdataแพ็คเกจนี้:

sudo dpkg-reconfigure tzdata

4
ข้อมูลที่ดีมีการหาวิธีที่จะติดตั้ง traceroute ที่จะช่วยให้การแก้ปัญหาว่าทำไมบางเครื่องของฉันจะไม่ได้เชื่อมต่อกับอินเทอร์เน็ต :)
เจสัน

23
นอกจากนี้ยังมีประโยชน์ที่จะทราบว่าเมื่อโปรแกรมที่ติดตั้งมักจะพบใน / usr / bin, ตั้งชื่อตามสิ่งที่ถูกทำให้ขาดสภาพ
Chris Moschini

ถ้าฉันวิ่งsudo apt-get install texlive-latex-baseมันล้มเหลวเป็นเวลาหลายเดือนด้วย "Hash Sum ไม่ตรงกัน" ฉันสามารถดาวน์โหลดไฟล์ .deb http://gb.archive.ubuntu.com/ubuntu/pool/main/t/texlive-base/texlive-latex-base-doc_2015.20150625-1ubuntu1_all.debจาก หากฉันติดตั้งโดยใช้ dpkg มันจะได้รับการยอมรับ (และอัปเดต) ในภายหลังโดย apt-get
user643722

1
เพื่อนคุณยอดเยี่ยม ฉันเห็นคำตอบของลินุกซ์บ่อยครั้งมากและมีรายละเอียดมาก .. เมื่อถามคำถามเกี่ยวกับมือใหม่เป็นสิ่งสำคัญ !! ขอบคุณ
Elad Katz

1
หากง่ายกว่าและดีกว่าในการติดตั้งผ่านaptitudeหรือapt-get(หรือเพียงapt) ทำไมจึงไม่มีตัวอย่างสำหรับคำสั่งเหล่านี้ที่นี่
intuited

161

แพ็คเกจ Debian (.deb) เป็นแพ็คเกจที่ใช้ใน Ubuntu คุณสามารถติดตั้งแพคเกจ. deb ใด ๆ ในระบบของคุณ โดยทั่วไปไฟล์. deb สามารถติดตั้งได้จากตัวจัดการไฟล์ของคุณ (Nautilus) เพียงแค่คลิกที่ไฟล์เหล่านั้น คำแนะนำเหล่านี้สำหรับผู้ที่ต้องการติดตั้งแพ็กเกจจากเทอร์มินัลบรรทัดคำสั่ง (เทอร์มินัล)

ในการติดตั้งแพ็คเกจDebian ( Ubuntu ) (.deb) ที่ดาวน์โหลด: เปิด Terminal และพิมพ์

sudo dpkg -i packagename.deb

วิธีลบแพ็คเกจ Debian (Ubuntu) (.deb):

sudo dpkg -r packagename

ในการกำหนดค่าใหม่ / ซ่อมแซมแพคเกจ Debian (Ubuntu) ที่ติดตั้ง (.deb):

sudo dpkg-reconfigure packagename

105

สิ่งที่ฉันชอบคือ GDebi มีให้จากทั้ง terminal / shell หรือ desktop desktop

หน้าจอยิง

ฉันมักจะเชื่อมโยง.debไฟล์กับ GDebi เพราะรวดเร็วและมีประสิทธิภาพ - โดยเฉพาะอย่างยิ่งเมื่อเทียบกับ Ubuntu Software Center หนึ่งในคุณสมบัติหลักของ GDebi คือการแก้ไขการอ้างอิงและติดตั้ง

สำหรับบรรทัดคำสั่งsudo gdebi <package.deb>ให้รันเพื่อติดตั้งไฟล์ deb เดียว


5
มันจะตรวจสอบการอ้างอิงก่อนการติดตั้งขอบคุณ !!
อำนาจกุมภ์

gdebi สามารถดาวน์โหลดการอ้างอิงได้หรือไม่หรือเราต้องดาวน์โหลดด้วยตนเอง @Pandya
Jasser

น่าจะดีกว่าสำหรับผู้ที่ย้ายมาจากพื้นหลังที่ไม่ใช่ลินุกซ์
Nisheet

+1 สำหรับ "แก้ไขการอ้างอิงและติดตั้ง" ซึ่งเป็นกุญแจสำคัญ
Revetahw

85

คุณกำลังมองหาคำสั่งdpkgทั้งหมดหรือไม่? คลิกที่ลิงค์นี้เพื่ออ่าน

15 คำสั่ง dpkg เพื่อจัดการเซิร์ฟเวอร์ Linux ที่ใช้ Debian

คำสั่ง DPKG

มีสองการกระทำที่พวกเขามีและdpkg-querydpkg-deb

ติดตั้งแพ็คเกจ

# sudo dpkg -i {package_name}    
# sudo dpkg -i skype-ubuntu-precise_4.2.0.11-1_i386.deb

ลบแพ็คเกจ

# sudo dpkg -r {package_name}
# sudo dpkg -r vlc

ลบแพ็กเกจและไฟล์คอนฟิกูเรชัน

# sudo dpkg -P {package_name}
# sudo dpkg -P vlc

แสดงรายการแพ็คเกจที่ติดตั้งทั้งหมด

คุณสามารถไพพ์คำสั่งไปที่less(เพจเจอร์) เพื่อให้คุณสามารถเลื่อนเนื้อหาได้ง่ายขึ้น:

# dpkg -l | less

ตรวจสอบว่ามีการติดตั้งแพ็คเกจหรือไม่

# dpkg -l {package_name}
# dpkg -l vlc

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

# dpkg -l | vlc

ดูว่ามีการติดตั้งแพ็คเกจหรือไม่

และสิ่งนี้จะแสดงตำแหน่งที่จะติดตั้งแพ็คเกจ ที่นี่-S(ตัวพิมพ์ใหญ่S) เพื่อค้นหาว่ามีการติดตั้งแพคเกจหรือไม่

# sudo dpkg -S {package_name}
# sudo dpkg -S skype

ติดตั้งแพ็คเกจ * .deb จากตำแหน่งที่ระบุ

นี่-Rคือแบบเรียกซ้ำ (จัดการไฟล์ปกติทั้งหมดซ้ำที่ตรงกับรูปแบบที่ *.debพบในไดเรกทอรีที่ระบุและไดเรกทอรีย่อยทั้งหมด)

# sudo dpkg -R --install {package_location}
# sudo dpkg -R --install /home/sysadmin/soft

แสดงรายละเอียดแพ็คเกจ

ที่นี่-p(ตัวพิมพ์เล็กp) จะแสดงข้อมูลแพ็คเกจ:

# dpkg -p {package_name}
# dpkg -p apache2

ดูเนื้อหาของแพ็คเกจ

ใช้-c(ตัวพิมพ์เล็กc) เพื่อแสดงเนื้อหา:

# sudo dpkg -c {package_name}
# sudo dpkg -c skype-ubuntu-precise_4.2.0.11-1_i386.deb

แตก*.debไฟล์แพ็กเกจ

ใช้-x(ตัวพิมพ์เล็กx) เพื่อแยก:

# dpkg -x {package_name} {location_were_to_extract}
# dpkg -x libqt4-phonon_4.6.3-4+squeeze1_i386.deb /home/sysadmin/

แยกและแสดงชื่อไฟล์ที่มีอยู่ในแพ็คเกจ

ใช้-X(ตัวพิมพ์ใหญ่X) เพื่อแสดงเนื้อหาด้วยการแตกไฟล์

# dpkg -X {package_name} {location_were_to_extract}
# dpkg -X libqt4-phonon_4.6.3-4+squeeze1_i386.deb /home/sysadmin/

แสดงข้อมูลเกี่ยวกับแพ็คเกจ

ที่นี่-Iหมายถึงข้อมูล:

# dpkg -I {package_name}
# dpkg -I libqt4-phonon_4.6.3-4+squeeze1_i386.deb

กำหนดค่าแพคเกจที่ติดตั้งแล้ว

dpkg-reconfigureกำหนดค่าแพ็กเกจใหม่หลังจากติดตั้งแล้ว ส่งชื่อของแพ็กเกจหรือแพ็กเกจเพื่อกำหนดค่าใหม่ มันจะถามคำถามการตั้งค่าเช่นเดียวกับเมื่อติดตั้งแพคเกจครั้งแรก

# dpkg-reconfigure postfix

วิธีนี้จะกำหนดค่าใหม่postfixเช่นเดียวกับเมื่อคุณติดตั้งเป็นครั้งแรก

ต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับdpkgคำสั่งหรือไม่ ดูที่หน้าคู่มือ:

# man dpkg

5
" ตรวจสอบว่ามีการติดตั้งแพคเกจหรือไม่และเปิด# dpkg -l | vlcแพ็คเกจ: " - จะทำเพียงส่งรายการแพ็กเกจไปยัง vlc ด้วยผลลัพธ์ที่คาดเดาไม่ได้หากติดตั้งอยู่; และไม่ดีไปกว่าแค่พิมพ์vlc
Xen2050

51

ในขณะที่dpkg -iติดตั้งแพคเกจแน่นอนมันไม่ได้ทำการแก้ปัญหาการพึ่งพาอัตโนมัติใด ๆ ในขณะที่มีสองทางเลือกอื่น ๆ โดยใช้ gdebi หรือเครื่องมือ apt-get หากต้องการใช้ในภายหลังให้ใช้:

sudo apt-get install /path/to/package.deb

แม้ว่าคุณจะอยู่ในไดเรกทอรีพร้อมแพ็กเกจคุณจำเป็นต้องให้เส้นทางที่ใช้./ในการเริ่มต้น:

sudo apt-get install ./package.deb

13
นี่อาจเป็นคำตอบที่ดีที่สุด aptจะป้องกันคุณจากการทำลายระบบของคุณหากคุณไม่มีการอ้างอิงที่ถูกต้อง
mlainz

ดูเหมือนว่าคำสั่งนี้จะเลือกแพ็คเกจที่มีอยู่ทั้งหมด
Hibou57

@ Hibou57 ไม่สามารถมีพื้นที่ว่างในชื่อแพคเกจ
Braiam

26

เคล็ดลับที่มีประโยชน์เมื่อติดตั้งโปรแกรมเช่น Libreoffice ซึ่งมีไฟล์. deb หลายไฟล์ในโฟลเดอร์คือการใช้

sudo dpkg -i *.deb

2
อย่าใช้คำสั่งนี้ คุณต้องลบ debs ทั้งหมดด้วยตนเองหากต้องการลบแพ็คเกจ sudo apt remove example, sudo apt autoremoveและsudo dpkg -r *.debไม่ทำงาน
ไม่มีใคร

12

gdebiแก้ปัญหาบรรทัดคำสั่ง

นี่คือวิธีที่ดีที่สุดในการติดตั้งไฟล์. deb บน Ubuntu ในบรรทัดคำสั่ง:

sudo gdebi skype.deb

หากคุณไม่ได้มีการติดตั้งไว้แล้วติดตั้งโดยใช้gdebisudo apt install gdebi-core

ทำไมต้อง gdebi

gdebiจะค้นหาการอ้างอิงทั้งหมดของ.debไฟล์และจะติดตั้งก่อนที่จะพยายามติดตั้ง.debไฟล์ ฉันพบว่าสิ่งนี้ดีกว่าsudo dpkg -i skype.deb && sudo apt install -fมาก หลังมีความกระตือรือร้นมากเกินไปที่จะลบการอ้างอิงในบางสถานการณ์ ตัวอย่างเช่นเมื่อฉันพยายามติดตั้ง Skype ก็พยายามลบแพคเกจ 96 (!) รวมถึงแพ็คเกจ like compizและunity! gdebiให้ข้อความแสดงข้อผิดพลาดที่ชัดเจนมากขึ้น:

$ sudo gdebi skype.deb
Cannot install 'libqtgui:i386'

(นี่คือวิธีแก้ปัญหาเฉพาะนั้นโดยวิธี)


askubuntu.com/a/170557/158442gdebiสามารถพูดได้ว่าสามารถใช้งานได้จากบรรทัดคำสั่ง
muru

@muru Yeah แต่มันง่ายที่จะพลาดเพราะภาพหน้าจอ นอกจากนี้ยังไม่ได้อธิบายปัญหาด้วยdpkg -i skype.deb
Flimm

11

สร้างตัวติดตั้งสคริปต์ของคุณเองdebInstallerดังต่อไปนี้:

#!/bin/bash
dpkg -i "$@"
apt-get --yes --fix-broken install

ทำให้สคริปต์ทำงานได้ด้วย

chmod +x debInstaller

จากนั้นย้ายไปยัง dirs บางส่วนใน PATH ของคุณหรือเพิ่มไดเรกทอรีปัจจุบันลงใน PATH ของคุณ

ฉันจะย้ายไปที่ / usr / bin

sudo cp debInstaller /usr/bin

ตอนนี้คุณสามารถติดตั้ง.debแพคเกจใด ๆโดยใช้คำสั่ง:

sudo debInstaller some-package.deb

มูลค่าเพิ่มของวิธีนี้คือการแก้ปัญหาการพึ่งพาเนื่องจากส่วนใหญ่คุณจะพบปัญหาบางอย่างเมื่อคุณติดตั้ง.deb ด้วยdpkg -iเนื่องจากข้อผิดพลาดในการอ้างอิงดังนั้นคุณต้องใช้apt-get install -fเพื่อแก้มันสคริปต์นี้จะทำงานให้คุณ แต่ ที่นี่ฉันเคยapt-get --yes --fix-broken installแก้ไขข้อผิดพลาดเหล่านี้โดยอัตโนมัติโดยที่ผู้ใช้ไม่ต้องดำเนินการใด ๆ


10

ในการติดตั้งไฟล์ deb เปิด Terminal และพิมพ์:

sudo dpkg -i file.deb
sudo apt-get install -f
sudo dpkg -i file.deb   

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

อีกวิธีหนึ่งคือการใช้gdebiเครื่องมือในการติดตั้งไฟล์ deb


0

มีเครื่องมือมากมายที่จะติดตั้งแพคเกจ deb ส่วนตัวผมใช้แพ็คเกจติดตั้งในตัวdpkg

หากคุณเข้าสู่ระบบในฐานะรูทให้เปลี่ยนไดเรกทอรีเป็นที่ตั้งของแพ็กเกจเดบิต

dpkg -i package_name.deb

หากคุณยังไม่ได้เข้าระบบในฐานะรูท

sudo dpkg -i package_name.deb

เพื่อให้แน่ใจว่าแพคเกจติดตั้งอย่างถูกต้องและไม่มีการพึ่งพาใด ๆ

sudo apt-get check

หากมีการอ้างอิงใด ๆ ที่ขาด

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