Я хотел понять, почему после etckeeper commit, у меня возникла проблема с перезагрузкой (уже решена благодаря этой замечательной штуке).
Я играл с etckeeper, делал git checkout some_commit_sha
для беглого взгляда, а затем git checkout master
.
И, похоже, мои права доступа к файлам в /etc
были сломаны после этих манипуляций. Все файлы, включая ssh_host_rsa_key passwd-, shadow-
мы rw-r--r--
. Я не знал, что Git не сохраняет права доступа к файлам.
Сейчас все исправил (надеюсь, ничего не пропустил).
Каким был правильный способ получить более ранние состояния /etc
, осмотритесь и вернитесь к мастеру с правильными правами доступа к файлам?
Согласно документации (см. Ниже) вы должны запустить
etckeeper init
после проверки любых файлов обратно, чтобы восстановить разрешения. git не может напрямую сохранять права доступа к файлам, поэтому он обрабатывается etckeeper, и вам нужно снова запустить init, чтобы восстановить их после проверки.
Раздел документации,
Вы можете использовать любые команды git, которые вам нравятся, но имейте в виду, что если вы проверяете другую ветку или старую версию, git работает непосредственно с файлом / etc. Если вы все же решите проверить ветку или тег, убедитесь, что вы снова запустите «etckeeper init», чтобы получить любые изменения метаданных:
git checkout april_first_joke_etc
etckeeper init