etckeeper, Git checkout и нарушенные права доступа к файлам в /etc

Я хотел выяснить, почему после коммита etckeeper у меня возникла проблема с перезагрузкой (уже решенная благодаря этой замечательной вещи).

Я играл с Etckeeper, сделал git checkout some_commit_sha для быстрого просмотра, а затем git checkout master,

И, похоже, мой файл разрешений в /etc были сломаны после этих манипуляций. Все файлы, включая ssh_host_rsa_key passwd-, shadow- мы rw-r--r--, Я не знал, что Git не сохраняет права доступа к файлам.

Теперь я все исправил (надеюсь, я ничего не пропустил).

Каков был правильный способ получить более ранние состояния /etc, оглянись вокруг и вернись к мастеру с нужными правами доступа к файлам?

1 ответ

Решение

Согласно документации (см. Ниже) вы должны запустить

etckeeper init

после проверки любых файлов вернитесь, чтобы восстановить разрешения. git не может хранить права доступа к файлам напрямую, поэтому он обрабатывается etckeeper, и вам нужно снова запустить init, чтобы восстановить их после проверки.

Раздел документации,

Вы можете использовать любые команды git, которые вам нравятся, но имейте в виду, что, если вы проверяете другую ветку или старую версию, git работает непосредственно в вашей системе / etc. Если вы решили проверить ветку или тег, убедитесь, что вы снова запустили "etckeeper init", чтобы получить какие-либо изменения метаданных:

git checkout april_first_joke_etc

etckeeper init

Другие вопросы по тегам