เมื่อติดตั้งซอฟต์แวร์ผ่าน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-getdpkg
ฉันชอบคิดเกี่ยวกับไทม์ไลน์ด้วยวิธีนี้ (ต่อไปนี้เป็นเพียงฉันพูดจากประสบการณ์มันมีไว้เพื่อให้ความคิดแก่คุณในเรื่องทั้งหมดนี้เท่านั้น):
พวกเขามาพร้อมกับวิธี "จัดเก็บ" ไฟล์ของแอปพลิเคชันใน "แพ็คเกจ" เพื่อให้สามารถติดตั้งได้ง่าย ดังนั้นแพ็คเกจ 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-getfront-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เป็นเช่นเดียวกับ อาจมีความแตกต่างเล็กน้อยที่นี่และที่ฉันไม่รู้ แต่ทั้งคู่จะมองหาการพึ่งพาและทำทุกสิ่งนั้น คุณสามารถอ่านคำตอบได้ที่นี่สำหรับข้อมูลเพิ่มเติมเกี่ยวกับความแตกต่างระหว่างและaptitudeapt-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เครื่องมือของพวกเขาและเป็นของเราyumapt-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-getlibapt-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สำหรับคุณและในเวลาเดียวกันก็มีกลไกการแก้ปัญหาการพึ่งพา