前言
有位客户需要读取之前从Linux服务器中拷贝出来的文件,但是Linux使用的是Ext4的磁盘格式,而MacOS并不支持读取这个格式的文件,因此需要借助其他的软件来实现读取(写入是不要想了,出于数据安全性考虑也不要写)。
安装ext4fuse
准备brew
ext4fuse可以通过源码编译安装,但是更方便的是通过brew安装,用Mac的小伙伴如果喜欢折腾的话应该已经装上了吧?
没安装的话,打开Terminal(终端),在命令行中输入以下命令后回车:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
根据提示输入密码或者按回车键,完成安装后你会看到上图的内容。
安装osxfuse
还是在Terminal里,输入以下命令后回车:
brew cask install osxfuse
根据提示输入密码或者按回车键,完成安装后你会看到上图的内容。
重启电脑。
安装ext4fuse
重启后继续进行安装,打开Terminal,输入以下命令后回车:
brew install ext4fuse
根据提示输入密码或者按回车键,完成安装后你会看到上图的内容。
安装完成!
如果碰到问题的话,尝试在命令前加上sudo,并且根据提示输入密码。
挂载ext4盘
测试ext4fuse
完成安装之后先测试一下是否可以正常使用ext4fuse,打开Terminal,输入以下命令后回车:
ext4fuse
应该能得到ext4fuse的版本号信息,如:
Version: ext4fuse-0.1.3 Usage: ext4fuse
获取磁盘设备路径
在Terminal中输入一下命令后回车:
diskutil list
能看到挂载在Mac上的所有磁盘,找到自己要读取的那个ext4磁盘,记住编号,例如我们这边挂载的是disk2。
创建挂载点并挂载
首先创建挂载点,还是在Terminal里,输入以下命令并回车(最好直接新打开一个Terminal,这样默认路径是用户的根目录):
mkdir mount_dir
注意!不要用sudo,本文中其他命令都可以加sudo,这个不要加,否则还有权限问题(懒得解释)....
然后在Terminal里输入以下命令后回车(替换掉X之后,例如我这里是disk2):
sudo ext4fuse /dev/diskX mount_dir -o allow_other
根据提示输入密码即可。
挂载完成!
然后打开Finder(访达),在自己的根目录下找到mount_dir文件夹,打开即可读取里面的文件。