วิธีการกลับจาก“ การทดสอบ” ถึง“ เสถียร” - การลดระดับเคอร์เนล


37

ตอนนี้ฉันสนุกมากapt-get- และสิ่งที่แย่คือมันเป็นความผิดของฉันเอง ฉันได้เปิดใช้งานtestingแพคเกจใน/etc/apt/sources.listการติดตั้งแพคเกจบางอย่าง apt-get dist-upgradeและผมบอกทำระบบของฉัน ทุกอย่างทำงานได้ดี แต่ตอนนี้ฉันกำลังพยายามกลับไปstableปรับปรุง - และฉันล้มเหลว ...

เมื่อพยายามที่จะทำapt-get dist-upgradeฉันได้รับข้อมูลต่อไปนี้:

The following packages will be REMOVED:
  linux-image-3.10-3-amd64
The following NEW packages will be installed:
  libcgi-fast-perl libfcgi-perl libyaml-syck-perl
The following packages will be DOWNGRADED:
  initramfs-tools libdate-manip-perl munin munin-common

ก็ไม่เป็นไร แต่เมื่อฉันพยายามทำสิ่งนี้ฉันได้รับคำเตือนด้วยตัวอักษรสีแดงที่เป็นมิตร:

You are running a kernel (version 3.10-3-amd64) and attempting to remove the same version.
...
It is highly recommended to abort the kernel removal unless you are prepared to fix the system after removal.

ฉันชอบทำตามคำแนะนำ รุ่นเคอร์เนลที่ถูกต้องสำหรับการstableเปิดตัวจะเป็นlinux-image-3.2.0-4-amd64และติดตั้งไว้แล้ว อาจจะมีการปรับลดรุ่นจะไม่มีปัญหาหากฉันทำงานภายใต้เคอร์เนลเก่า? อันที่จริงผมมีเงื่อนงำวิธีการเปิดใช้เคอร์เนลแทน3.2.03.10


5
ฉันเกลียดที่จะทำลายสิ่งนี้ให้กับคุณ แต่การลดระดับจะไม่ได้รับการสนับสนุนใน Debian คุณไม่เฉพาะเจาะจงว่าระบบของคุณประกอบด้วยแพคเกจจากการทดสอบเท่าไหร่ (ซึ่งสามารถค้นพบได้เช่นโดย apt-show-versions) แต่ถ้ามันเป็นส่วนสำคัญคุณอาจมีปัญหา การแก้ปัญหาเฉพาะหน้าของคุณดูเหมือนง่ายเว้นแต่ฉันจะทำบางสิ่งบางอย่างหายไป เพียงรีบูทเป็น 3.2 จากนั้นลบเคอร์เนลที่ใหม่กว่า อย่างไรก็ตามสิ่งนี้จะไม่ทำให้ระบบส่วนที่เหลือของคุณกลับมาใช้อย่างเสถียรอย่างน่าอัศจรรย์
Faheem Mitha

ขอบคุณ! เท่าที่ฉันเห็นมีปัญหาไม่มากเลย - เพียงไม่กี่แพ็กเกจ ... มีตัวเลือกให้บอกระบบให้ใช้เคอร์เนล 3.2 หลังจากรีบูตหรือไม่ ฉันกำลังทำงานใน VPS (เซิร์ฟเวอร์เสมือน) และจะไม่สามารถที่จะกดปุ่มใด ๆ ก่อนที่ SSH ขึ้น ...
BurninLeo

คุณกำลังบอกว่าคุณไม่สามารถเลือกเคอร์เนลแบบโต้ตอบได้ในการบูต? หากคุณกำลังใช้ GRUB คุณควรไปที่ grub config และเปลี่ยนตัวเลือกเริ่มต้นของเคอร์เนลเพื่อบูตจาก รายละเอียดจะขึ้นอยู่กับรุ่นของ GRUB ที่คุณใช้งานอยู่
Faheem Mitha

1
@Wilf Debian จะไม่พยายามปรับลดรุ่นโดยอัตโนมัติ คุณสามารถกำหนดค่า apt เพื่อลองทำสิ่งนั้น แต่ฉันไม่คิดว่าจะช่วยได้ที่นี่
Faheem Mitha

1
คุณอาจกำลังใช้ GRUB โพสต์รุ่น GRUB ของคุณdpkg -l | grep grubในคำถาม
Faheem Mitha

คำตอบ:


43

ดูที่นี่ดูเหมือนว่าจะมีการปรับลดที่เป็นไปได้โดยใช้ apt-get:

