Arch Linux에서는 pacman -Su
커널 업그레이드(통과)를 적용할 때마다 문제가 발생합니다. 예를 들어 iptables
다음은 더 이상 사용할 수 없습니다.
# iptables -L
iptables v1.4.21: can't initialize iptables table `filter': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
VMWare가 커널 헤더 파일을 찾을 수 없습니다:
이제 커널 업그레이드를 적용하고 싶지만 시스템을 재부팅할 수 있을 때까지(또는 재부팅할 때까지 연기하고 싶습니다. Windows에 알림을 받으셨나요?) 그렇지 않고 VMWare나 다른 프로그램에 의해 작업이 차단되면 iptables
재부팅하고 세션을 다시 빌드하는 수밖에 없습니다.
어떻게 해야 하나요? 이상적으로는 계속 사용하고 싶지만 pacman -Su
특정 업그레이드는 연기하는 것이 좋습니다.
나는 믿는다커널 업그레이드 후 USB를 마운트하기 전에 재부팅해야 하는 것이 정상인가요?같은 문제로 인해 발생합니다.
답변1
pacman
특정 패키지에 대한 등급 상향/하향을 방지하려면 여기에 한 줄을 추가하세요 /etc/pacman.conf
.
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg =
#IgnoreGroup =
나는 당신이 다음과 같은 줄을 원한다고 생각합니다 pacman.conf
:
IgnorePkg = linux linux-headers linux-api-headers
지적했듯이 이는 pacman
업그레이드를 방지합니다. 아마도 다음과 같은 코드를 작성할 수 있을 것입니다.
if pacman -Qu | egrep -q -s 'linux|linux-headers|linux-api-headers'
then
pacman -S --noconfirm linux
pacman -S --noconfirm linux-headers
pacman -S --noconfirm linux-api-headers
fi
"라고 써야 할 것 같습니다.시스템 단위 파일" - 이 부분은 제가 어떻게 해야 하는지 자신있게 말씀드릴 수 있는 범위를 조금 벗어났습니다. 내 생각은 Before=shutdown.target
종료 시 실행되는 유닛 파일에 한 줄을 두는 것이었습니다. 제가 작성한 유일한 유닛 파일은 가져오는데 몇 번 시도해야 했습니다. 그렇군요, 그러니까 내 조언은 별로 필요 없을 것 같아요.
답변2
커널 업그레이드를 건너뛰려면 다음을 실행하세요.
pacman -Syu --ignore linux,linux-headers,linux-api-headers
이를 통해 모든 것을 업그레이드할 수 있습니다.와는 별개로핵심
답변3
linux-api-headers
동기 부여 때문에 이 패키지를 무시해서는 안 된다고 생각합니다 .
커널을 업그레이드하거나 커널 업그레이드를 무시하지 말고, 시스템을 손상시키는 패키지를 업그레이드하지 마십시오(별도로 업그레이드하고 커널이 업그레이드되지 않은 경우).
이것 좀 봐답변Arch 위키 포럼에서.
내가 뭘 한거지
IgnorePkg = linux linux-headers virtualbox-host-modules-arch
virtualbox-host-modules-arch
pkg는 VirtualBox가 설치된 경우에만 무시됩니다. pkg 도 마찬가지입니다 linux-headers
. 이미 설치해 두었기 때문에 이렇게 했습니다.