Недавно я перешёл на криптование домашнего каталога через FileVault, до этого проанализировав вопрос в статьях ”Влияние FileVault на производительность файловых операций” и ”Производительность FileVault при параллельной файловой активности”. Результаты были хороши. Реальное же использование криптования слегка подкорректировало моё мнение - да, с включённым FileVault система работает при определённых операциях медленнее.
В итоге я понял, что большинство моих данных не настолько секретно, а действительно приватные данные можно скрыть в закриптованном образе Sparse Bundle, и жертвовать производительностью ради секретности для меня смысла нет.
Для того, чтобы упростить обратную конвертацию, я решил вынести самые большие каталоги временно из домашнего каталога. Привычный алгоритм выглядел просто - перенести Music, Photos, Videos, а дальше запустить консоль и, итеративно запуская “du -ks * | sort -rn”, найти оставшихся пожирателей дискового пространства.
$ cd ~ $ du -ks * | sort -rn 9155148 Library 4267588 Documents 546600 Dropbox 340496 Music 7712 Woopra 100 bin ... $ cd Library $ du -ks * | sort -rn ...
Этот метод хорош. Но он не из разряда “Mac Way”. И тут я вспомнил о программе DaisyDisk, которая является по сути красивой заменой приведённому выше процессу. Программа платная, стоит $19.95, но для разового поиска можно использовать программу в триальном режиме. Программа хорошая, и я её купил, зная, что она не раз мне ещё пригодится.
Немного пройдусь по функциям DaisyDisk в приложении к моей задаче. Стартовая точка - выбор диска или каталога, который нужно проанализировать:
Вы видите, почему я занялся переносом - на диске осталось мало места, и провести конвертацию домашнего каталога мне вряд ли удалось. Результат работы:
Можно спускаться в любой каталог и смотреть, что же занимает столько места, причём, в отличие от “du -ks *”, не нужно хранить результаты сканирования предыдущих каталогов. При наведении на каталог его графическое представление начинает мерцать.
Представляется весь диск. Внутреннее кольцо - каталоги относительно корневого, дальше идут дочерние. Например, можно пройтись по кругам, выявляя, что же занимает больше всего места.
Круг первый:
Круг второй:
Круг третий:
На уровне файлов можно запустить Preview, нажав пробел:
Да, я опечатался, написав “Треккинг в Непала”, хочется добавить в стиле юмористов “начАльника”. Но перерендерить фильм руки не доходят, тем более, что он только для себя и друзей.
Чтобы перейти на файл или каталог в Finder, достаточно нажать ” ⌘ + Click”, и по месту решить, что делать с объектом - удалять или нет:
Если какие-то каталоги недоступны для пользователя, то их просканировать можно, включив режим “Суперпользователя”:
DaisyDisk сканирует быстро весь диск. Как она это делает? Нет, она не делает это очевидным образом через проход по дереву. Она использует псевдокаталог /.vol, в котором анализирует inode:
open:entry DaisyDisk /.vol/234881026/9058507 open:entry DaisyDisk /.vol/234881026/9058511 open:entry DaisyDisk /.vol/234881026/8746896 open:entry DaisyDisk /.vol/234881026/9031043
В /.vol первое число обозначает Volume ID (идентификатор файловой системы), а второе - inode файла. А вот траверс файловой системы на базе inode - это отдельный вопрос.
$ ls -al /.vol/234881026/9058507 total 0 drwx------ 3 ctrld wheel 102 Feb 18 08:58 . drwxrwxrwt 27 root wheel 918 Feb 18 17:54 .. srwx------ 1 ctrld wheel 0 Feb 18 08:58 Render
Следствие этого механизма сканирования: выполнить нахождение больших файлов внутри каталога FileVault текущего пользователя программа не может, она отображает его как обычный SparseBundle.
Однако решение есть - нужно просканировать не диск, а конкретный каталог, в итоге его содержимое будет проанализировано:
Программа проста, но тем не менее полезна. На мой взгляд она стоит каждого доллара из $19.95. Рекомендую.