Сьогодні я отримав бажання змінити Mac OS X Leopard рахунок коротке ім'я (домашній каталог), так що я б менше типу терміналу. Ось як я змінив свою коротке ім'я, не порушуючи мого резервного копіювання Time Machine.
Попередження
Це керівництво покликане служити як приклад для тих, хто систем управління досвідом, або ті, з ненаситною спрагою майструвати. Є багато речей, які могли б йти жахливо неправильно, можливо, навіть для створення резервних копій непридатним для використання. Я не роблю ніяких претензій, що цей метод буде працювати, і я не можу надати ніякої підтримки.
Я не тестував остаточного сценарію Ruby наведені нижче. Спочатку він був два утиліта сценаріїв, які я написав, працюючи через речі, і я об'єднав їх для простоти. Огляд коду, тестування, а потім спробуйте на свій страх і ризик.
Підготовка Time Machine
Якщо ви зміните своє коротке ім'я ваше ім'я користувача і, можливо, група також зміниться. У цьому випадку, Time Machine розпочнеться нова резервна копія з нуля. Цього можна уникнути, пройшовши через всі резервні копії Time Machine і виконавши наступні дії:
- Зміна імені домашньої директорії на новий коротке ім'я (ім'я користувача)
- Оновлення дозволу на нове ім'я користувача та групи
По-перше, вимкніть машину часу резервного копіювання і переконайтеся, що резервна копія не є в даний час. Далі, відключити списки управління доступом на обсяг Машина часу за допомогою наступної команди (щоб зробити відповідні заміни <tm_volume>). Без цього кроку, вам буде відмовлено в доступі до файлів, навіть якщо корінь.
1 | / Volumes / -d Судо fsaclctl-р / Volumes /-й |
Після цього скопіюйте скрипт Ruby нижче файл з ім'ям change_username_tm.rb, а потім змінювати його відповідно до своїх змінами.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #! / USR / BIN / ENV рубін dry_run = істинної # Запуск в сухий запустити режим. Нічого не зміниться. # Зміна на "помилкові", коли ви будете готові до рулон. account_name = "в IMac" Джон Стейсі # Назва вашого Mac (знаходиться в меню "Настройки системи -> Sharing) імя_діска = "Macintosh HD" # Назва вашого основного жорсткого диска new_username = "Джон" # Ваше нове ім'я користувача, що ви хочете new_group = "Джон" # нову групу ви належите старе_ім'я_користувача = "jonstacey" # Ваш старий ім'я користувача, яке ви терпіти не old_group = "jonstacey" # старі групи, які ви колись належали time_machine = "резервних копій Time Machine" # ім'я резервного копіювання Time Machine диск # Кінець конфігурації # Створення масиву всіх резервних копій ( '/Volumes/' + time_machine + '/Backups.backupdb/' + account_name + '/*/' + drive_name + '/Users/' + old_username ) шляхи = Реж. куля ('/ Volumes /' + time_machine + '/ Backups.backupdb /' + + account_name'/*/' імя_діска + + '/ Користувачі /' + старе_ім'я_користувача) # Перейменувати | old_path | шляхів. кожного робити | old_path | old_path == '/Volumes/' + time_machine + '/Backups.backupdb/' + account_name + '/Latest/' + drive_name + '/Users/' + old_username ) якщо тільки (old_path == '/ Volumes /' + time_machine + '/ Backups.backupdb /' + account_name + '/ Останній /' + імя_діска + '/ Користувачі /' + старе_ім'я_користувача) ( File . dirname ( old_path ) , new_username ) new_path = "Файл". приєднатися ("Файл". імя_кат (old_path), new_username) # Перейменувати папку to #{new_path} \n \n " ставить "Зміна # (old_path) \ п # (new_path) \ п \ п" ( old_path, new_path ) unless ( dry_run ) "Файл". Перейменовувати (old_path, new_path), якщо (dry_run) # Оновлення дозволів Команда = "Sudo Чаун-R # () new_username: # (new_group) \" # (new_path) \ "" ( dry_run ) командної системи, якщо тільки (dry_run) кінець кінець |
Коли все буде готове, запустіть скрипт в сухому режимі і запустити переглянути все. Коли ви будете задоволені, набір dry_run до хибних і бігти, як корінь.
1 | Судо рубіновим change_username_tm.rb |
Примітка: Існували багато файлів в бібліотеці, що б помилка, коли намагаються змінити дозволу. Все-таки працює, тому я думаю, я дізнаюся напевно, наступного разу, я намагаюся відновити (можливо, що день ніколи не прийшов). Сценарій найгіршого випадку, я відновити мої файли вручну, що це те, що я робив роками Windows.
І нарешті, знову включити списки управління доступом на обсяг TM за допомогою наступної команди.
1 | / Volumes / -e Судо fsaclctl-р / Volumes /-е |
* Не вмикайте копії ще!
Змінити короткий ім'я
Наступні Apple нові інструкції щодо зміни налаштувань користувача коротке ім'я, під Leopard: http://support.apple.com/kb/HT1428
Кінчати
Скажімо молитву і дають Time Machine спробувати, щоб переконатися, ви все ще можете побачити всі свої архіви. Якщо все здається, що працює, йдіть із градом одружитися і спробуйте запустити Машина часу резервного Now (підказка: є варіант, якщо ви натиснете на статус Time Machine кнопку в рядку меню). Якщо резервна копія роботи, то ви можете бути вільні, і це безпечно для повторного включення автоматичного резервного копіювання.
Дихання полегшено зітхнув і пообіцяйте собі заздалегідь планувати наступний раз переустановки Mac OS X.
Ваш досвід
Якщо ви досягли успіху після того або іншого методу, дайте мені знати, розмістивши коментар! Але пам'ятайте, що я не можу уявити будь-яку серйозну технічну підтримку ![]()














