28/05/2020
Давно не писал про различные полезные штучки при работе с MacOS. Недавно пришлось столкнуться с внешним жестким диском с файловой системой NTFS. Хочется затронуть в блоге тематику совместимости MacOS и NTFS. Если с различными разновидностями FAT, такими как FAT32, exFAT, операционная система для компьютеров Apple работает на «УРА», то с NTFS до сих пор наблюдаются определенные нюансы. При подключении внешнего диска, на котором используется NTFS, по умолчанию Вы можете только читать информацию с него без возможности записи. В последние несколько лет, откровенно говоря, надобности в работе с NTFS дисками не возникало. Однако, рано или поздно с тонкостями дзена NTFS на MacOS приходится сталкиваться всем ITшникам. Несколько полезных команд, которые могут пригодится при этом, собрал в статье блога.
Лайфхаки с NTFS в MacOS
Во-первых, обычно нужно установить дополнительный софт, который позволит полноценно работать с файловой системой NTFS. Я тут буду говорить об утилите ntfs-3g, которая может быть бесплатно использована. Есть и другие варианты — платные и бесплатные. Вариант с ntfs-3g мне видится наиболее оптимальным. Теоретически установить эту софтину можно несколькими способами. Можно, например, самим скомпилировать весь софт на комьютере, что потребует дополнительных усилий и знаний. В данной статье мы не будем углубляться в эти тернии, а выберем простейший путь. Используем менеджер пакетов Homebrew для этого. Если он у Вас еще не установлен, читаем как это сделать в статье — «Установка приложений через CLI в MacOS». Итак, установка ntfs-3g со всеми зависимыми пакетами производится с помощью следующих команд в консоли.
$ brew cask install osxfuse
$ brew install ntfs-3g
Если вдруг в процессе инсталляции пакета Вам нет необходимости обновлять весь репозитарий Homebrew на компьютере, можно выполнить следующую модицифированную команду, которая может сильно сэкономить время в ряде случаев.
$ HOMEBREW_NO_AUTO_UPDATE=1 brew install ntfs-3g
В результате успешного выполнения команды, Вы получите работающую утилиту, которая позволит Вам писать и читать с партиций NTFS.
Во-вторых, рассмотрим как монтировать внешний жесткий диск с файловой системой NTFS таким образом, чтобы на него можно было производить запись файлов. Для примера допустим, что к компьютеру уже подключен внешний хард с NTFS партицией. Выполним команду diskutil, часть вывода которой представлена ниже.
# diskutil list
.
.
.
/dev/disk3 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *1.0 TB disk3
1: Windows_NTFS My Disk. 1.0 TB disk3s1
После того, как мы узнали идентификатор NTFS партиции, проводим ее размонтирование и последующее монтирование с помощью утилиты ntfs-3g. Это будет выглядеть следующим образом.
# umount /dev/disk3s1
# mkdir /Volumes/NTFS
# /usr/local/bin/ntfs-3g /dev/disk3s1 /Volumes/NTFS -olocal -oallow_other
В результате выполнения команд получим примонтированный в папку /Volumes/NTFS внешний NTFS диск с возможностью как чтения, так и записи. Здесь я привел вариант ручного монтирования таких дисков. Есть еще и автоматический способ, позволяющий системе самой подключаться NTFS диски в режиме read-write. Однако, он крайне не рекомендован, так как отключает System Integrity Protection (SIP) в ОС.
В-третьих, хочу поделиться способом копирования на NTFS диск, когда он подключен правильно в MacOS с возможностью записи, но выходит ошибка о проблемах с разрешением. Я с этим столкнулся в процессе работы и думаю, что данная проблема возникла вследствие использования данного тома ранее на другом Макбуке. Копирование файлов ни через Finder, ни с помощью утилиты cp не дало положительного результата. Нашел на просторах интернета способ с использованием утилиты gcp. Ниже привожу пример копирования файла testfile.txt на раннее подмонтированную NTFS партицию.
# gcp --preserve=mode,timestamps /Users/andr/testfile.txt /Volumes/NTFS/testfile.txt
Заключение
Статья предназначена в первую очередь для любителей техники Apple, которые сталкиваются в своей работе с внешними дисками, отформатированными в MS Windows. Как много раз уже убеждался до этого, красивый графический интерфейс и легкость в работе с MacOS на первый взгляд будут недостаточными для каждодневного профессионального использования этой системы. Нужно обязательно залазить «под капот» операционки и крутить нужные рычаги вручную. В противном случае, диапазон Ваших возможностей на компьютерах Apple так и будет оставаться на низком уровне.