#1
|
|||
|
|||
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 |