CentOS   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了CentOS下支持挂载exFAT与NTFS文件系统大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

CSDN GitHub CentOS下支持挂载exFAT与NTFS文件系统 AderXCoding/system/tools/centos_mount_exfat_ntfs 本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可, 转载请注明出处, 谢谢合作 1 问题 1.1 问题描述 给实验室的一台破机器装了 CentOS 7, 今天想从移动硬盘上往机器上拷贝点东西,
CSDN GitHub
CentOS下支持挂载exFAT与NTFS文件系统 AderXCoding/system/tools/centos_mount_exfat_ntfs



本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可,转载请注明出处,谢谢合作

@H_489_39@1 问题

1.1 问题描述

给实验室的一台破机器装了 CentOS 7,今天想从移动硬盘上往机器上拷贝点东西,@H_755_44@mount挂载的时候发现挂载不上去,提示未知的文件系统. 想了想好像是 CentOS 认是不支持这些 Windows文件系统的. 这点还是 Ubuntu 友好,包都装好了,移动硬盘插上去自动挂载,没办法了,CentOS 上折腾吧.

1.2 Windows下文件系统

Windows下分区的常见格式有 FATFAT32NTFSexFAT

早期大家见得多的格式一般是FATFAT32,不过目前由于单个文件越来越大,超过 4G文件,FATFAT32 格式不支持,所以现在的硬盘格式都会被转换成 NTFSexFAT格式,

1.3 NTFS和exFAT分区格式的特点与区别

NTFS(New Technology File System)WindowsNT 和高级服务器网络操作系统环境的文件系统,设计的目的是提供比 FAT32更高的可靠性,并消除 FAT32 文件系统容量限制. 它除了支持更大的分区和文件、更节约硬盘空间外,还提供了 FAT32 文件系统不能提供的长文件名、压缩分区、事件追踪、文件索引、高容错性、数据保护和恢复以及加密访问等功能.

但是,为什么闪盘和各种存储卡很少使用 NTFS 进行分区呢? NTFS优点众多,但它是专为传统机械硬盘而设计的. 它采用了一种”日志式”的文件系统,需要频繁记录磁盘的详细读写操作,会给闪盘或 SSD 这类储介质带来额外的负担. 同时,NTFS 文件系统频繁的读写也影响到闪盘的性能,带来传输速率的下降。

为此,微软在传统FAT 32分区的基础上开发了exFAT文件系统(Extended File AlLOCATIOn Table FileSystem),既弥补了FAT32的局限性和缺点,又没有NTFS那些会影响闪存寿命的功能,适合各种移动存储卡和闪盘使用。

exFAT 文件系统具有如下优点:

  • 分区大小和支持的单个文件大小最大可达 16EB;

  • 使用了剩余空间分配表,空间利用率更高;

  • 同一目录下最大文件数可达65536个;

  • 支持访问控制。

目前,只有固态硬盘、闪盘和存储卡才能格式化成 exFAT,传统硬盘是无法格式化成 exFAT 格式的,因此它是一种专门针对闪存的文件系统。

2 支持挂载NTFS文件系统

exfat 格式的文件系统是通过 fuse (Filesystem in userspace ) 模块来支持

2.1 安装fuse-exfat

exfat 支持是通过 fuse 模块的方式支持的,其项目地址是 :

https://code.google.com/p/exfat/ ,当前版本是 : 1.0.1
目前exfat的支持已经是全功能支持支持读写。

2.1.1 yum源或者rpm包安装

使用如下命令直接从源中安装

sudo yum install fuse-exfat

如果提示未找着软件包,说明您未添加 rpmfusion 源,请先添加下载rpmfusion-free-release-7.noarch.rpm

下载地fuse-exfat-1.0.1-1.el7.x86_64.rpm

下载地exfat-utils-1.0.1.el7.x86_64.rpm

然后直接安装

sudo rpm -ivh fuse-exfat-1.0.1-1.el7.x86_64.rpm
sudo rpm -ivh exfat-utils-1.0.1-1.el7.x86_64.rpm

2.1.2 SRC.RPM 源码构建 RPM 安装

然不是想说这种方法,一般来说,发行版对于每一个 rpm 或者 deb 包都会提供其源码包,方便开发者自行从源码构建安装包,Ubuntu 等发行版使用 apt-get source下载源码,使用
apt-get build-dep 构建其环境,Redhat等发行版则使用 RPMBUILD 来构建,其包成为src.rpm

