ฉันจะติดตั้ง.deb
ไฟล์ผ่านทางบรรทัดคำสั่งได้อย่างไร
dpkg -i
ติดตั้งอ้างอิงสำหรับฉันได้อย่างไร
ฉันจะติดตั้ง.deb
ไฟล์ผ่านทางบรรทัดคำสั่งได้อย่างไร
dpkg -i
ติดตั้งอ้างอิงสำหรับฉันได้อย่างไร
คำตอบ:
แพคเกจจะถูกติดตั้งด้วยตนเองผ่าน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
ตัวอย่างเช่นถ้าแพคเกจที่เรียกว่าแล้วคุณควรจะทำอย่างไรaskubuntu
sudo 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
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
aptitude
หรือapt-get
(หรือเพียงapt
) ทำไมจึงไม่มีตัวอย่างสำหรับคำสั่งเหล่านี้ที่นี่
แพ็คเกจ 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
สิ่งที่ฉันชอบคือ GDebi มีให้จากทั้ง terminal / shell หรือ desktop desktop
ฉันมักจะเชื่อมโยง.deb
ไฟล์กับ GDebi เพราะรวดเร็วและมีประสิทธิภาพ - โดยเฉพาะอย่างยิ่งเมื่อเทียบกับ Ubuntu Software Center หนึ่งในคุณสมบัติหลักของ GDebi คือการแก้ไขการอ้างอิงและติดตั้ง
สำหรับบรรทัดคำสั่งsudo gdebi <package.deb>
ให้รันเพื่อติดตั้งไฟล์ deb เดียว
คุณกำลังมองหาคำสั่งdpkgทั้งหมดหรือไม่? คลิกที่ลิงค์นี้เพื่ออ่าน
15 คำสั่ง dpkg เพื่อจัดการเซิร์ฟเวอร์ Linux ที่ใช้ Debian
มีสองการกระทำที่พวกเขามีและdpkg-query
dpkg-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
นี่-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
# dpkg -l | vlc
แพ็คเกจ: " - จะทำเพียงส่งรายการแพ็กเกจไปยัง vlc ด้วยผลลัพธ์ที่คาดเดาไม่ได้หากติดตั้งอยู่; และไม่ดีไปกว่าแค่พิมพ์vlc
ในขณะที่dpkg -i
ติดตั้งแพคเกจแน่นอนมันไม่ได้ทำการแก้ปัญหาการพึ่งพาอัตโนมัติใด ๆ ในขณะที่มีสองทางเลือกอื่น ๆ โดยใช้ gdebi หรือเครื่องมือ apt-get หากต้องการใช้ในภายหลังให้ใช้:
sudo apt-get install /path/to/package.deb
แม้ว่าคุณจะอยู่ในไดเรกทอรีพร้อมแพ็กเกจคุณจำเป็นต้องให้เส้นทางที่ใช้./
ในการเริ่มต้น:
sudo apt-get install ./package.deb
apt
จะป้องกันคุณจากการทำลายระบบของคุณหากคุณไม่มีการอ้างอิงที่ถูกต้อง
เคล็ดลับที่มีประโยชน์เมื่อติดตั้งโปรแกรมเช่น Libreoffice ซึ่งมีไฟล์. deb หลายไฟล์ในโฟลเดอร์คือการใช้
sudo dpkg -i *.deb
sudo apt remove example
, sudo apt autoremove
และsudo dpkg -r *.deb
ไม่ทำงาน
gdebi
แก้ปัญหาบรรทัดคำสั่งนี่คือวิธีที่ดีที่สุดในการติดตั้งไฟล์. deb บน Ubuntu ในบรรทัดคำสั่ง:
sudo gdebi skype.deb
หากคุณไม่ได้มีการติดตั้งไว้แล้วติดตั้งโดยใช้gdebi
sudo apt install gdebi-core
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'
(นี่คือวิธีแก้ปัญหาเฉพาะนั้นโดยวิธี)
gdebi
สามารถพูดได้ว่าสามารถใช้งานได้จากบรรทัดคำสั่ง
dpkg -i skype.deb
สร้างตัวติดตั้งสคริปต์ของคุณเอง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
แก้ไขข้อผิดพลาดเหล่านี้โดยอัตโนมัติโดยที่ผู้ใช้ไม่ต้องดำเนินการใด ๆ
ในการติดตั้งไฟล์ deb เปิด Terminal และพิมพ์:
sudo dpkg -i file.deb
sudo apt-get install -f
sudo dpkg -i file.deb
บรรทัดที่สองคือการแก้ไขแพ็กเกจที่ใช้งานไม่ได้หากการติดตั้งล้มเหลวจากนั้นติดตั้งอีกครั้งเพื่อให้การติดตั้งเสร็จสมบูรณ์
อีกวิธีหนึ่งคือการใช้gdebi
เครื่องมือในการติดตั้งไฟล์ deb
มีเครื่องมือมากมายที่จะติดตั้งแพคเกจ deb ส่วนตัวผมใช้แพ็คเกจติดตั้งในตัวdpkg
หากคุณเข้าสู่ระบบในฐานะรูทให้เปลี่ยนไดเรกทอรีเป็นที่ตั้งของแพ็กเกจเดบิต
dpkg -i package_name.deb
หากคุณยังไม่ได้เข้าระบบในฐานะรูท
sudo dpkg -i package_name.deb
เพื่อให้แน่ใจว่าแพคเกจติดตั้งอย่างถูกต้องและไม่มีการพึ่งพาใด ๆ
sudo apt-get check
หากมีการอ้างอิงใด ๆ ที่ขาด
sudo apt-get -f install