http://ispire.me/downgrade-from-debian-sid-to-stable-from-jessie-to-wheezy/

สิ่งสำคัญ (3 ขั้นตอน):
(หากระบบส่วนใหญ่ของคุณเป็นรุ่นที่สูงกว่าคุณจะต้องระมัดระวังในการลดระดับดูการเปลี่ยนแปลงรูปแบบโดยเฉพาะอย่างยิ่ง (ข้อมูลและไฟล์กำหนดค่าส่วนบุคคล)

  1. ลบการอ้างอิงทั้งหมดไปยังsidหรือไม่เสถียรในของคุณ/etc/apt/sources.listโดยการลบเปลี่ยนหรือแสดงความคิดเห็น มั่นใจในsources.listสิ่งที่คุณต้องการ (ฉันขอแนะนำการรักษาความปลอดภัยและแหล่งที่มาของ deb ที่มีเสถียรภาพ) ตัวอย่างเช่น:

    deb http://security.debian.org/เสียงดังเสียงฮืด ๆ / อัพเดทหลัก
    deb-src http://security.debian.org/เสียงดังเสียงฮืด ๆ / ปรับปรุงหลัก

    deb http://cdn.debian.net/debian/ wheezy หลัก contrib ไม่ฟรี
    deb-src http://cdn.debian.net/debian/ wheezy หลัก contrib ไม่ใช่ฟรี

  2. ตรึงการเปิดตัวที่คุณต้องการ/etc/apt/preferences(ซึ่งจะทำให้ข้อมูลแพคเกจที่ดาวน์โหลดมาแล้ว แต่ตอนนี้ไม่ต้องการถูกละเว้นตามที่ต้องการ)

    แพ็คเกจ: *
    Pin: ปล่อย a = เสถียร
    ลำดับความสำคัญของพิน: 1001

  3. ในที่สุดเราต้องเรียกใช้การอัปเดต apt และกระบวนการอัปเกรดเพื่ออัปเกรดแพ็คเกจทั้งหมด
    * aptจะขอคำยืนยัน

    # apt-get update
    # apt-get upgrade
    # apt-get dist-upgrade

หากคุณไม่สามารถอธิบายสิ่งที่แต่ละคำสั่งเหล่านี้ทำงานได้อย่างอิสระให้อ่าน man pages ของคุณ! :) และทำแบบเดียวกันกับตัวเลือกที่คุณใช้ในโปรแกรมอรรถประโยชน์อื่น ๆ อย่างน้อยที่สุด

  1. (หากคุณมีปัญหาในการลดระดับแพ็คเกจ) ให้ ล้างออกแล้วติดตั้งใหม่

    # apt-get purge [your_failing_package]
    # apt-get install [your_failing_package]


2
คำตอบที่ยอดเยี่ยมขอบคุณ! แก่นแท้ของมันคือขั้นตอนที่ 2
Chris Harrington

/etc/issueและไฟล์อื่น ๆ จะถูกเก็บไว้ไม่ได้ปรับลดลง จะแก้ไขได้อย่างไร?
Mvorisek

3
  • รีบูทเครื่อง
  • จากเมนูขั้นสูง Debian บน Grub ให้เลือกเคอร์เนลที่แตกต่างจากที่คุณต้องการลบ
  • หากคุณอยู่ใน Debian คุณจะต้องมีแพ็คเกจเมตาสำหรับเคอร์เนลที่ติดตั้ง

    gayan@deb:~$ dpkg -l | grep linux 
    ii  linux-image-amd64                     4.9.25-1~bpo8+1
    ii  linux-image-3.16.0-4-amd64            3.16.43-2
    ii  linux-image-4.9.0-0.bpo.3-amd64       4.9.25-1~bpo8+1
    
  • เพียงแค่ล้างเมตาแพ็คเกจ ( linux-image-amd64) แล้วติดตั้งใหม่

    จากนั้นคุณจะต้อง:

    gayan@deb:~$ dpkg -l | grep linux
    ii  linux-image-amd64                     3.16.43-2
    ii  linux-image-3.16.0-4-amd64            3.16.43-2
    
  • Reboot


ข้อมูล:

linux-image-amd64เป็นแพ็คเกจเมตา มันอาจชี้ไปที่เคอร์เนลที่มีเสถียรภาพหรือแบ็คพอร์ตหนึ่งตัว (4.9.25-1 ~ bpo8 + 1) ขึ้นอยู่กับวิธีที่คุณติดตั้ง:

apt-get -t jessie-backports install linux-image-amd64

หรือ

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