comments… read them below or add one } (7 коментарів ... читати їх нижче або додати 1 )
Спасибі тонна! Я встановив Snow Leopard (чиста установка), але забув використовувати ті ж ім'я користувача, як моя Leopard установки. Я побіг сценарій, і тепер Time Machine працює чудово знову.
@ Matt, Великий чути!
Примітка для всіх: Майте на увазі, що я не повністю перевірили це. Я був благословенний з надійним IMac до цих пір. Проте, хоча я не пробував повне відновлення в рамках перевстановити я відновив окремих каталогів і файлів, без будь-яких проблем.
Не час старту машини з нуля, тому що ви змінити домашню папку, не тому, що ви зміните своє коротке ім'я (яке ви можете зробити wihtout змінити домашню папку)?
Цікаво, чи буде можливість змінити домашню папку каталог, який жорстку до старої папці додому. Якщо б запобігти машину часу, щоб почати нову резервну копію?
@ Стефан, коротку назву має співпадати з ім'ям каталогу. Ви могли б піти від жорсткої посилання, але особисто я б не хотів, оскільки він додає непотрібний "сміття".
Ви маєте рацію, і єдина причина, я б temped спробувати трюк з жорсткого посилання залишити стару папку будинок в місце для машини часу після короткого змінити назву. Я просто подумав, може бути, це було б переконати машину часу, що це все насправді ті ж файли. Але в будь-якому випадку, я забув, що ви не можете створити жорстку посилання на папку. Або можна?
Велике спасибі людині, велику допомогу. Для тих з вас, використовуючи OS X 10.6, які мають проблеми з використанням fsaclctl команду, як я, ось простий спосіб витягнути його із старого 10,5 інсталяційний диск:
http://porkrind.org/missives/how-to-get-fsaclctl-off-your-leopard-install-dvd/
У Snow Leopard, Apple видалити fsaclctl в прагненні постійно дозволити ACL.
@ Еван, спасибі за пораду. Мені прикро, що це корисно команди більше немає, коли вона була тільки що додали в 10,4 відповідно до документації. Знову ж таки, він має дуже використовувати нішу. Кожен, хто стикається з цією проблемою, можливо, захочете розглянути питання про подачу Mac OS X повідомлення про помилку . Кількість дубльованих доповідей впливає як Apple пріоритетом, тож певний поріг, повинні бути виконані навіть отримати їх розглянути це питання.
В якості альтернативи, інші, можливо, успіх з TinkerTool System Release 2. Це також буде сприяти цікавий проект, інструментарій, які будуть додані до MacPorts. Але знову ж таки, дуже мало користі справи.