잘못된 업데이트 후 커널을 다운 그레이드하는 방법 (16.04)


20

노트북에서 Ubuntu 16.04 커널 (4.4.0-89 및 -91) 로의 최근 업그레이드가 잘못되었습니다. 행복하게도 이전 버전의 작업 버전이 여전히 설치되어 있습니다 (4.4.0-57). 지금은 Grub에서 메뉴를 표시하도록 구성했으며 부팅시 수동으로 -57을 선택하고 있지만, 이것은 깨지기 쉬운 것 같습니다 sudo apt upgrade.

내가 원하는 것 같아

  • 그들이 나를 잘하지 않기 때문에 -89와 -91을 제거하십시오.
  • 업그레이드를 통해 지속되는 방식으로 -57을 Grub의 기본값으로 설정합니다.
  • 나중에 커널 업그레이드를 설치하더라도 -57이 설치된 상태로 유지되도록
  • 나중에 커널 업데이트를 쉽게 시도 할 수 있지만 실패하면 -57로 되돌립니다. 내 주요 관심사는 -57이 자동으로 제거되는 것입니다.
  • 나중에 작동하는 업데이트를 찾으면이 모든 작업을 취소하고 다음 커널 업데이트로 돌아가는 쉬운 경로입니다.

-91을 제거 sudo apt remove linux-image-4.4.0-91-generic하려면 linux-generic 및 linux-headers-generic을 제거해야합니다. 그건 나쁜 것 같아서 시도하지 않았습니다.

일반적인 문제에 대한 다양한 질문을 찾을 수 있지만 모든 목표를 다룰 수있는 것은 없으며 대부분 더 이상 적용되지 않을 정도로 오래되었습니다.

가장 좋은 방법은 무엇입니까?

부록 : 특정 패키지의 업데이트를 방지하는 방법 의 복제본으로 표시되었습니다 . . 그 대답은 내 질문의 일부를 해결할 수도 있지만 더 큰 그림을 다루지는 않습니다.

일반적으로 문제는 커널이 비정상적인 방식으로 처리된다는 것입니다. linux-image-generic과 linux-image-headers에 의존하는 linux-generic을 통해 설치됩니다. 그것들은 linux-linux-image-VERSION-generic과 headers-VERSION-generic에만 의존하며, 버전 번호를 패키지 이름으로 굽는 데 주목할만한 패키지입니다 (아마도 여러 개를 병렬로 쉽게 설치할 수 있음).

해당 답변에서 구체적으로 다루지 않은 내용은 다음과 같습니다.

  • -89 및 -91을 제거하는 방법을 다루지 않습니다.
  • 이후 업데이트를 설치하더라도 -57을 Grub의 기본값으로 설정하는 방법은 다루지 않습니다.
  • 나중에 업데이트를 설치하더라도 -57을 설치 상태로 유지하는 방법을 다루지 않습니다. 답이 하나 이상의 패키지를 보유하는 경우에도 관련된 여러 패키지를 고려할 때 어떤 패키지를 보유합니까? Linux-generic을 유지해야하는 경우 먼저 다운 그레이드하는 방법은 무엇입니까?

랩톱에서 커널이 "실패"할 가능성은 거의 없습니다. 아마 일부 드라이버를 잘못된 방식으로 설치했고 커널 업그레이드 후에 "실패"했을 것입니다. 그래픽 드라이버를 설치 했습니까?
Pilot6

헤더가있는 최신 커널 및 linux-geneeric을 제거하면 목표를 달성하게됩니다. 그러나 내가 말했듯이 문제는 다릅니다.
Pilot6

1
"실패"는 와이파이가 아니었고 X는 내 그래픽에 대해 불행했습니다. 둘 다 인텔 통합 및 스톡 드라이버입니다. 전체 종료 / 전원 켜기를 포함하여 여러 번의 재부팅으로 문제가 지속되었습니다. 그래서 저는 진지하게 조사 할 수있을 때까지 제 목표는 스톱 갭이었습니다. 당연히 심각한 조사를 위해 정보를 수집하기 시작하고 -91이 예상대로 작동하기 시작합니다. 한숨을 쉬 겠습니다.
Alan De Smet

1
이것은 중복되지 않습니다. 단지 일부 패키지를 동결시키는 것이 아닙니다. 아마도 중복 된 것이지만 제안 된 질문과 다를 수도 있습니다.
Pilot6

답변:


19

최신 커널을 제거하십시오

sudo apt remove linux-image-4.4.0-91-generic linux-headers-4.4.0-91-generic

즉 메타 패키지를 설치 제거합니다 linux-generic, linux-image-generic하고 linux-headers-generic. 커널은 절대 업그레이드되지 않습니다.

그것을 되돌리려면 실행할 수 있습니다

sudo apt install linux-generic

그러면 최신 커널이 설치되고 커널이 업그레이드됩니다.

linux-generic메타 패키지입니다. 그것은 비어 있지만, 다른 두 메타 패키지에 따라 달라집니다 linux-image-genericlinux-headers-generic.

마지막 두 지점은 최신 커널 이미지와 헤더를 가리 킵니다.

메타 패키지를 제거하면 Linux에서 아무것도 제거되지 않지만 커널 이미지 및 헤더는 업데이트되지 않습니다. 나중에 언제든지 설치할 수 있습니다. 최신 "실제"커널 패키지를 가져옵니다.

따라서 원하지 않는 커널 패키지와 메타 패키지를 수동으로 제거하는 것이 해결책입니다.


3

Pilot6의 솔루션이 최상의 솔루션 일 수 있지만 과감한 조치를 취할 수는 없습니다.

소프트웨어 센터에서 원하지 않는 커널을 개인적으로 제거한 다음 해당 패키지를 보류 합니다. 특정 패키지의 업데이트를 방지하는 방법을 참조하십시오 .

이것은 사소한 변경 사항이므로 변경 사항을 쉽게 극복하거나 되돌릴 수 있습니다.


어떤 패키지를 보관하겠습니까?
Pilot6

linux-generic이 충분할 것입니다. 확실하지 않습니다. 다른 것들을 추가해야 할 수도 있고 정확한 커널을 지정해야 할 수도 있지만, 의심합니다.
Panther

3
sudo apt-mark hold linux-image-generic linux-headers-generic할 것
Panther

1
@ Pilot6-아니요 이전 커널을 유지하고 부팅 할 커널을 grub으로 표시 할 수 있습니다. askubuntu.com/questions/216398/…
Panther

1
그래 넌 할수있어. 그러나 너무 복잡하고 실용적이지 않습니다.
Pilot6
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.