- для чего ЭТО? Это чтобы на флешке, записанной на маке не было ненужных файлов, от которых Вында, телеки и медиа плееры входят в ступор.
------
1) Получаем привилегии суперпользователя. Для этого запускаем Терминал, вводим комманду:
sudo -s
И нажимаем Enter. Появится сообщение Password: — вводим пароль администратора (он вобще никак не отображается) и снова нажимаем Enter. В консоли должна появится приветственная строка bash-3.2# — теперь мы работаем от лица суперпользователя, поэтому будем предельно внимательны!
2) Переименовываем демон umount (отвечает за демонтирование разделов) в umount_orig. Вводим команду:
mv /sbin/umount /sbin/umount_orig
Жмём Enter.
3) На месте демона umount создаём скрипт-враппер, который будет очищать внешние накопители от файлов .DS_Store, ._AppleDouble, а так же папок .fseventsd, .Spotlight-V100, .TemporaryItems и .Trashes. Вводим команду:
nano /sbin/umount
Жмём Enter и попадаем в консольный текстовый редактор nano.
4) Теперь копируем один из нижеприведённых скриптов (на выбор) и вставляем его в окно Терминала: перый — с отключенной поддержкой чистки на разделах с файловой системой NTFS, второй — с включенной поддержкой чистки на NTFS разделах.
Скрипт без поддержки NTFS:
#!/bin/sh
LOGS='DriveCleaner'
(
FSTYPE=`diskutil info "
[email protected]" | sed 's/ //g' | grep '^Type' | cut -d':' -f2`
READONLY=`diskutil info "
[email protected]" | sed 's/ //g' | grep "Read-OnlyVolume" | cut -d':' -f2`
if [ "$FSTYPE" = "msdos" ]; then
echo "Type of filesystem on
[email protected] is ${FSTYPE}"
echo "Cleaning
[email protected]"
echo "Delete next files and folders:"
rm -Rf "
[email protected]"/autorun.inf
find "
[email protected]" -depth -name 'Thumbs.db' -print -exec /bin/rm -rf {} \;
find "
[email protected]" -depth -name '.[^.]*' -print -exec /bin/rm -rf {} \;
elif [ "$FSTYPE" = "exfat" ]; then
echo "Type of filesystem on
[email protected] is ${FSTYPE}"
echo "Cleaning
[email protected]"
echo "Delete next files and folders:"
rm -Rf "
[email protected]"/autorun.inf
find "
[email protected]" -depth -name 'Thumbs.db' -print -exec /bin/rm -rf {} \;
find "
[email protected]" -depth -name '.[^.]*' -print -exec /bin/rm -rf {} \;
elif [ "$FSTYPE" = "ntfs" ]; then
echo "System use Native Mac OS X NTFS Driver"
if [ "$READONLY" = "No" ]; then
echo "The NTFS filesystem on
[email protected] in Read/Write mode,"
echo "but Cleaning function disabled by user."
else
echo "The NTFS filesystem on
[email protected] is Read only"
fi
elif [ "$FSTYPE" = "ufsd_NTFS" ]; then
echo "System use Paragon NTFS Driver"
if [ "$READONLY" = "No" ]; then
echo "The NTFS filesystem on
[email protected] in Read/Write mode,"
echo "but Cleaning function disabled by user."
else
echo "The NTFS filesystem on
[email protected] in Read only mode"
fi
else
echo "Waiting to umount..."
fi
echo "Unmount
[email protected]"
echo "All Done!"
) | logger -s -t $LOGS
/sbin/umount_orig "
[email protected]"
Скрипт с поддержкой NTFS:
#!/bin/sh
LOGS='DriveCleaner'
(
FSTYPE=`diskutil info "
[email protected]" | sed 's/ //g' | grep '^Type' | cut -d':' -f2`
READONLY=`diskutil info "
[email protected]" | sed 's/ //g' | grep "Read-OnlyVolume" | cut -d':' -f2`
if [ "$FSTYPE" = "msdos" ]; then
echo "Type of filesystem on
[email protected] is ${FSTYPE}"
echo "Cleaning
[email protected]"
echo "Delete next files and folders:"
rm -Rf "
[email protected]"/autorun.inf
find "
[email protected]" -depth -name 'Thumbs.db' -print -exec /bin/rm -rf {} \;
find "
[email protected]" -depth -name '.[^.]*' -print -exec /bin/rm -rf {} \;
elif [ "$FSTYPE" = "exfat" ]; then
echo "Type of filesystem on
[email protected] is ${FSTYPE}"
echo "Cleaning
[email protected]"
echo "Delete next files and folders:"
rm -Rf "
[email protected]"/autorun.inf
find "
[email protected]" -depth -name 'Thumbs.db' -print -exec /bin/rm -rf {} \;
find "
[email protected]" -depth -name '.[^.]*' -print -exec /bin/rm -rf {} \;
elif [ "$FSTYPE" = "ntfs" ]; then
echo "System use Native Mac OS X NTFS Driver"
if [ "$READONLY" = "No" ]; then
echo "The NTFS filesystem on
[email protected] in Read/Write mode"
echo "Cleaning
[email protected]"
echo "Delete next files and folders:"
rm -rf "
[email protected]"/.fseventsd
rm -rf "
[email protected]"/.TemporaryItems
rm -rf "
[email protected]"/.Spotlight-V100
rm -rf "
[email protected]"/.Trashes
rm -rf "
[email protected]"/autorun.inf
find "
[email protected]" -depth -name 'Thumbs.db' -print -exec /bin/rm -rf {} \;
find "
[email protected]" -depth -name ".DS_Store" -print -exec /bin/rm -rf {} \;
find "
[email protected]" -depth -name "._*" -print -exec /bin/rm -rf {} \;
else
echo "The NTFS filesystem on
[email protected] is Read only"
fi
elif [ "$FSTYPE" = "ufsd_NTFS" ]; then
echo "System use Paragon NTFS Driver"
if [ "$READONLY" = "No" ]; then
echo "The NTFS filesystem on
[email protected] in Read/Write mode"
echo "Cleaning
[email protected]"
echo "Delete next files and folders:"
rm -rf "
[email protected]"/.fseventsd
rm -rf "
[email protected]"/.TemporaryItems
rm -rf "
[email protected]"/.Spotlight-V100
rm -rf "
[email protected]"/.Trashes
rm -rf "
[email protected]"/autorun.inf
find "
[email protected]" -depth -name 'Thumbs.db' -print -exec /bin/rm -rf {} \;
find "
[email protected]" -depth -name ".DS_Store" -print -exec /bin/rm -rf {} \;
find "
[email protected]" -depth -name "._*" -print -exec /bin/rm -rf {} \;
else
echo "The NTFS filesystem on
[email protected] in Read only mode"
fi
else
echo "Waiting to umount..."
fi
echo "Unmount
[email protected]"
echo "All Done!"
) | logger -s -t $LOGS
/sbin/umount_orig "
[email protected]"
Для сохранения скрипта нажимаем комбинацию клавиш Ctrl ? + O, а потом Enter. Теперь нажимаем Ctrl ? + X для того чтоб выйти из текстового редактора nano. Скрипт создан.
5) Назначаем созданному скрипту правильные права доступа и атрибуты. Вводим команду:
chown root:wheel /sbin/umount; chmod 555 /sbin/umount
Все, теперь при извлечении флешки на ней не будет не нужной груды файлов, на которых например телек виснет при проигрываниие кино
Огромное спасибо тому кто ЭТО написал. Я Это сдул откуда-то, но чтобы не потерять написал здесь.
Всегда!