3

Я только что купил Mac и установил dotfiles из внешнего источника, который испортил мои настройки терминала. К счастью, я сделал резервную копию своей системы с машиной времени, поэтому я просто переустановил всю систему.

Однако было бы более разумно просто сделать резервную копию исходных файлов точек системы, чтобы переустановить их, если есть проблема с пользовательскими файлами.

  • Есть ли такая вещь, как «оригинальные дотфайлы»?
  • Если да, то где они и как лучше их подкрепить?
  • Если нет, то как мне отменить любые изменения, сделанные новыми?

2 ответа2

4

Скелетные каталоги macOS находятся в /System/Library/User Template/ и могут быть просмотрены только пользователем root.

Однако (по умолчанию) новые учетные записи пользователей macOS не содержат файлов точек (это можно проверить, создав новую учетную запись пользователя):

Aoide:~ admin$ sudo ls -la /Users/testaccount/
total 8
drwxr-xr-x+ 11 testaccount  staff   374 Apr 21 13:13 .
drwxr-xr-x   8 root         admin   272 Apr 21 13:12 ..
-r--------   1 testaccount  staff     7 Apr 21 13:12 .CFUserTextEncoding
drwx------+  3 testaccount  staff   102 Apr 21 13:12 Desktop
drwx------+  3 testaccount  staff   102 Apr 21 13:12 Documents
drwx------+  3 testaccount  staff   102 Apr 21 13:12 Downloads
drwx------@ 46 testaccount  staff  1564 Apr 21 13:13 Library
drwx------+  3 testaccount  staff   102 Apr 21 13:12 Movies
drwx------+  3 testaccount  staff   102 Apr 21 13:12 Music
drwx------+  3 testaccount  staff   102 Apr 21 13:12 Pictures
drwxr-xr-x+  5 testaccount  staff   170 Apr 21 13:12 Public

Как говорит l0b0, вы должны использовать один из многих доступных вариантов для создания версий или резервного копирования ваших собственных файлов точек. Если у вас возникли проблемы, просто удалите их, чтобы восстановить поведение по умолчанию.

1

Исходные точечные файлы находятся в директории скелета, обычно это /etc/skel:

$ ls -A /etc/skel
.bash_logout  .bash_profile  .bashrc  .emacs  .mozilla

Например, useradd использует этот каталог для настройки новых пользователей. Если вы хотите восстановить исходное содержимое файла, вы можете просто скопировать файл поверх существующего файла точек и перезапустить оболочку.

Не существует "стандартного" способа их резервного копирования. Вы можете просто скопировать их в другой каталог, использовать систему контроля версий или попробовать любой из тысяч * nix-совместимых пакетов программного обеспечения для резервного копирования.

Если /etc/skel не существует, найдите переменную SKEL в /etc/default/useradd или просто find /etc -name '*bashrc*' .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .