forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.MAC

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 16.11.2017, 15:55
Sergei Zhavoronkoff
Guest
 
Сообщений: n/a
По умолчанию ntfs-3g+FUSE из macports под Нigh Sierra

Sergei Zhavoronkoff написал(а) к All в Nov 17 14:43:52 по местному времени:

Привет, All!

Мало ли кому пригодится, столкнулся тут.

Для работы с ntfs ставил из портов опенсоурсный ntfs-3g, ибо покупать всякие там туксеры, и парагоны на основе того же ntfs-3g имхо неправильно.
(см. https://trac.macports.org/wiki/howto/Ntfs3gFinder)

Так вот, при установке ntfs-3g под high sierra (под предидущие все было ОК),
не собирается OSX Fuse:

sudo port install ntfs-3g

...скип...

---> Building osxfuse
Error: Failed to build osxfuse: command execution failed
Error: See /opt/local/var/macports/logs/opt_local_var_macports_sources_rsync.macports.org_macports_release_ta rballs_ports_fuseosxfuse/osxfuse/main.log for details.
Error: Unable to execute port: upgrade osxfuse failed

Причем можно его качнуть и установить из dmg, но это не помогает, macports все равно начинает его билдить.

Проблема, как я понял, в отсутсвии OSX10.13.xctoolchain в xcode 9.1 (может и не в этом :)
Решение: создать симмлинк с именем OSX10.13.xctoolchain на XcodeDefault.xctoolchain.
(см. https://trac.macports.org/ticket/54939)
После этого все ОК. Работает на эйре и на хаке.

Итак:

cd /Applications/Xcode.app/Contents/Developer/Toolchains
sudo ln -s XcodeDefault.xctoolchain OSX10.13.xctoolchain

sudo port install ntfs-3g
sudo mv /sbin/mountntfs /sbin/mountntfs.orig
sudo touch /sbin/mount_ntfs
sudo chmod 0755 /sbin/mount_ntfs
sudo chown 0:0 /sbin/mount_ntfs
sudo nano /sbin/mount_ntfs

Далее копипастим:
#!/bin/bash
VOLUME_NAME="${@:$#}"
VOLUMENAME=${VOLUMENAME#/Volumes/}
USER_ID=501
GROUP_ID=20
TIMEOUT=20
if [ `/usr/bin/stat -f "%u" /dev/console` -eq 0 ]; then
USERNAME=`/usr/bin/defaults read /Library/Preferences/com.apple.loginwindow | /usr/bin/grep autoLoginUser | /usr/bin/awk '{ print $3 }' | /usr/bin/sed 's/;//'`
if [ "$USERNAME" = "" ]; then
until [ `stat -f "%u" /dev/console` -ne 0 ] || [ $TIMEOUT -eq 0 ]; do
sleep 1
let TIMEOUT--
done
if [ $TIMEOUT -ne 0 ]; then
USER_ID=`/usr/bin/stat -f "%u" /dev/console`
GROUP_ID=`/usr/bin/stat -f "%g" /dev/console`
fi
else
USER_ID=`/usr/bin/id -u $USERNAME`
GROUP_ID=`/usr/bin/id -g $USERNAME`
fi
else
USER_ID=`/usr/bin/stat -f "%u" /dev/console`
GROUP_ID=`/usr/bin/stat -f "%g" /dev/console`
fi

/opt/local/bin/ntfs-3g \
-o volname="${VOLUME_NAME}" \
-o local \
-o negative_vncache \
-o auto_xattr \
-o auto_cache \
-o noatime \
-o windows_names \
-o user_xattr \
-o inherit \
-o uid=$USER_ID \
-o gid=$GROUP_ID \
-o allow_other \
"$@" &> /var/log/ntfsmnt.log

exit $?;

Затем CTRL-X, Y, ребут. И все работает).

ЗЫ. Естественно, предварительно нужно отключить sip.

С наилучшими пожеланиями, Sergei.

--- GoldED+/OSX 1.1.5-b20170303
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 22:35. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot