이전 커널 패키지를 제거하는 중 오류가 발생했습니다.

이전 커널 패키지를 제거하는 중 오류가 발생했습니다.

오늘 저는 Debian Stretch에서 이전 커널을 제거하려고 했습니다.

sudo aptitude purge linux-image-4.9.0-3-amd64 

이 프로세스는 대부분의 서버에서 원활하게 작동하고 수년 동안 진행되어 왔지만 이번에는 2개의 서버에서 다음 오류가 발생했습니다.

Failed to substitute package name in title: 10 at /usr/bin/linux-check-removal line 102, < STDIN> line 1.
dpkg: error processing package linux-image-4.9.0-3-amd64 (--remove):
subprocess installed pre-removal script returned error exit status 255
Errors were encountered while processing:
linux-image-4.9.0-3-amd64
E: Sub-process  /usr/bin/dpkg returned an error code (1)

사용

sudo dpkg --purge linux-image-4.9.0-3-amd64

비슷한 메시지도 반환됩니다.

이 패키지에 대해 제거/정리 명령을 반복하려고 하면 항상 이 오류가 발생합니다.

어떻게 삭제할 수 있나요?

답변1

/usr/bin/linux-check-removal해결 방법을 조사하는 동안 이것이 Perl 스크립트라는 것을 알았습니다 man.

linux-check-removal - 커널을 제거해도 안전한지 확인합니다.

요약.
리눅스 삭제된 버전 확인

설명하다.
linux-check-removal은 Linux 커널 패키지의 prerm 유지 관리자 스크립트에서 호출되도록 고안되었습니다.

결국 0(성공)을 반환하도록 스크립트를 수정하고 패키지를 제거한 다음

sudo aptitude purge linux-image-4.9.0-3-amd64

작업이 끝나면 스크립트를 복원합니다.

스크립트 마지막에 적용한 임시 수정 사항은 다음과 같습니다.

# replace check() call with exit with success code
# check(@ARGV);
exit 0;

관련 정보