เมื่อติดตั้งซอฟต์แวร์ผ่านdpkg -i packageA.deb
การอ้างอิงที่ต้องการโดยpackageA
จะดาวน์โหลดและติดตั้งโดยอัตโนมัติหรือไม่ วิธีนี้จะแตกต่างจากการใช้apt-get
หรือaptitude
?
เมื่อติดตั้งซอฟต์แวร์ผ่านdpkg -i packageA.deb
การอ้างอิงที่ต้องการโดยpackageA
จะดาวน์โหลดและติดตั้งโดยอัตโนมัติหรือไม่ วิธีนี้จะแตกต่างจากการใช้apt-get
หรือaptitude
?
คำตอบ:
ไม่dpkg
เพียงติดตั้งแพคเกจเท่านั้นดังนั้นการทำเช่นdpkg -i packageName.deb
นี้จะติดตั้งเฉพาะแพคเกจ Deb นี้และจะแจ้งให้คุณทราบถึงการอ้างอิงใด ๆ ที่จำเป็นต้องติดตั้ง แต่จะไม่ติดตั้งแพ็กเกจและจะไม่กำหนดค่าpackageName.deb
เพราะ ... ไม่มี.
apt-get
เป็นระบบแพคเกจการบริหารจัดการที่จัดการการติดตั้งแพคเกจ Deb บนลินุกซ์ Debian-based ระบบการจัดการแพคเกจเป็นชุดเครื่องมือที่จะช่วยให้คุณติดตั้งลบและเปลี่ยนแพคเกจได้อย่างง่ายดาย ดังนั้นเป็นเหมือนฉลาดapt-get
dpkg
ฉันชอบคิดเกี่ยวกับไทม์ไลน์ด้วยวิธีนี้ (ต่อไปนี้เป็นเพียงฉันพูดจากประสบการณ์มันมีไว้เพื่อให้ความคิดแก่คุณในเรื่องทั้งหมดนี้เท่านั้น):
พวกเขามาพร้อมกับวิธี "จัดเก็บ" ไฟล์ของแอปพลิเคชันใน "แพ็คเกจ" เพื่อให้สามารถติดตั้งได้ง่าย ดังนั้นแพ็คเกจ Deb ( .deb
ไฟล์นามสกุล ) จึงเกิดขึ้น
.deb
ไฟล์มีไฟล์ที่จำเป็นโดยประยุกต์ใช้ในการทำงานเช่นเดียวกับ(ผมชอบที่จะเรียกว่า) "ข้อมูลเมตา" ที่เก็บข้อมูลอื่น ๆ เช่นชื่อของการอ้างอิงความต้องการของแอพลิเคชัน หากคุณต้องการดูเนื้อหาของ.deb
ไฟล์คุณสามารถใช้คำสั่งdpkg -c packageName.deb
และหากคุณต้องการดูข้อมูล "meta-data" นี้ให้ใช้คำสั่งdpkg -I pacakgeName.deb
(และหากคุณต้องการเห็นเพียงการอ้างอิงเท่านั้นdpkg -I packageName.deb | grep Depends
)
พวกเขาต้องการเครื่องมือในการติดตั้ง.deb
ไฟล์เหล่านี้ดังนั้นพวกเขาจึงมาพร้อมกับdpkg
เครื่องมือ อย่างไรก็ตามเครื่องมือนี้จะติดตั้ง.deb
ไฟล์ แต่จะไม่ติดตั้งการอ้างอิงเนื่องจากไม่มีไฟล์เหล่านั้นและไม่สามารถเข้าถึง "คลังเก็บ" เพื่อดึงการอ้างอิงจาก
apt-get
ซึ่งทำให้ปัญหาในจุดก่อนหน้าโดยอัตโนมัติ ใต้ฝากระโปรงนั้นapt-get
เป็นพื้นdpkg
(ฉันชอบคิดว่ามันเป็นapt-get
front-end สำหรับdpkg
) แต่เป็นคนฉลาดที่จะมองหาการอ้างอิงและติดตั้งพวกเขา มันยังดูที่การพึ่งพาที่ติดตั้งอยู่ในปัจจุบันและกำหนดสิ่งที่ไม่ได้ใช้โดยแพ็กเกจอื่น ๆ และจะแจ้งให้คุณทราบว่าคุณสามารถลบมันได้aptitude
จากนั้นก็เข้ามา มันใช้ไลบรารีที่apt-get
ใช้และมี UI แบบโต้ตอบ (ส่วนต่อประสานผู้ใช้) หากคุณต้องการเห็น UI นี้เพียงพิมพ์aptitude
เทอร์มินัล นั่นคือ aptitude
มันใช้ประโยชน์จากห้องสมุดเพื่อให้ตัวเลือกมากขึ้นและ perks apt-get
กว่า ตัวอย่างเช่นaptitude
จะลบแพ็คเกจที่มีสิทธิ์ออกโดยอัตโนมัติขณะที่apt-get
ต้องการคำสั่งแยกต่างหาก แต่ในท้ายที่สุดแล้วทำsudo aptitude install packageName.deb
ควรอย่างน้อยsudo apt-get install packageName.deb
เป็นเช่นเดียวกับ อาจมีความแตกต่างเล็กน้อยที่นี่และที่ฉันไม่รู้ แต่ทั้งคู่จะมองหาการพึ่งพาและทำทุกสิ่งนั้น คุณสามารถอ่านคำตอบได้ที่นี่สำหรับข้อมูลเพิ่มเติมเกี่ยวกับความแตกต่างระหว่างและaptitude
apt-get
ยังaptitude
ไม่มี Super Cow Powers
แก้ไข: เห็นได้ชัดว่ามันทำ
aptitude -v[v[v[v[v]]]] moo
.
aptitude
อาจไม่ได้ติดตั้งตามค่าเริ่มต้น การติดตั้งมันทำsudo apt-get install aptitude
หรือคลิกที่นี่: ความถนัด
ข้อมูลต่อไปนี้ไม่ได้ตอบว่า " ความแตกต่างระหว่าง dpkg และ aptitude / apt-getโดยตรงคืออะไร " แต่มันมีส่วนทำให้เกิดภาพรวมขนาดใหญ่
จากความคิดเห็นของCarlos Campderrós ด้านล่าง :
gdebi
เป็นเครื่องมือที่เป็นชนิดของส่วนผสมระหว่างและapt-get
aptitude
เมื่อคุณใช้มันในการติดตั้ง.deb
แพคเกจ ( gdebi packageName.deb
) ก็จะระบุอ้างอิงหายไปติดตั้งโดยใช้และแล้วในที่สุดการติดตั้งและกำหนดค่าแพคเกจการใช้apt-get
dpkg
มันยังมีGUI ที่เรียบง่ายและเรียบร้อยที่ให้ข้อมูลเกี่ยวกับ.deb
แพคเกจไฟล์ที่รวมอยู่ในแพ็คเกจและสิ่งที่จำเป็นต้องติดตั้ง หากต้องการดู GUI gdebi-gtk packageName.deb
นี้คุณจะทำอย่างไร คุณสามารถให้gdebi
ลองโดยการติดตั้งด้วยsudo apt-get install gdebi
หรือคลิกที่นี่: gdebi
ฉันไม่ต้องการให้ใครสับสน แต่เพียงเพื่อให้คุณเป็นส่วนหนึ่งของภาพมีรูปแบบแพคเกจ Linux ยอดนิยมอีกรูปแบบหนึ่งที่เรียกว่า RPM และไฟล์นั้นมี.rpm
ส่วนขยาย รูปแบบแพ็กเกจนี้ใช้กับการแจกจ่ายบน Linux ที่ใช้RPM (เช่น Red Hat, CentOS และ Fedora) พวกเขาใช้คำสั่งrpm
เพื่อติดตั้งแพ็กเกจและyum
เป็น front-end มันเป็นหนึ่งที่ฉลาด ดังนั้นพวกเขา.rpm
ไฟล์เป็นของเรา.deb
ไฟล์ของพวกเขาrpm
เป็นเครื่องมือของเราdpkg
เครื่องมือของพวกเขาและเป็นของเราyum
apt-get
จากความคิดเห็นของPaddy Landau ด้านล่าง :
alien
เป็นเครื่องมือที่แปลงระหว่าง.rpm
และ.deb
แพคเกจ ดังนั้นถ้าคุณเคยตกอยู่ในสถานการณ์ที่คุณมี.rpm
แพคเกจและคุณต้องการที่จะติดตั้งในอูบุนตู (หรืออื่น ๆ distro Debian-based), คุณสามารถใช้คำสั่งalien rpm_packageName.rpm
เพื่อแปลงเป็นแล้วติดตั้งโดยใช้.deb
dpkg
คุณสามารถทำย้อนกลับ (แปลง.deb
ไป.rpm
) alien -r packageName.deb
โดยใช้
gdebi
( apt-get install gdebi-core
) ที่ผสมapt-get
/ กับaptitude
dpkg
คุณเรียกมันด้วยgdebi some_package.deb
และมันจะวิเคราะห์การพึ่งพา, การเรียกapt-get
เพื่อติดตั้งสิ่งที่ขาดหายไปและเมื่อการอ้างอิงทั้งหมดเสร็จสมบูรณ์, จากนั้นโทรdpkg
ไปติดตั้งแพ็คเกจของคุณในที่สุด
alien
แปลงแพคเกจระหว่างและ.rpm
.deb
สิ่งนี้มีประโยชน์สำหรับแพ็คเกจที่มีสำหรับ RPM แต่ไม่ใช่สำหรับ DEB (หรือในทางกลับกัน) ตัวอย่างเช่นalien packagename.rpm
เพื่อให้สามารถใช้งานได้กับ Ubuntu
aptitude
ทั้งสองโปรแกรมเป็นส่วนหน้าสำหรับห้องสมุด apt-get
libapt-pkg
การจัดการแพ็กเกจผ่านการapt-get
รันแบบ hand-in-hand พร้อมกับ/etc/apt/sources.list
ไฟล์
apt-get install <package_name>
ติดตั้งแพ็คเกจใหม่บนคอมพิวเตอร์ของคุณ
apt-get build-dep <package_name>
คำสั่งนี้ค้นหาที่เก็บและติดตั้ง build dependencies หากแพ็กเกจไม่ได้อยู่ในที่เก็บมันจะส่งคืนข้อผิดพลาด
apt-get install <package1_name> <package2_name> <package3_name>
apt-get อนุญาตให้ติดตั้งหลายแพ็คเกจ แยกแพ็คเกจด้วยช่องว่าง
auto-apt run <command_string>
เมื่อเรียกใช้งานคำสั่ง auto-apt จะติดตั้งแพ็กเกจโดยอัตโนมัติเมื่อไม่มีการเข้าถึงไฟล์ apt-get
หากโปรแกรมพยายามที่จะเข้าถึงไฟล์ที่รู้จักกันอยู่ในแพคเกจยกเลิกการติดตั้งอัตโนมัติฉลาดจะติดตั้งแพคเกจที่ใช้ คุณสมบัตินี้ต้องการ apt และ sudo เพื่อใช้งาน
aptitude
ให้ฟังก์ชันการทำงานของdselect
และapt-get
เช่นเดียวกับคุณสมบัติเพิ่มเติมมากมายที่ไม่พบในโปรแกรมใดโปรแกรมหนึ่ง
aptitude
มีเชลล์ของตัวเองซึ่งเปิดใช้งานแป้นพิมพ์หรือเมาส์และทำงานในหน้าต่างเทอร์มินัล
aptitude build-dep <package>
- ติดตั้ง build-dependencies ของแพ็คเกจ - ซึ่งหมายถึงแพ็คเกจที่จำเป็นในการรวบรวม (หรือบิลด์ ) แพ็คเกจต้นทาง ตัวอย่างเช่นแพคเกจจำนวนมากจำเป็นต้องมีdebhelper
หรือautotools
จะสร้าง แต่ไม่จำเป็นต้องเรียกใช้
เป็นเครื่องมือในการติดตั้งสร้างลบและจัดการแพ็คเกจ Debian ลิงค์
dpkg -i <package.deb>
ติดตั้งแพ็คเกจ Debian บนคอมพิวเตอร์ของคุณ มันไม่ได้ติดตั้งการพึ่งพาใด ๆ เท่าที่ฉันสามารถหาได้จากไฟล์ช่วยเหลือ
สำหรับรายละเอียดพิมพ์dpkg --help
ลงในหน้าต่างเทอร์มินัล
คำแนะนำเกี่ยวกับการจัดการไฟล์สามารถดูได้ที่นี่
ฉันคิดว่าสิ่งที่สำคัญที่สุดและข้อแตกต่างคือการทราบว่าคุณควรใช้apt-get
เครื่องมือในการติดตั้งแพ็คเกจ ( apt
หรือaptitude
ไม่ก็ดีเช่นกัน)
นี่เป็นเพราะdpkg
มีวัตถุประสงค์เพื่อติดตั้งแพคเกจโดยไม่ต้องติดตั้งแพคเกจขึ้นอยู่กับ เนื่องจากการที่เพิ่งติดตั้งแพคเกจด้วยdpkg
อาจทำให้เกิดปัญหาในภายหลังซึ่งการแก้ปัญหาการพึ่งพาอาจจบลงด้วยระบบที่ใช้งานไม่ได้
คุณควรใช้บรรทัดคำสั่งapt-get
หรือเครื่องมือapt
(ตั้งแต่ 14.04) เพื่อติดตั้งแพ็คเกจ เครื่องมือเหล่านี้ใช้dpkg
สำหรับคุณและในเวลาเดียวกันก็มีกลไกการแก้ปัญหาการพึ่งพา