
일부 시스템을 업데이트해야 하지만 패치된 Linux 버전을 사용하고 있으며 패키지가 특정 파일을 수정하는 것을 원하지 않습니다. 더 명확하게 하기 위해 패키지에서 수행하지 않기를 원하는 작업 목록은 다음과 같습니다.
Modify the boot sequence (modify grub)
Change the init files (init.d)
The kernel image
그래서 몇 가지 패키지를 나열하고 다음 내용과 함께 따로 보관했습니다.
for package in 'package_list grub2-common...'
do
echo $package hold|dpkg --set-selections
done
-1 우선순위로 /etc/apt/prefences에 추가할 수도 있지만 그럴 필요는 없다고 생각합니다.
파일 목록이 주어지면 이 프로세스를 자동화하고 해당 파일을 사용하는 모든 업데이트 패키지를 찾아 보류하고 싶습니다. 모든 패키지를 설치하지 않고도 이것이 무엇을 하는지 알 수 있다면 좋은 시작이 될 것입니다.
편집: 사용하면 chattr -i <filelist>.
특정 파일에 대한 액세스를 차단할 수 있지만 문제에 대해 더 깔끔한 패키지 지향 접근 방식을 사용하고 싶습니다.
당신의 도움을 주셔서 감사합니다.
답변1
이것이 최선의 대답은 아닐 수도 있지만 "패키지가 특정 파일을 수정하는 것을 원하지 않는 경우" 해당 파일을 만들 수 있습니다불변사용 chattr -i <filelist>
. 따라서 내가 당신이라면 다음을 고려할 것입니다.
find /etc/init.d /boot -type f -exec chattr +i "{}" +
완료되면 다음 +i
으로 변경하십시오 -i
(또는 파일을 수정해야 할 때까지 그대로 유지하십시오). 이 작업은 Linux 고유의 특수 확장 속성인 "불변" 비트를 설정/재설정합니다. 이 비트가 설정되어 있는 동안에는 파일을 수정하거나 삭제할 수 없습니다.