Очистка ~/ Library / Keychains: как я удалил 1.6 млн файлов и спас свой Mac
😳 300 ГБ и 1,6 миллиона файлов?! Это уже не просто временные остатки — это натуральный keychain-апокалипсис. Как очистить папку Keychain в Библиотеке файлов на Mac (у меня m3 проц, но думаю это баг нынешней OS "Секвойя")

Очистка login.keychain-db.sb-* файлов в macOS: подробная инструкция
В macOS в папке ~/Library/Keychains могут накапливаться временные файлы вида login.keychain-db.sb-*. В норме таких файлов немного, но в некоторых случаях система создаёт сотни тысяч или даже миллионы таких записей. (О причинах мне еще предстоит узнать)
В моём случае таких файлов накопилось 1,6 миллиона, и они занимали около 300 ГБ на SSD. Причина точно неизвестна, но, скорее всего, это связано с багом в связке ключей, повреждённым аккаунтом macOS или сбоями синхронизации iCloud.


Если при ручном удалении этих файлов возникают ошибки вроде этой:
Permission denied
zsh: argument list too long
— не пугайтесь. Вот рабочее решение.
Шаг 0: отключите SIP (System Integrity Protection)
macOS по умолчанию защищает системные файлы. Чтобы работать с файлами Keychain напрямую, нужно отключить SIP.
1. Перезагрузите Mac в Recovery Mode:
• Удерживайте Command (⌘) + R при запуске, или просто до изнеможения держите кнопку включения.
2. Откройте Terminal, верхнем меню найдете.
3. Введите:
csrutil disable
Если не сработает, значит нужно повторить вход в "Режим Восстановления"(у меня получилось отключить SIP с третьего раза, еще включал профиль разработчика и понижал уровень защиты, эт тоже делается в Recovery Mode)
4. Перезагрузите систему(тоже команда в терминале):
reboot
После перегрузки можно зайти в обычный (повседневный) профиль на Mac и делать все из него
Очистка
1. Перейдите в папку Keychains(в любом терминале, использую iTerm, привык к нему):
cd ~/Library/Keychains
2. Снимите защитные флаги с файлов:
sudo find . -iname "login.keychain-db.sb-*" -exec chflags noschg,nouchg,norestricted {} \;
3. Выдайте права на удаление:
sudo find . -iname "login.keychain-db.sb-*" -exec chmod u+w {} \;
4. Удалите файлы по одному (чтобы избежать ошибок):
sudo find . -iname "login.keychain-db.sb-*" -exec rm -v {} \;
(Опционально, но лучше включить) Включите SIP обратно:
csrutil enable
Заключение
Если вы заметили, что в ~/Library/Keychains или вообще в разделе "Данные системы" в Настройках стало подозрительно много файлов — обязательно проверьте на наличие login.keychain-db.sb-*. В запущенных случаях они могут занимать гигабайты места и замедлять работу системы.