การใช้ Software Updater นั้นเหมือนกับการใช้ apt-get update และ apt-get upgrade หรือไม่?


27

ดูเหมือนว่ามันจะเป็นจริง แต่ฉันต้องการให้แน่ใจ ขอบคุณ!


3
มีความแตกต่างอีกอย่างก็คือ: apt-getไม่ได้ใช้PhasedUpdatesapt-getดังนั้นบางครั้งอัพเดตซอฟแวร์แสดงให้เห็นว่าการปรับปรุงน้อยกว่า ดูที่เหตุใดตัวอัปเดตซอฟต์แวร์บอกว่าไม่มีอัปเดตที่ใช้ได้ แต่อัปเกรด apt-get แสดงอัปเดตที่มี .
pabouk

คำตอบ:


21

คำตอบสั้น ๆ

ไม่พวกเขาไม่เหมือนกัน apt-get upgradeไม่จัดการการเปลี่ยนแปลงการอ้างอิงระหว่างเวอร์ชันดังนั้นหากแพ็กเกจมีการเปลี่ยนแปลงที่อ้างอิงได้จะไม่ได้รับการอัปเกรด (จะเป็น "ระงับกลับ") ดูคำตอบที่ยาวสำหรับรายละเอียดเพิ่มเติม

การใช้ Software Updater และการใช้sudo apt-get update ; sudo apt-get dist-upgrade(หมายเหตุdist-) จะเกือบจะเทียบเท่ายกเว้นจะมี GUI และอีกตัวหนึ่งเป็นคอนโซลแอปพลิเคชันและยังมีความแตกต่างของข้อมูลเล็กน้อยอีกเล็กน้อย


แอสเวิร์นาน

จากman apt-get,

  • apt-get upgrade:

    upgrade
               upgrade is used to install the newest versions of all packages
               currently installed on the system from the sources enumerated in
               /etc/apt/sources.list. Packages currently installed with new
               versions available are retrieved and upgraded; under no
               circumstances are currently installed packages removed, or packages
               not already installed retrieved and installed. New versions of
               currently installed packages that cannot be upgraded without
               changing the install status of another package will be left at
               their current version. An update must be performed first so that
               apt-get knows that new versions of packages are available.

    (เน้นโดยฉัน)

    ซึ่งหมายความว่าแพคเกจเวอร์ชันที่ใหม่กว่าซึ่งมีการอ้างอิงใหม่ที่ไม่ต้องการในเวอร์ชันเก่าจะไม่ได้รับการอัพเกรดด้วยวิธีนี้ (เว้นแต่ว่ามีการติดตั้งใหม่แล้ว) สิ่งเหล่านี้จะปรากฏเป็น "Held back"

  • apt-get dist-upgrade:

    dist-upgrade
           dist-upgrade in addition to performing the function of upgrade,
           also intelligently handles changing dependencies with new versions
           of packages; apt-get has a "smart" conflict resolution system, and
           it will attempt to upgrade the most important packages at the
           expense of less important ones if necessary. The dist-upgrade
           command may therefore remove some packages. The
           /etc/apt/sources.list file contains a list of locations from which
           to retrieve desired package files. See also apt_preferences(5) for
           a mechanism for overriding the general settings for individual
           packages.

    (เน้นโดยฉัน)

    ซึ่งหมายความว่าด้วยคำสั่งนี้แทนupgradeแพ็กเกจที่มีการขึ้นต่อกันใหม่ (หรือลบ) สามารถอัพเกรดได้

ตัวอย่าง

ตัวอย่างที่ดีของความแตกต่างระหว่างสองคือเมื่อเคอร์เนล Linux ใหม่ถูกปล่อยออกมา แพคlinux-image-genericเกจนี้บรรจุอยู่ในแพ็คเกจซึ่งขึ้นอยู่กับแพ็คเกจล่าสุดของเคอร์เนล Linux เนื่องจากการพึ่งพาของlinux-image-genericการเปลี่ยนแปลงกับการอัพเกรดเคอร์เนลแต่ละครั้งupgradeจะไม่อัพเกรด


1
คุณช่วยอธิบายได้ไหมว่าทำไมเมื่อ Software Updater ไม่ต้องการรหัสผ่านรูทเพื่ออัปเดตแพ็คเกจที่มีอยู่อีกต่อไป (เช่นเมื่อapt-get upgradeจำเป็นเท่านั้น) apt-getไม่สามารถทำเช่นนั้นได้? ดูเหมือนว่ามีบางสิ่งที่แตกต่างกันโดยพื้นฐานระหว่างสองสิ่งนี้
Jonathan Y.

4

มันเกือบจะเหมือนกัน แต่ไม่แน่นอน ตัวอย่างเช่นเมื่อมีการเสนอเคอร์เนลการปรับปรุงsudo apt-get update && sudo apt-get dist-upgradeจำเป็นต้องได้รับการปรับปรุงเหล่านั้น

sudo apt-get update && sudo apt-get upgrade จะบอกคุณว่าแพคเกจบางอย่างถูกระงับไว้

