如何将 ntfs-3g 与自制软件链接?

Posted

技术标签:

【中文标题】如何将 ntfs-3g 与自制软件链接?【英文标题】:How to link ntfs-3g with homebrew? 【发布时间】:2015-10-22 21:14:59 【问题描述】:

如果这是在别处,请见谅,但我找不到。

我正在尝试在 OS X 10.11 (El Capitan) 上安装 NTFS-3G。

I am following the process at this link

但安装 NTFS-3G 的步骤报告:

$ brew install homebrew/fuse/ntfs-3g
Warning: homebrew/fuse/ntfs-3g-2015.3.14 already installed, it's just not linked

所以...

    我如何链接已安装的项目?

    完成后,如何完成安装过程?链接后“brew install ...”过程会做什么?

编辑: 跟随 bfontaine... 我明白了:

$ brew link homebrew/fuse/ntfs-3g                                
Linking /usr/local/Cellar/ntfs-3g/2015.3.14... 
Error: Could not symlink share/doc/ntfs-3g/README
Target /usr/local/share/doc/ntfs-3g/README
already exists. You may want to remove it:
  rm '/usr/local/share/doc/ntfs-3g/README'

To force the link and overwrite all conflicting files:
  brew link --overwrite ntfs-3g

To list all files that would be deleted:
  brew link --overwrite --dry-run ntfs-3g
$ brew link --overwrite homebrew/fuse/ntfs-3g
Linking /usr/local/Cellar/ntfs-3g/2015.3.14... 
Error: Could not symlink share/doc/ntfs-3g/README
/usr/local/share/doc/ntfs-3g is not writable.

我会掉进坑里吗?如果我 brew uninstall 会清理所有内容,还是必须手动清理?

这里越来越乱了……

编辑2: brew link --overwrite --dry-run 的输出是:

$ brew link --overwrite --dry-run homebrew/fuse/ntfs-3g
Would remove:
/usr/local/include/ntfs-3g/acls.h
/usr/local/include/ntfs-3g/attrib.h
/usr/local/include/ntfs-3g/attrlist.h
/usr/local/include/ntfs-3g/bitmap.h
/usr/local/include/ntfs-3g/bootsect.h
/usr/local/include/ntfs-3g/cache.h
/usr/local/include/ntfs-3g/collate.h
/usr/local/include/ntfs-3g/compat.h
/usr/local/include/ntfs-3g/compress.h
/usr/local/include/ntfs-3g/debug.h
/usr/local/include/ntfs-3g/device.h
/usr/local/include/ntfs-3g/device_io.h
/usr/local/include/ntfs-3g/dir.h
/usr/local/include/ntfs-3g/ea.h
/usr/local/include/ntfs-3g/efs.h
/usr/local/include/ntfs-3g/endians.h
/usr/local/include/ntfs-3g/index.h
/usr/local/include/ntfs-3g/inode.h
/usr/local/include/ntfs-3g/ioctl.h
/usr/local/include/ntfs-3g/layout.h
/usr/local/include/ntfs-3g/lcnalloc.h
/usr/local/include/ntfs-3g/logfile.h
/usr/local/include/ntfs-3g/logging.h
/usr/local/include/ntfs-3g/mft.h
/usr/local/include/ntfs-3g/misc.h
/usr/local/include/ntfs-3g/mst.h
/usr/local/include/ntfs-3g/ntfstime.h
/usr/local/include/ntfs-3g/object_id.h
/usr/local/include/ntfs-3g/param.h
/usr/local/include/ntfs-3g/realpath.h
/usr/local/include/ntfs-3g/reparse.h
/usr/local/include/ntfs-3g/runlist.h
/usr/local/include/ntfs-3g/security.h
/usr/local/include/ntfs-3g/support.h
/usr/local/include/ntfs-3g/types.h
/usr/local/include/ntfs-3g/unistr.h
/usr/local/include/ntfs-3g/volume.h
/usr/local/include/ntfs-3g/xattrs.h
/usr/local/share/man/man8/mkfs.ntfs.8 -> /usr/local/share/man/man8/mkntfs.8
/usr/local/share/man/man8/mkntfs.8
/usr/local/share/man/man8/mount.lowntfs-3g.8 -> /usr/local/share/man/man8/ntfs-3g.8
/usr/local/share/man/man8/mount.ntfs-3g.8 -> /usr/local/share/man/man8/ntfs-3g.8
/usr/local/share/man/man8/ntfs-3g.8
/usr/local/share/man/man8/ntfs-3g.probe.8
/usr/local/share/man/man8/ntfs-3g.secaudit.8
/usr/local/share/man/man8/ntfs-3g.usermap.8
/usr/local/share/man/man8/ntfscat.8
/usr/local/share/man/man8/ntfsclone.8
/usr/local/share/man/man8/ntfscluster.8
/usr/local/share/man/man8/ntfscmp.8
/usr/local/share/man/man8/ntfscp.8
/usr/local/share/man/man8/ntfsfix.8
/usr/local/share/man/man8/ntfsinfo.8
/usr/local/share/man/man8/ntfslabel.8
/usr/local/share/man/man8/ntfsls.8
/usr/local/share/man/man8/ntfsprogs.8
/usr/local/share/man/man8/ntfsresize.8
/usr/local/share/man/man8/ntfsundelete.8
/usr/local/lib/libntfs-3g.86.dylib
/usr/local/lib/libntfs-3g.a
/usr/local/lib/libntfs-3g.dylib -> /usr/local/lib/libntfs-3g.86.dylib
/usr/local/lib/pkgconfig/libntfs-3g.pc
$ 

