Як я танцював по Мак-граблях

Читачі твіттера знають за моїми стогонів, що минулого тижня у мене щось там таке зламалося в Маке, що я довго не міг полагодити. Поспішаю поділитися, що проблему я все-таки вирішив 5 днів по тому, і, думаю, це стане в нагоді не тільки мені. Зрозуміло, буде не зайвим сказати, що на проблему я "настав" на бета-версії macOS Sierra, так що я навіть не сильно здивувався, але дивно було бачити, що мені не допомагало навіть відновлення з бекапів. Але про все по порядку.
Захотілося мені дивного - розблокувати Мак за допомогою Apple Watch (є така фішка у macOS Sierra), з'явилася в другій беті. Однак, виявилося, що для цього потрібно активувати двухфакторную авторизацію на акаунті Apple ID. До цього я досить давно вже використовував двоетапну авторизацію , І для мене було сюрпризом те, що ці дві штуки відрізняються. Колись давно я виявив, що є дві різні технології перевірки, але оскільки двоетапна працювала і цілком мене влаштовувала, я якось не заглиблювався в порівняння і мені було все одно. А тут виявилося, що для підтримки розблокування Apple Watch потрібна саме двухфакторая авторизація. Ну раз треба, то треба, я пішов відключати одну і включати іншу.

