Isso se afasta um pouco da pergunta original, pois também fornecerá arquivos de configuração ADDED, em vez de apenas aqueles modificados. Embora os arquivos não incluídos em qualquer pacote deb também sejam capturados. Ambos os comportamentos podem ser desejáveis.
Depende de ter usado o etckeeper com o git vcs de forma ideal desde o início, embora também deva funcionar se você especificamente adicionar e confirmar arquivos previamente alterados após o primeiro commit. Note que uma pegadinha aqui é que o Ubuntu configura o etckeeper para usar o Bazaar por padrão (patrocinador canônico Bazaar), ao invés do padrão do git definido pelos desenvolvedores do etckeeper.
A idéia é obter uma lista de todos os commits que não são feitos automaticamente após o apt. Em seguida, liste os arquivos alterados em todos, exceto no primeiro commit:
filter_sed="/committing changes in \/etc after apt run\$/d"
etckeeper vcs log --oneline |
sed "$filter_sed; \$d; s/ .*//" |
xargs etckeeper vcs show --name-only --format=format: |
sort |
uniq |
sed "/^\$/d"
A cadeia de filtros também pode ser estendida para abranger outras confirmações se elas forem nomeadas de forma consistente. Pode ser bom para instalações diretamente de um arquivo deb ou do código-fonte.
Um arquivo notável que esta escolha para mim é o meu xorg.conf
- você atualmente tem que adicionar isso ao / etc / X11 se precisar. Além disso, minhas alterações de default/grub
são selecionadas, parece que isso é copiado de / usr / share por um script de pós-instalação em vez de ser listado como parte de um pacote. Se uma alteração foi feita em um arquivo como este, os métodos relacionados ao dpkg não irão revelá-lo.