การใช้ Software Updater ทำให้ทุกอย่างราบรื่นและคุณจะไม่เห็นสิ่งใดถูกระงับ


3

ด้วยการอัปเดตที่aptพร้อมใช้งานแบบแบ่งใช้ (ที่กล่าวถึงโดย pabouk ) เป็นความแตกต่างที่สำคัญที่สุดระหว่างการอัพเดตด้วย Software Updater และบรรทัดคำสั่ง

ทุกวันนี้aptยูทิลิตี้ - ซึ่งไม่มีอยู่เมื่อมีการโพสต์คำถามนี้ แต่น่าจะรวมอยู่ในคำถามหากมี - เป็นทางเลือกที่นิยมมากขึ้นapt-getสำหรับการอัปเกรดแพ็คเกจ สิ่งเหล่านี้คล้ายกัน: แพคเกจเดียวกัน (หรือเรียกอีกอย่างว่าapt) จะให้ทั้งสองอย่างและทุกสิ่งaptสามารถทำได้apt-สาธารณูปโภคดั้งเดิมก็สามารถทำได้เช่นกันแม้ว่าในบางกรณีคุณจะต้องผ่านตัวเลือกการกำหนดค่าพิเศษ แต่aptใกล้กว่าapt-getSoftware Updater เช่น Software Updater มีความสามารถในการติดตั้งแพ็คเกจใหม่เมื่อแพ็คเกจใหม่ที่มีอยู่ประกาศว่าเป็นการอ้างอิงsudo apt upgrade

ดังนั้นทุกวันนี้ผู้ใช้ที่เกี่ยวข้องกับความแตกต่างนี้สามารถเรียกใช้sudo apt upgradeแทนที่จะเป็นsudo apt-get upgradeถ้าพวกเขาต้องการการอ้างอิงใหม่ที่จะติดตั้งโดยอัตโนมัติ ดังนั้นคุณสมบัติของ Software Updater ในการชะลอการอัปเดตบางอย่างเล็กน้อยเพื่อตรวจสอบว่ามีความเสถียรในระดับปกติและจำกัดความเสียหายหากไม่ได้อยู่ในขณะนี้อาจเป็นความแตกต่างหลักระหว่างการใช้ Software Updater และการอัปเดตบนบรรทัดคำสั่ง

ลักษณะการทำงานของซอฟแวร์อัพเดตนี้เป็นเพราะนโยบายการปรับปรุงจะค่อยนโยบายนั้น - นำมาใช้ใน Software Updater แต่ไม่ได้อยู่ในapt-get (หรือapt) - เป็นข้อแตกต่างที่สำคัญระหว่างสองวิธีนับตั้งแต่มีการนำนโยบายมาใช้และpabouk ให้ความเห็นเกี่ยวกับเรื่องนี้เมื่อสองปีก่อน :

มีความแตกต่างอีกอย่างก็คือ: apt-getไม่ได้ใช้PhasedUpdatesapt-getดังนั้นบางครั้งอัพเดตซอฟแวร์แสดงให้เห็นว่าการปรับปรุงน้อยกว่า ดูที่เหตุใดตัวอัปเดตซอฟต์แวร์บอกว่าไม่มีอัปเดตที่ใช้ได้ แต่อัปเกรด apt-get แสดงอัปเดตที่มี .

- pabouk 25 ก.พ. 58เวลา 7:34 น

สิ่งนี้อาจมีความแตกต่างที่สำคัญที่สุดเสมอในกรณีที่สามารถทำงานได้เสมอsudo apt-get dist-upgradeเมื่อเผชิญกับความupgradeไม่เต็มใจของการกระทำเพื่อติดตั้งแพ็คเกจใหม่หรือถอนการติดตั้งแพ็กเกจที่มีอยู่เดิม อย่างไรก็ตามเมื่อทำการอัพเดตจากบรรทัดคำสั่งความสำคัญสัมพัทธ์ของการอัพเดตแบบแบ่งระยะจะเพิ่มขึ้นด้วยapt:

  • เช่นเดียวapt-getกับaptคำสั่งจะดาวน์โหลดและติดตั้งการอัพเดตแม้ว่าจะมีความล่าช้าเนื่องจากนโยบายการอัพเดทแบบเป็นระยะหากมีการใช้ Software Updater แทน
  • แต่แตกต่างจาก apt-getที่aptคำสั่งของupgradeการกระทำที่จะติดตั้งแพคเกจใหม่ที่ไม่ได้ถูกติดตั้งไว้ก่อนหน้านี้ แต่จะต้องเป็นการอ้างอิงสำหรับรุ่นแพคเกจใหม่

นอกเหนือจาก (ก) เลือกใช้ส่วนต่อประสานกราฟิกและ (b) การรวมเดสก์ท็อปโดยให้การแจ้งเตือนเมื่อมีการปรับปรุงเหตุผลหลักที่หนึ่งอาจใช้ Software Updater ว่าเป็นวิธีที่ง่ายที่สุดในการเข้าร่วมในการปรับปรุงแบบแบ่งระยะ

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