Похоже, что Finder рекурсивно не применяет флаг Locked (или изменения разрешений в диалоге Get Info ) для всего пакета. Если это то, что вам регулярно нужно, вы можете заняться написанием сервиса для следующих предложений, так что вы можете сделать это из Finder вместо терминала.
Вы можете удалить разрешения на запись для пакета в командной строке, выполнив chmod
:
chmod -R a-w
Введите эту команду (включая завершающий пробел), затем перетащите значок разреженного комплекта в окно терминала. Это должно выглядеть так, в зависимости от имени вашего разреженного комплекта и места его хранения:
chmod -R a-w /path/to/container.sparsebundle
Запустите, chmod -R u+w /path/to/container.sparsebundle
чтобы снова получить разрешения на запись. Эти команды могут занять некоторое время для больших разреженных пакетов.
Кроме того, вы можете установить флаг блокировки для всех файлов в пакете, выполнив команду chflags
:
chflags -R uimmutable /path/to/container.sparsebundle
Чтобы вернуться, беги chflags -R nouimmutable /path/to/container.sparsebundle
.
Вы также можете всегда монтировать пакет только для чтения, чтобы только временно предотвратить изменения. Для этого запустите в Терминале следующее:
hdiutil attach /path/to/container.sparsebundle -readonly
Обратите внимание, что вам нужно всегда монтировать его таким образом, чтобы предотвратить изменения.
Если вы можете терпеть образ, используя точку монтирования, отличную от обычной, вы можете запустить настройку системы, чтобы всегда монтировать этот образ только для чтения.
Сначала определите громкость UUID. Смонтируйте разреженный комплект и запустите diskutil list
в командной строке. Найдите запись с тем же именем, что и ваш том, например:
/dev/disk8 #: TYPE NAME SIZE IDENTIFIER 0: Apple_partition_scheme *102.4 MB disk8 1: Apple_partition_map 32.3 KB disk8s1 2: Apple_HFS Disk Image 102.4 MB disk8s2
В этом примере том отображается как «Образ диска» в Finder. Обратите внимание на идентификатор справа ( disk8s2
). Вам необходимо ввести его для следующей команды после /dev/
:
diskutil info /dev/disk8s2
Найдите строку, начинающуюся с тома UUID, и запишите ее значение справа, напримерD7C6180C-2178-32EF-98E6-7FB71AED2ABC
Теперь нам просто нужно создать собственную точку монтирования. Обычно каждый том монтируется /Volumes
, но эти точки монтирования удаляются при размонтировании, и следующая попытка монтирования тома, на который есть ссылки, fstab
завершится неудачей, поскольку точка монтирования не существует. Так что просто создайте папку с именем «Image» в вашем домашнем каталоге.
Теперь мы можем OS X всегда монтировать его только для чтения. В терминале запустите sudo vifs
и введите свой пароль. Я предполагаю, что вы достаточно знакомы с vi
/ vim
, если нет, сейчас самое время прочитать об этом.
Добавьте строку, подобную следующей, заменив правильные значения для UUID и точки монтирования, применимые к вашей системе:
UUID=D7C6180C-2178-32EF-98E6-7FB71AED2A56 /Users/danielbeck/Image hfs ro
Затем сохраните и закройте. Теперь вы можете смонтировать образ двойным щелчком, он появится в Finder и будет доступен только для чтения.