在一个交付项目中,客户将硬盘插到了服务器上,然后通知我们自己挂载盘读取数据。

mount挂盘

通过 fdisk -l 可以查看客户插上来的硬盘
image.png

mount 磁盘设备 本地路径 尝试挂盘

image.png

发现磁盘的格式是ntfs的,操作系统无法识别ntfs格式。

网上查了一下,需要先安装 NTFS-3G 插件,然后 mount -t ntfs-3g 磁盘设备 本地路径,才能挂载。

通过 rpm 包安装 NTFS-3G 插件

如果有网络的话,可以直接 yum -y install ntfs-3g 来安装插件。 所以离线环境下,我首先考虑了将 rpm 包下载后上传到机器上进行安装。

在一台有网络的机器上

1
#查看ntfs-3g依赖的包
yum deplist ntfs-3g
# 方法一:通过repotrack下载依赖包,这种方式会递归下载全量依赖
yum -y install yum-utils
repotrack ntfs-3g
# 方法二:yumdownloader下载依赖包,这种方式只会下载直接依赖包
yum -y install yum-utils
yumdownloader --resolve --destdir=./ ntfs-3g
# 方法三:yum 的 downloadonly 插件
yum -y install yum-download
yum -y install ansible --downloadonly --downloaddir=./

# 离线安装
rpm -Uvh --force --nodeps *.rpm

安装成功后,mount -t ntfs-3g 磁盘设备 本地路径 即可成功挂载ntfs的盘。

通过源码编译安装 NTFS-3G 插件

https://www.tuxera.com/company/open-source/ 这里可以下载到 ntfs-3g 的源码。

离线机器上是没有gcc的,所以有源码也无法编译。可以先按照上一节的方法,先安装gcc。

这里要注意的是,最好在和目标离线机器相同版本的操作系统上进行依赖下载工作,以免安装的过程中将目标离线机器的 glibc 等基础库覆盖掉,导致机器上原有程序无法正常运行等未知问题。

gcc安装好后,进入源码目录

./configure 
make & make install

安装成功后,mount -t ntfs-3g 磁盘设备 本地路径 即可成功挂载ntfs的盘。

☞ 参与评论