จะบังคับให้ติดตั้งอัพเดตเคอร์เนลได้อย่างไรเมื่อใช้ apt-get upgrade?


35

apt-get upgradeการอัปเดตการใช้งานผมเซิร์ฟเวอร์ของฉัน

แต่เมื่อมีการอัพเดตเคอร์เนลฉันต้องทำเสมอapt-get install linux-....เพราะapt-get updateไม่ได้ติดตั้ง

มีวิธีที่ฉันสามารถบอกให้ติดตั้งสิ่งเหล่านี้ด้วยหรือไม่ ฉันพยายาม -f แต่ใช้งานไม่ได้


1
apt-get upgradeติดตั้งเมล็ดใหม่ให้ฉันถ้ามี คุณใช้ Ubuntu รุ่นใด สิ่งเดียวที่ฉันต้องตรวจสอบตอนนี้คือ 10.04 ...
นิโคลัสอัศวิน

1
10.04 จะบอกฉันว่า "อัปเดตเหล่านี้ไม่ได้รับการอัปเกรด" (แปลจากภาษาฝรั่งเศส) และจะแสดงรายการอัพเดตลินุกซ์
Weboide

พบสิ่งนี้ใน xubuntu 13.04 การอัปเกรดอย่างปลอดภัยทำงาน: D
Jim Ford

คำตอบ:


19

ดังนั้นในเรื่องที่เกี่ยวกับความคิดเห็น: ขออภัยคุณพูดถูกฉันอ่านผิดอย่างสมบูรณ์ในสิ่งที่ apt-get กำลังบอกฉัน (และฉันใช้เวอร์ชันภาษาอังกฤษ! :))

หลังจากการวิจัยเล็ก ๆ น้อย ๆ สิ่งที่คุณอาจต้องการใช้งานaptitude safe-upgradeซึ่งจะติดตั้งใหม่เมล็ด จริงๆ! ฉันตรวจสอบอีกครั้ง! :)

คุณควรจะชอบaptitudeโดยทั่วไปapt-getถ้าคุณไม่ต้องการอะไรเป็นapt-getพิเศษ

nknight@nkubuntu1004:~$ sudo aptitude safe-upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Reading extended state information      
Initializing package states... Done
Resolving dependencies...
Resolving dependencies...
The following NEW packages will be installed:
  linux-headers-2.6.32-24{a} linux-headers-2.6.32-24-generic{a} linux-image-2.6.32-24-generic{a} 
The following packages will be upgraded:
  apt apt-transport-https apt-utils base-files firefox firefox-branding firefox-gnome-support gdm google-chrome-stable 
  icedtea-6-jre-cacao linux-generic linux-headers-generic linux-image-generic linux-libc-dev openjdk-6-jre openjdk-6-jre-headless 
  openjdk-6-jre-lib software-center thunderbird ureadahead xulrunner-1.9.2 
21 packages upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 129MB of archives. After unpacking 188MB will be used.
Do you want to continue? [Y/n/?] 

1
อ้างถึง man page ด้วย: บางครั้งจำเป็นต้องลบแพ็คเกจหนึ่งออกเพื่ออัพเกรดใหม่ คำสั่งนี้ไม่สามารถอัพเกรดแพ็คเกจในสถานการณ์เช่นนี้ ใช้คำสั่งอัพเกรดเต็มรูปแบบเพื่ออัพเกรดเป็นแพคเกจให้ได้มากที่สุด
Weboide

4
ความถนัดจะถูกลบออกจากการติดตั้งเริ่มต้นของเดเบียนและอูบุนตูในอนาคต Apt-get เป็นเครื่องมือที่ต้องการสำหรับการติดตั้งแพ็คเกจอีกครั้ง
Ralf

12.04ใช่ฉันไม่พบความถนัดใน ดังนั้นฉันจึงติดตั้งความถนัดและวิ่งaptitude safe-upgradeมันก็ทำเช่นเดียวกันกับการอัพเกรด apt-get ไม่มีการติดตั้งรุ่นเคอร์เนล! (แต่ฉันเห็นรุ่นเคอร์เนลใหม่พร้อมใช้งานในตัวจัดการแพคเกจ synaptic (gui))
user3215

19

คุณกำลังมองหา

sudo apt-get dist-upgrade

4
การใช้ dist-upgrade สามารถเพิ่มหรือลบแพ็คเกจอื่น ๆ ได้ไม่ จำกัด เฉพาะเคอร์เนล นี่อาจเป็นปัญหาบนเซิร์ฟเวอร์หากคุณโฮสต์กับผู้อื่น อย่างไรก็ตามในกรณีเช่นนี้คุณอาจต้องการใช้ apt-pin anyways เพื่อป้องกันการอัพเกรดโดยไม่ตั้งใจ
jbowtie

2
dist-upgradeจะติดตั้งแพ็กเกจใหม่ในขณะที่พยายามแก้ไขการอัพเกรดซึ่งจำเป็นสำหรับการรับการอัพเดตเคอร์เนลเมื่อเคอร์เนล ABI เปลี่ยนไป (เนื่องจากมันจะแปลงเป็นชื่อแพ็คเกจไบนารีอื่น)
Kees Cook

1

ถ้าคุณต้องการติดตั้งaptitudeโปรดไปข้างหน้า - แต่มันมีการพึ่งพาและคุณสามารถหนีไปได้ค่อนข้างดีหากไม่มี - โดยเฉพาะอย่างยิ่งถ้าคุณต้องการให้เซิร์ฟเวอร์ของคุณติดตั้งแบบลีน

เมื่อคุณเรียกใช้sudo apt-get upgradeมันจะบอกคุณเกี่ยวกับแพ็คเกจที่ไม่ได้อัพเกรดด้วยวิธีต่อไปนี้:

The following packages have been kept back:
  linux-generic linux-headers-generic linux-image-generic

ดังนั้นหากคุณเชื่อมต่อโดยใช้เทอร์มินัล ssh มันเป็นเรื่องของการคัดลอก + วางเพื่อป้อนคำสั่งต่อไปนี้:

$ sudo apt-get upgrade linux-generic linux-headers-generic linux-image-generic

ซึ่งอัพเกรดเฉพาะแพ็คเกจที่ถูกเก็บไว้กลับ ใช้uname -rเพื่อแสดงรุ่นเคอร์เนลก่อนและหลังรีบูต (จำเป็นเพื่อรีเฟรชเคอร์เนลที่กำลังรัน) และอย่าลืมรันpurge-old-kernelsหลังจากรีบูต

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