У мене це навіть вийшло - там треба було зробити якісь дії в онлайні для того, щоб один сервіс деактивовано, і другий активізувався, але я впорався, і комп'ютер після цього навіть працював. Правда, розблокування за допомогою Apple Watch у MacBook Pro все одно не запрацювала - тепер система говорила, що їй не вдалося підключитися до годинника (або вони заблоковані); при цьому на MacBook вона заробила. До речі, працює вона поки що не так, як я очікував - я припускав миттєву розблокування, але поки що при відкритті комп'ютера я спостерігаю "ромашку" з текстом Unlocking computer - я б швидше пароль набрав. Часу розбиратися не було особливо, все одно я останнім часом більше робочим комп'ютером користуюся. Але тут я зробив рестарт MacBook Pro, звично ввів пароль ... і знову побачив логін-екран. "Не зрозумів", подумав я, і ще раз ввів пароль, і ще раз побачив логін-екран. На вулиці йшов четвер, дощ і рота солдатів.
Коротше, моя учетка на комп'ютері відмовлялася логінитися після введення пароля, викидаючи мене назад на логін-скрін. При цьому друга учетка на комп'ютері залогінитися могла, але якщо я намагався ввійти звідти в свою учетку, комп'ютер застрявав на нескінченному обертанні "ромашкою". Завантаження в recovery mode і швидка допомога диску не допомогла, завантаження в safe boot теж не допомагала. Трохи посмикати ще, я вирішив, що не дарма ж у мене є бекапи, і пора вже відновитися з Time Machine. Так і бути, подумав я, понеслася - і процес, який займає приблизно 10 годин, понісся. У п'ятницю вранці я прийшов до свежевосстановленному комп'ютера, який привітав мене знайомим логін-екраном, ввів пароль свого користувача ... і ви вгадали! Знову те ж саме - логін-екран. "А ось це вже неприємно, подумав я", але вирішив, що бекап, з якого я відновився, якимось чином опинився зробленим вже після того, як я ніс зміни з системою авторизації, і те, що зламалося, потрапило в нього все одно.
Я перевстановив начисто систему, поборовся трохи з заглючила апдейтами (чомусь апдейт з другої бети на третю не хотів закачуватимуться), і вирішив відновитися з бекапів TimeMachine вже точно за ранок четверга, щоб точно без проблем. Вгадайте, що було після відновлення? Правильно, вгадали. Тому я вирішив відновити систему з бекапів ЩЕ РАЗ, тепер уже з бекапу за середу, в надії, що вже тепер-то точно все буде добре. Трохи довелося поборотися з Migration Assistant, який відмовлявся показувати бекапи з Time Machine, тому довелося завантажитися в Recovery Mode і запускати відновлення звідти. Правда, я вже майже був готовий до того, що система відмовиться логінитися і з цього бекапу, тому що fuck you that's why. Йти в Apple Store з такою проблемою було б дивно, там в Genius Bar з бета-версіями систем зазвичай посилають подалі (хоча, напевно, зараз при наявності public beta, може, і простіше ставлення). Так і сталося - відновлення не допомогло. Далі були вихідні, коли я майже не бував у комп'ютера, і нарешті-то в неділю у мене дозрів новий план: забити на бекап Time Machine, поставити систему начисто і вручну накидати файліки з різних бекапів, що у мене є (крім TimeMachine, у мене ще є зовнішній диск, на який я приблизно раз на місяць клонують систему - про всяк випадок. на ньому якраз був бекап приблизно місячної давності, на жаль), ну і файли з комп'ютера мені теж вдалося витягнути (там все було доступно при завантаженні з зовнішнього диска, проблема була тільки в логіні).
Коротше, в неділю ввечері я поставив нову систему і почав потроху копіювати на диск дані. Шкода було, звичайно, часу, яке на все це йде, але, думав я, зате "життя" з нового аркуша, так що норм. Мене тільки турбував той факт, що я так і не зрозумів, де була проблема, і що ця загадка залишиться для мене нерозгаданою (забігаючи вперед, скажу, що BE CAREFUL WHAT YOU WISH FOR). У понеділок я більш-менш накидав назад файли - додатки, документи, настройки з призначеної для користувача директорії, зробив перезавантаження комп'ютера і ... думаю, навіть самі недогадливості в цьому місці вже зрозуміли, що після введення пароля на логін-екрані я зіткнувся все з тією ж проблемою - комп'ютер повертався на поле введення пароля. "" Так, важко починається тиждень ", подумав Штірліц". Стало зрозуміло, що проблема точно криється в файлах, які я закинув сьогодні в ~ / Library / (хоча про це варто було б здогадатися раніше, враховуючи, що другий користувач міг логінитися нормально), і я в пориві люті викинув звідти одним махом майже все, більш-менш має відношення до логіну користувача. Загалом, не дивно, але після цього мені вдалося залогінитися цим користувачем в систему. Значить, проблема десь серед цих файлів, залишилося знайти винуватця.
А раз так, то можна взяти ще раз відновлену систему і експериментувати вже на ній. Я ще раз запустив відновлення з Time Machine, почекав 10 годин (весь цей час я, зрозуміло, сидів біля комп'ютера і гіпнотизував прогрес-бар, щоб він швидше біг), і переконався, що проблема нікуди не пішла - логін-скрін - пароль - логін-скрін. Після відновлення я завантажився з зовнішнього диска і почав уважно вивчати вміст ~ / Library / на предмет головних підозрюваних. З огляду на, що проблеми почалися після маніпуляцій з Apple ID і методом авторизації, я припустив, що проблема може бути в ~ / Library / Keychains /, тому я заархівувати вміст цієї папки, оригінали видалив і зробив перезапуск.
Читачі твіттера знають за моїми стогонів, що минулого тижня у мене щось там таке зламалося в Маке, що я довго не міг полагодити
Я зміг увійти до свого облікового запису! Природно, система злегка офігела від відсутності зв'язки ключів і накинулася на мене з купою питань про паролі. У Keychain Access я додав старий файл login.keychain, призначив його зв'язкою за замовчуванням, і системі відразу полегшало. Що ж це було? Якщо просто пошкодився файл Keychain, то тоді відновлення з бекапів Time Machine мало б вирішувати проблему, проте, цього не сталося. Чесно кажучи, відтворювати проблему ще разок мені не дуже хочеться, але в цілому я підозрюю, що в момент перемикання механізмів авторизації в зв'язці між учеткой iCloud і keychain cвет з Венери відбився від верхніх шарів атмосфери і викликав вибух болотного газу, що призвело до перманентної блокування входу. Відповідно, коли відбувалося відновлення з бекапа, ця "зчіпка" учеткі iCloud і keychain якимось чином активізувалася знову і приносила мені додаткові хвилюючі переживання. На систему із зовнішнім диском, де була клонована копія macOS beta 2, це не впливало, на щастя. Насамперед після відновлення я а) перевірив, що після рестарту все працює, і б) запустив новий бекап на зовнішній диск - без нього було гірше.
PS Я пам'ятаю, що в твіттері були люди, які скаржилися, що у них зустрічається схожа проблема з викиданням користувача на логін екран після входу. Сподіваюся, рекомендація з маніпуляціями файлом keychain їм допоможе. Ну і бекапи рулять!
PPS Зараз-то, заднім розумом, я згадую, що проблеми з кейчейном у мене потроху стріляли на першій і другій бетах, а тут, мабуть, бабахнуло вже.
PPPS Все одно не можу охопити розумом той факт, що навіть після відновлення з Time Machine проблема відтворювалася, навіть якщо це точно був бекап, зроблений ДО маніпуляцій з системами верифікації.

Вгадайте, що було після відновлення?
Що ж це було?