在一个交付项目中,客户将硬盘插到了服务器上,然后通知我们自己挂载盘读取数据。
mount挂盘
通过 fdisk -l
可以查看客户插上来的硬盘
mount 磁盘设备 本地路径
尝试挂盘
发现磁盘的格式是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的盘。
本文链接:https://www.zoucz.com/blog/2022/06/07/71f5a700-e61c-11ec-bbfb-55427a78e3a0/