TGViewer
Cododel.dev | Александр Cododel.dev | Александр @cododel_dev · 229 subscribers
Post #332 84
Лонгрид о смене юзернейма в MacOS

Ночью сел и часок-другой потратил на то, чтобы поменять username главного аккаунта на MacOS
Штука больше эстетичная, с элементом челленджа и легкой ноткой экстрима в виде возможности потери работоспобности операционной системы, что приведет к надобности её переустановки.
Но я решительно его сменил везде, и вот больше года сижу со старым на ноуте...

Где-то читал что это можно сделать только снаружи системы, с рекавери мода или внешней системы
Формулировки не точные, но суть именно такая была

Но загуглив снова - я нашел официальное руководство
В нём не хватает инструкции по переименованию директорий и восстановлению символьных ссылок только...

В целом операция довольно простая, при том явно проще чем для линукса
Просто создаем второго админа, логинимся под ним, в настройках меняем имя пользователя и путь к его домашней директории.
Проблемы могут возникнуть именно со вторым пунктом, когда понадобится переименовать директорию (эт надо сделать вручную).
У меня не хватило любопытства разобрать в том как это сделать, тк мне выбивало Permission denied даже под sudo и su.
Видимо есть еще доп права на эту операцию для вторичных админов.
Так что я просто при помощи su в терминале залогинился под главным пользователем, которому и меняю юзернейм и домашнюю директорию. И из под него с sudo переименовал его же директорию словив панику в консоле. (Самая высокая степень критичности ошибки)
Благо что паника не ядра, а каких-то консольных утилит 😂
Потом перепроверил - всё ок, задумка удалась. Директория переименована.
Заменил ему юзернейм и перезагрузил компьютер.

В целом на этом этапе 99% юзерам можно закончить.
Только вот есть один нюанс: этим юзерам не нужно переименовывать пользователя, а уж тем более менять путь домашней директории.
И скорее всего они даже не в курсе об их существовании, просто есть finder, файлы и, в лучшем случае они не называют «директории» - «папками» 🤓

Так вот в системе, особенно в инструментах разработки активно используются символьные ссылки.
И именно тут может крыться дьявол.
А дьявол, Как мы помним - в деталях.
Кто не знает что это такое - пингуем комментарии, сделаю опрос, и может попробую сжато рассказать.

Мы не только сменили имя пользователя, а и путь к его домашней директории.
И все ссылки, которые вели к её содержимому - с этого момента теперь битые.
А значит у нас перестанут работать множество утилит.

Из первого что приходит на ум, использующее символьные ссылки в своей работе:
yarn, n, кэши, poetry и множество других утилит
В них в первую очередь можно будет столкнуться с проблемами.

Так что пришлось применить знания, которые были получены в процессе пользования семейством линуксовых дистрибутивов:
Был собран список всех битых ссылок при помощи команды:

find . -type l ! -exec test -e {} \; -print > broken-symlinks.txt

Затем этот файл был прочтен и построчно перепроверен Python скриптом
Я не делал никакой унификации, чисто одноразовый проход мне нужен был, так что готового скрипта прикреплять не стану, в силу его отсутствия.
После перепроверки получившегося списка - я убедился что правильно помню как работать с pathlib
(как по мне один из лучших вариантов для работы с файловой системой, хотя бывает, в редких случаях, функционала не хватает)
Далее уже пошло как по маслу - собрал данные по ссылкам в переменные, добавил логов через принты, убедился что нет относительных ссылок, отфильтровал и удалил все битые ссылки что не связаны с заменой юзернейма, затем еще одним проходом сделал замену в реальном пути ссылки, попутно ее пересоздавая при помощи операции "удалить + создать" в том же цикле.

Как итог, я с уверенностью могу продолжить пользоваться системой, из изменений в которой - только имя пользователя и имя его домашней директории.
More from @cododel_dev
  1. Sep 30, 2026OpenAI: Мы порезали лимиты в 2 раза, и релизнули Dot ботов на Astra High Me: найди мем
  2. Sep 30, 2026Выехал из дома на велике Дорогу назад помню слабо. Единственный минус телефона по итогу -…
  3. Sep 21, 2026Ого какие вакансии бывают Больше удивлен что предложения на почти пустой линкдин приходят…
  4. Sep 15, 2026Все что нужно знать сегодня о “Работать будет только на английском” 😐
  5. Sep 15, 2026Post #1153
  6. Sep 14, 2026200 🤝 Всех новоприбывших обнял-приподнял Умного пока ничего не придумал, чем хотел бы сро…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →