Antes de atualizar um pacote, como posso saber quais arquivos serão modificados?

1

Eu tenho que atualizar algumas máquinas, mas estou usando uma versão com patch do linux, e não quero pacotes para modificar arquivos específicos. Para ser mais claro, aqui está uma lista das ações que eu não quero que um pacote esteja realizando:

Modify the boot sequence (modify grub)
Change the init files (init.d)
The kernel image

Como consequência, listei alguns pacotes e os coloco em espera com o seguinte:

for package in 'package_list grub2-common...'
do
 echo $package hold|dpkg --set-selections
done

Eu também poderia adicioná-los ao / etc / apt / prefences com uma priotividade -1, mas não acho que seja necessário.

Eu gostaria de tornar este processo automático, dada uma lista de arquivos, encontrar todos os pacotes de atualização que os usam e colocá-los em espera. Se eu pudesse encontrar ações executadas por cada pacote sem instalá-lo, seria um ótimo começo.

EDIT: usar chattr -i <filelist>. me permite bloquear o acesso a alguns arquivos, mas eu preferiria ter uma abordagem orientada ao pacote mais limpo para resolver o meu problema.

Obrigado pela sua ajuda.

    
por user3779430 28.05.2015 / 10:04

1 resposta

0

Esta pode não ser a melhor resposta, mas se você "não quiser que os pacotes modifiquem arquivos específicos", você pode tornar esses arquivos imutáveis usando chattr -i <filelist> . Então, se eu fosse você, eu consideraria:

find /etc/init.d /boot -type f -exec chattr +i "{}" +

Depois de terminar, altere +i para -i (ou continue assim até precisar modificar os arquivos). Esta operação define / redefine o bit "imutável", que é um atributo estendido especial específico para o Linux. Contanto que o bit esteja definido, o arquivo não pode ser modificado ou excluído.

    
por 28.05.2015 / 10:24