但即使在 'brew uninstall...' 之后,目录 /usr/local/include/ntfs-3g 仍然存在

【问题讨论】:

brew link --overwrite --dry-run ntfs-3g 的输出是什么? 再次...更新...感谢您的帮助... 你能运行sudo chown -R $(whoami):admin /usr/local然后再试一次brew link --overwrite ntfs-3g吗? 是的 - 我已经 sudo chmod 777 并重新运行 - 现在看起来还可以(我放回 755 并重新启动 - 现在看看是否一切正常 安装了 3TB WD iBook,一切似乎都很好 - 可以读写。仍然很好奇为什么 /usr/local/include/ntfs-3g 对我来说只有 755 (我只在较低的 ntfs-3g 文件夹中进行了 chmod'd - 不是整个 /usr/local/ !!)。也许从我升级到 El Capitan (10.11) 之前开始?不过,这很奇怪 【参考方案1】:

使用brew link homebrew/fuse/ntfs-3g


这里更进一步是这里相关的常用命令:

brew install <formula>   # install (and link) the formula
brew unlink <formula>    # unlink the formula
brew link <formula>      # link the formula
brew uninstall <formula> # uninstall (and unlink) the formula

要理解这一点,您需要知道当 Homebrew 安装公式foo 版本1.2.3 时,它会安装/usr/local/Cellar/foo/1.2.3/ 下的所有内容,然后符号链接/usr/local/bin 中的所有二进制文件; /usr/local/share/man 下的所有联机帮助页;等等。这意味着/usr/local/bin/something不是二进制文件,而是相关二进制文件的符号链接(例如/usr/local/Cellar/foo/1.2.3/bin/something)。 有时二进制文件会相互冲突。例如,mysqlmariadb 都提供了一个 mysql 二进制文件。 Homebrew 将无法同时链接两者,因此它允许您安装一个;取消链接;然后安装另一个。这样你就可以在你的系统上同时拥有这两者而不会发生冲突。

【讨论】:

请查看我更新后的问题以及您的建议结果。 Arrrggg...现在每次我连接驱动器时,名称每次都会增加一 (1)...。如何让它以旧名称重新安装? 链接 /usr/local/Cellar/ntfs-3g/2017.3.23... 错误:无法符号链接 sbin/mkntfs /usr/local/sbin 不可写。

以上是关于如何将 ntfs-3g 与自制软件链接?的主要内容,如果未能解决你的问题,请参考以下文章

Red Hat 挂载 ntfs 文件格式

NTFS-3g安装与使用(新新手)

CentOS安装NTFS-3G读写Windows 10的移动NTFS磁盘

Centos如何访问本地硬盘的NTFS分区

centos7(linux)挂载ntfs格式的移动硬盘(转载)

linux 如何挂载移动硬盘