잘못된 업데이트 후 커널을 다운 그레이드하는 방법 (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-generic및 linux-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.