패키지를 업그레이드하기 전에 어떤 파일이 수정될지 어떻게 알 수 있나요?

패키지를 업그레이드하기 전에 어떤 파일이 수정될지 어떻게 알 수 있나요?

일부 시스템을 업데이트해야 하지만 패치된 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 고유의 특수 확장 속성인 "불변" 비트를 설정/재설정합니다. 이 비트가 설정되어 있는 동안에는 파일을 수정하거나 삭제할 수 없습니다.

관련 정보