可以下载`src.rpm源代码包,并自行使用sconsgcc编译,也可以在rpmfusion下载源代码RPM,然后通过构建RPM` 来安装. 这里采用构建RPM的方式(这样安装卸载都很方便)。

下载地址 :
http://download1.rpmfusion.org/free/el/updates/6/SRPMS/repoview/index.html

分别下载:fuse-exfat-1.0.1-1-el6.src.rpm 和 exfat-utils-1.0.1-1.el6.src.rpm

http://download1.rpmfusion.org/free/el/updates/7/x86_64/f/

  • 编译安装:

编译前,请先检查系统,如果系统中没有scons和gcc,请通过yum安装:

sudo yum install scons gcc

这个软件是fuse模块,编译需要fuse-devel包支持

sudo yum install fuse-devel

下载后,安装源代码RPM:

rpm -ivh fuse-exfat-1.0.1-1-el6.src.rpm exfat-utils-1.0.1-1.el6.src.rpm

在主目录下,会出现rpmbuild目录:

cd ~/rpmbuild/SPECS
rpmbuild -ba fuse-exfat.spec
rpmbuild -ba exfat-utils.spec

构建完成后,即可在 ~/rpmbuild/RPMS 里面找到生成RPM( 根据系统架构,分别在 x86_64i386 目录下,其中名字中带有 debuginfo 的包不必安装):

cd ~/rpmbuild/RPMS/x86_64
sudo rpm -ivh fuse-exfat-1.0.1-1.el7.x86_64.rpm
sudo rpm -ivh exfat-utils-1.0.1-1.el7.x86_64.rpm

这样就安装完成了。

2.2 挂载exfat

可以@R_786_6749@来挂载exfat的U盘了:

sudo mount.exfat /dev/sdc1 /mnt
OR
sudo mount /dev/sdc1 /mnt

3 支持挂载exFAT文件系统

RPM 源中NTFS文件系统的支持是由 ntfs-3g 软件包来完成的

3.1 安装ntfs-3g模块

3.1.1 使用yum的安装方法

请确定你已经安装了 rpmforge 软件库的源.

请参:RHel/CentOS 5.5使用第三方软件库

然后安装下列组件

yum install fuse ntfs-3g -y

nfts-3g 并不再标准的源中,如果提示未找到软件包,请先添加 EPEL 源,参见CentOS7/RHEL7安装EPEL扩展仓库步骤详解

注:如果你在使用 CentOS 5.3 或更旧版本,那么你需要安装来自 ELRepo 的@H_755_44@mod-fuse

3.1.2 使用Ntfs-3g官方源码编译安装

目前 2017-04-19,ntfs-3g 的最新版本是 2017-03-23

官网 : http://www.tuxera.com/community/open-source-ntfs-3g/

ntfs-3g下载页面 : https://tuxera.com/opensource/ntfs-3g_ntfsprogs-2017.3.23.tgz

安装步骤 :

wget https://tuxera.com/opensource/ntfs-3g_ntfsprogs-2017.3.23.tgz
tar zxvf ntfs-3g_ntfsprogs-2017.3.23.tgz
cdntfs-3g_ntfsprogs-2017.3.23
./configure
make
make install

yum 只适用于 Redhat 系,编译安装适用于所有 Linux 发行版

3.2 挂载NTFS文件系统

假设你的 NTFS 文件系统是 /dev/sdb1 而你将会把它挂载在 /mnt/windows/c,请执行以下步骤.

  • 创建挂载点。(一般建议挂在mnt目录里)
@H_295_170@mkdir /mnt/windows/c
  • 挂载NTFS分区:
@H_295_170@mount -t ntfs-3g /dev/sdb1 /mnt/windows/c OR mount /dev/sdb1 /mnt/windows/c @H_531_404@

注 : 这里的 sdb1 是指 SATASCSI 硬盘的第一个分区,如果是老式的 IDE 硬盘,会是hda1,具体请用 fdisk -l 查看.

@H_487_419@


本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可,谢谢合作.

大佬总结

以上是大佬教程为你收集整理的CentOS下支持挂载exFAT与NTFS文件系统全部内容,希望文章能够帮你解决CentOS下支持挂载exFAT与NTFS文件系统所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。