一部のシステムを更新する必要がありますが、パッチされた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固有の特殊拡張属性である「不変」ビットを設定/リセットします。このビットが設定されている間は、ファイルを変更または削除することはできません。