Centos7开放端口

Centos升级到7之后,发现无法使用iptables控制Linuxs的端口,google之后发现Centos 7使用firewalld代替了原来的iptables。下面记录如何使用firewalld开放Linux端口:

开启端口
firewall-cmd –zone=public –add-port=80/tcp –permanent
命令含义:
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
重启防火墙
firewall-cmd –reload

隐藏Apache的版本号及其它敏感信息

1.   编辑apache的配置文件

[root@on0926 conf]# vim /etc/httpd/conf/httpd.conf

2. 找到ServerTokens Full 以及ServerSignature On

修改成ServerTokens Prod

      ServerSignature off

 

然后保存

3.重启apache

[root@on0926 conf]# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]
[root@on0926 conf]#

Apache的工作模式

apache工作模式:prefork和worker

 

apache作为现今web服务器用的最广泛也是最稳定的开源服务器软件,其工作模式有许多中,目前主要有两种模式:prefork模式和worker模式

 

查看当前的apache的工作模式:

[root@on0926 ~]# httpd -l
Compiled in modules:
  core.c
  prefork.c
  http_core.c
  mod_so.c
[root@on0926 ~]#

 

一、两种模式

prefork模式:

    prefork是Unix平台上的默认(缺省)MPM,使用多个子进程,每个子进程只有一个线程。每个进程在某个确定的时间只能维持一个连接,效率高,但内存占用量比较大
    这个多路处理模块(MPM)实现了一个非线程型的、预派生的web服务器,它的工作方式类似于Apache 1.3。它适合于没有线程安全库,需要避免线程兼容性问题的系统。它是要求将每个请求相互独立的情况下最好的MPM,这样若一个请求出现问题就不会影响到其他请求。

worker模式:

    worker使用多个子进程,每个子进程有多个线程,每个线程在某个确定的时间只能维持一个连接,内存占用量比较小,适合高流量的http服务器。缺点是假如一个线程崩溃,整个进程就会连同其任何线程一起”死掉”,所以要保证一个程式在运行时必须被系统识别为”每个线程都是安全的”。
    此多路处理模块(MPM)使网络服务器支持混合的多线程多进程。由于使用线程来处理请求,所以可以处理海量请求,而系统资源的开销小于基于进程的MPM。但是它也使用了多进程,每个进程又有多个线程,以获得基于进程的MPM的稳定性。


二、apache模式的查看和安装

1、常看当前模式

如果apache已经安装,我们可以用"httpd -l"命令查看当前模式。若找到 prefork.c 则表示当前工作在prefork模式,同理出现 worker.c 则工作在worker模式。

如果apache还未安装,我们在编译的时候可以加入 –with-pem=(prefork|worker) 选项决定启用什么模式。

2、切换模式

a. 将当前的prefork模式启动文件改名

mv httpd httpd.prefork

b. 将worker模式的启动文件改名

mv httpd.worker httpd

c. 修改Apache配置文件

vi /usr/local/apache2/conf/extra/httpd-mpm.conf

找到里边的如下一段,可适当修改负载等参数:

复制代码
<IfModule mpm_worker_module>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
复制代码

d. 重新启动服务

/usr/local/apache2/bin/apachectl restart

处于稳定性和安全性考虑,不建议更换apache2的运行方式,使用系统默认prefork即可。另外很多php模块不能工作在worker模式下,例如redhat linux自带的php也不能支持线程安全。所以最好不要切换工作模式。

 

三、prefork和worker模式的比较

prefork模式使用多个子进程,每个子进程只有一个线程。每个进程在某个确定的时间只能维持一个连接。在大多数平台上,Prefork MPM在效率上要比Worker MPM要高,但是内存使用大得多。prefork的无线程设计在某些情况下将比worker更有优势:它可以使用那些没有处理好线程安全的第三方模块,并 且对于那些线程调试困难的平台而言,它也更容易调试一些。

worker模式使用多个子进程,每个子进程有多个线程。每个线程在某个确定的时间只能维持一个连接。通常来说,在一个高流量的HTTP服务器 上,Worker MPM是个比较好的选择,因为Worker MPM的内存使用比Prefork MPM要低得多。但worker MPM也由不完善的地方,如果一个线程崩溃,整个进程就会连同其所有线程一起"死掉"。由于线程共享内存空间,所以一个程序在运行时必须被系统识别为"每 个线程都是安全的"。

总的来说,prefork方式速度要稍高于worker,然而它需要的cpu和memory资源也稍多于woker。

 

四、prefork模式配置详解

复制代码
<IfModule mpm_prefork_module>
ServerLimit 256
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 256
MaxRequestsPerChild 0
</IfModule>
复制代码

ServerLimit
默认的MaxClient最大是256个线程,如果想设置更大的值,就的加上ServerLimit这个参数。20000是ServerLimit这个参数的最大值。如果需要更大,则必须编译apache,此前都是不需要重新编译Apache。
生效前提:必须放在其他指令的前面

StartServers
指定服务器启动时建立的子进程数量,prefork默认为5。

MinSpareServers
指定空闲子进程的最小数量,默认为5。如果当前空闲子进程数少于MinSpareServers ,那么Apache将以最大每秒一个的速度产生新的子进程。此参数不要设的太大。

MaxSpareServers
设置空闲子进程的最大数量,默认为10。如果当前有超过MaxSpareServers数量的空闲子进程,那么父进程将杀死多余的子进程。此参数不要设的 太大。如果你将该指令的值设置为比MinSpareServers小,Apache将会自动将其修改成"MinSpareServers+1"。

MaxClients
限定同一时间客户端最大接入请求的数量(单个进程并发线程数),默认为256。任何超过MaxClients限制的请求都将进入等候队列,一旦一个链接被释放,队列中的请求将得到服务。要增大这个值,你必须同时增大ServerLimit。

MaxRequestsPerChild
每个子进程在其生存期内允许伺服的最大请求数量,默认为10000.到达MaxRequestsPerChild的限制后,子进程将会结束。如果 MaxRequestsPerChild为"0",子进程将永远不会结束。将MaxRequestsPerChild设置成非零值有两个好处:
1. 可以防止(偶然的)内存泄漏无限进行,从而耗尽内存。
2. 给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。

 

五、worker模式配置详解

复制代码
<IfModule mpm_worker_module>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
复制代码

StartServers
服务器启动时建立的子进程数,默认值是"3"。

MaxClients
允许同时伺服的最大接入请求数量(最大线程数量)。任何超过MaxClients限制的请求都将进入等候队列。默认值 是"400",16(ServerLimit)乘以25(ThreadsPerChild)的结果。因此要增加MaxClients的时候,你必须同时增加ServerLimit的值。

MinSpareThreads
最小空闲线程数,默认值是"75"。这个MPM将基于整个服务器监视空闲线程数。如果服务器中总的空闲线程数太少,子进程将产生新的空闲线程。

MaxSpareThreads
设置最大空闲线程数。默认值是"250"。这个MPM将基于整个服务器监视空闲线程数。如果服务器中总的空闲线程数太多,子进程将杀死多余的空闲线程。 MaxSpareThreads的取值范围是有限制的。Apache将按照如下限制自动修正你设置的值:worker要求其大于等于 MinSpareThreads加上ThreadsPerChild的和。

ThreadsPerChild
每个子进程建立的常驻的执行线程数。默认值是25。子进程在启动时建立这些线程后就不再建立新的线程了。

MaxRequestsPerChild
设置每个子进程在其生存期内允许伺服的最大请求数量。到达MaxRequestsPerChild的限制后,子进程将会结束。如果MaxRequestsPerChild为"0",子进程将永远不会结束。将MaxRequestsPerChild设置成非零值有两个好处:
1. 可以防止(偶然的)内存泄漏无限进行,从而耗尽内存。
2. 给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。
注意对于KeepAlive链接,只有第一个请求会被计数。事实上,它改变了每个子进程限制最大链接数量的行为。

 

六、总结

以前apache主流模式为prefork,现在worker模式也开始多了起来,区别来说,worker模式可以应对高流量,但是安全性不太好;prefork模式安全性比较好,但是性能会差一点,各位可以根据自己服务器的类别选取不同的模式,更好的使用apache。

apache prefork 模块指令分析

apache prefork 模块指令

 

什么是MPM?

既然是研究prefork模块,有必要提一提apache的多路处理模块(MPM)的基础知识。Apache2.0拥有多个模式的多路处理模块 (MPM)以处理网络端口绑定、接受请求并指派子进程来处理这些请求。MPM延续apache的设计思想,以一个模块的形式存在与apache中,所不同 的是:任何时候,必须有且仅有一个MPM被载入到服务器中

有哪些MPM模块可供选择?

MPM有多个,我们最常用的有:prefork、worker、mpm_winnt。前面两个用于类unix系统,后者则是专门为windows系统设计的,其他的如BeOS、event、mpm_netware、mpmt_os2恕笔者所知有限,不再详述。

如何编译MPM?

为了指定具体使用哪一个MPM模块,我们必须在编译的时候设定选项 –with-mpm=Name,name为prefork之类的模块名;可以在编译完成后使用 httpd -l 查看具体那个MPM模块已安装。

prefork简介

Apache MPM prefork 实现了一个非线程型的、预派生的web服务器,它的工作方式类似于Apache 1.3。它适合于没有线程安全库,需要避免线程兼容性问题的系统。(不要看到这里就认为prefork已经过时了^_^)prefork优点在于它会独立 处理每个请求的进程,这样如果其中一个请求出现问题就不会影响到其他请求。同时可以应用于不具备线程安全的第三方模块(比如php3/4/5),且在不支 持线程调试的平台上易于调试,而且还具有比worker MPM更高的稳定性。

prefork的工作方式

prefork MPM使用多个子进程,但每个子进程并不包含多线程。并且每个进程在某一时刻也只处理一个请求。但在许多系统上它的速度和workerMPM一样快,只是内存的消耗要大一些。

prefork拥有一个单独的控制进程(父进程)负责产生子进程,这些子进程用于监听请求并作出应答。Apache随后会建立一些备用的(spare)或者是空闲的子进程用于迎接即将到来的请求。这样客户端就不需要在得到服务前等候子进程的产生(apache)。

prefork的可用指令有哪些?

StartServers, MinSpareServers, MaxSpareServers, MaxClients指令用于调节父进程如何产生子进程。MaxRequestsPerChild指令控制服务器杀死旧进程产生新进程的频率。 ServerLimit 指令则用来控制服务器允许配置的进程数上限。

上面列出的都是常用的指令,也是最重要的指令。笔者会在后面意义介绍,并给出配置实例。其他可使用的指令:

  1. AcceptMutex 用于串行化多个子进程在(多个)网络套接字(socket)上接受请求的方法
  2. CoreDumpDirectory Apache使用的内核转储目录
  3. EnableExceptionHook 在子进程崩溃以后启用一个钩子来运行异常处理程序
  4. GracefulShutdownTimeout 指定优雅停止服务器的超时秒数
  5. Group 对请求提供服务的Apache子进程运行时的用户组
  6. Listen 服务器监听的IP地址和端口
  7. ListenBackLog 半链接(pending connection)队列的最大长度
  8. LockFile 接受串行锁文件的位置
  9. MaxMemFree 主内存分配程序在未调用free()的情况下允许持有的最大自由内存数量(KB)
  10. PidFile 服务器用于记录父进程(监控进程)PID的文件
  11. ReceiveBufferSize  TCP接收缓冲区大小(字节)
  12. ScoreBoardFile 存储子进程协调数据(coordination data)的文件
  13. SendBufferSize TCP发送缓冲区大小(字节)
  14. User 实际服务于请求的子进程运行时的用户

StartServers
指定服务器启动时建立的子进程数量,prefork默认为5。

MinSpareServers
指定空闲子进程的最小数量,默认为5。如果当前空闲子进程数少于MinSpareServers ,那么Apache将以最大每秒一个的速度产生新的子进程。此参数不要设的太大。

MaxSpareServers
设置空闲子进程的最大数量,默认为10。如果当前有超过MaxSpareServers数量的空闲子进程,那么父进程将杀死多余的子进程。此参数不要设的 太大。如果你将该指令的值设置为比MinSpareServers小,Apache将会自动将其修改成”MinSpareServers+1″。

MaxClients
对于非线程型的MPM(也就是prefork),MaxClients表示可以用于伺服客户端请求的最大子进程数量,默认值是256。任何超过 MaxClients限制的请求都将进入等候队列,一旦一个链接被释放,队列中的请求将得到服务。要增大这个值,你必须同时增大ServerLimit。

MaxRequestsPerChild
每个子进程在其生存期内允许伺服的最大请求数量,默认为10000.到达MaxRequestsPerChild的限制后,子进程将会结束。如果 MaxRequestsPerChild为”0″,子进程将永远不会结束。将MaxRequestsPerChild设置成非零值有两个好处:
1.可以防止(偶然的)内存泄漏无限进行,从而耗尽内存。
2.给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。

ServerLimit
对于preforkMPM,这个指令设置了MaxClients最大允许配置的数值。对于workerMPM,这个指令和ThreadLimit结合使用 设置了MaxClients最大允许配置的数值。任何在重启期间对这个指令的改变都将被忽略,但对MaxClients的修改却会生效。

使用这个指令时要特别当心。如果将ServerLimit设置成一个高出实际需要许多的值,将会有过多的共享内存被分配。如果将ServerLimit和MaxClients设置成超过系统的处理能力,Apache可能无法启动,或者系统将变得不稳定。

对于preforkMPM,只有在你需要将MaxClients设置成高于默认值256的时候才需要使用这个指令。要将此指令的值保持和MaxClients一样。

小内存VPS配置

<IfModule prefork.c>
StartServers       3 #httpd启动时开启三个子进程
MinSpareServers    3 #最小空闲子进程
MaxSpareServers    6 #最大空闲子进程
ServerLimit      12 #prefork模式下与MaxClients 配合使用
MaxClients        12 #限制该值的目的是为了防止小内存下产生过多子进程导致服务器崩溃。
MaxRequestsPerChild  1000 #一旦子进程处理了1000个请求后自动结束旧进程,开启新进程
</IfModule>

 
 
参考地址:

Apache 配置KeepAlive

先说http请求的过程

阻挡->域名解析->建立连接->发送请求->等待响应->接收数据。当然不是每个请求都要包含所有过程

那么http请求和tcp请求是什么关系呢?简单点说就是一个tcp请求是比较靠近底层的,在它上面是http之类的应用请求,所以可以认为一个tcp请求包括很多个http请求(至于包括多少,apache中可以设定),同时tcp的链接与断开比http请求的链接和断开更需要消耗掉更多的内存资源和时间。

 

KeepAlive的含义  

 KeepAlive配置的含义:对于HTTP/1.1的客户端来说,将会尽量的保持客户的HTTP连接,通过一个连接传送多份HTTP请求响应。这样对于客户端来说,可以提高50%左右的响应时间,而于服务器端来说则降低了更多个连接的开销。不过这个依赖于客户端是否想保持连接。IE默认是保持连接的,当你打开100个图片的网站时,IE有可能只打开2个连接,通过这两个连接传送数据,而不是开100个连接。

  在 Apache 服务器中,KeepAlive 是一个布尔值,On 代表打开,Off 代表关闭,这个指令在其他众多的 HTTPD 服务器中都是存在的。

 

  KeepAliveTimeout 为持久连接保持的时间,也就是说,在这此连接结束后开始计时,多长时间内没有重新发送HTTP请求,就断掉连接。默认设置为5秒,这个值可以大点,但不能太大,否则会出现同时等候过多连接,导致多的内存被占用。

 

 

KeepAlive的作用                                                                              

 

如何谋求网络带宽与服务器资源之间的平衡。这个要根据具体情况,具体分析。
 

那么我们考虑3种情况:
  1。用户浏览一个网页时,除了网页本身外,还引用了多个 javascript 文件,多个 css 文件,多个图片文件,并且这些文件都在同一个 HTTP 服务器上。
  2。用户浏览一个网页时,除了网页本身外,还引用一个 javascript 文件,一个图片文件。
  3。用户浏览的是一个动态网页,由程序即时生成内容,并且不引用其他内容。

  对于上面3中情况,我认为:最适合打开 KeepAlive 随意,最适合关闭 KeepAlive

  
  在 Apache 中,打开和关闭 KeepAlive 功能,服务器端会有什么异同呢? 下面看理论分析。

  打开 KeepAlive 后,意味着每次用户完成全部访问后,都要保持一定时间后才关闭会关闭 TCP 连接,那么在关闭连接之前,必然会有一个Apache 进程对应于该用户而不能处理其他用户,假设 KeepAlive 的超时时间为 10 秒种,服务器每秒处理 50个独立用户访问,那么系统中 Apache 的总进程数就是 10 * 50 = 500 个,如果一个进程占用 4M 内存,那么总共会消耗 2G内存,所以可以看出,在这种配置中,相当消耗内存,但好处是系统只处理了 50次 TCP 的握手和关闭操作。

  如果关闭 KeepAlive,如果还是每秒50个用户访问,如果用户每次连续的请求数为3个,那么 Apache 的总进程数就是 50 * 3= 150 个,如果还是每个进程占用 4M 内存,那么总的内存消耗为 600M,这种配置能节省大量内存,但是,系统处理了 150 次 TCP的握手和关闭的操作,因此又会多消耗一些 CPU 资源。

  在看看实践的观察。

  在一组大量处理动态网页内容的服务器中,起初打开 KeepAlive功能,经常观察到用户访问量大时Apache进程数也非常多,系统频繁使用交换内存,系统不稳定,有时负载会出现较大波动。关闭了 KeepAlive功能后,看到明显的变化是: Apache 的进程数减少了,空闲内存增加了,用于文件系统Cache的内存也增加了,CPU的开销增加了,但是服务更稳定了,系统负载也比较稳定,很少有负载大范围波动的情况,负载有一定程度的降低;变化不明显的是:访问量较少的时候,系统平均负载没有明显变化。

  总结一下:
  在内存非常充足的服务器上,不管是否关闭 KeepAlive 功能,服务器性能不会有明显变化;
  如果服务器内存较少,或者服务器有非常大量的文件系统访问时,或者主要处理动态网页服务,关闭 KeepAlive 后可以节省很多内存,而节省出来的内存用于文件系统Cache,可以提高文件系统访问的性能,并且系统会更加稳定

wordpress自定义主题添加备案号

wordpress 默认主题是可以添加备案号的,但是使用了自定义主题后,无法支持备案号。

有几种方式去添加备案号,

1. 编辑主题文件 一般是footer.php,自己手工加进去 这种方式,在更新主题后,原来的footer 文件会被更新掉

2.主要介绍的这种,虽然不是很完美,但是胜在方便 首先进入控制面板,选择外观,小工具

footer

然后将一个文本工具,添加到footer位置

footer

在文本工具中输入如下代码:

 <div class="site-credit">
    <a href="http://www.miibeian.gov.cn">沪ICP备14021346号-1</a>
</div>
<!-- .site-credit -->
 

然后保存 回到首页,

刷新页面,可以看到备案信息

vim/vi 查找与替换命令

vi 以及vim 编辑的时候,输入字符:“/”既可以查找,”/”后面直接跟要查找的字符

如果需要替换所查找的字符使用如下命令:
1. 输入冒号”:”
2.然后输入”%s”
3.输入需要查找的字符如:”googleapis.com”
4.输入字符“/”
5.输入用来替换的新的字符如:“useso.com”
6.输入”/g”
g放在命令末尾,表示对搜索字符串的每次出现进行替换

整个命令如下:

:%s/googleapis.com/useso.com/g

Centos 双网卡 默认路由

之前建了一台虚拟机,一块网卡vlan100(可访问公网),一块网卡vlan2(只能访问内网)

操作系统是centos 7

系统完整完成后发现无法上网,无法使用yum 进行软件安装以及系统升级。

1. 首先使用ip addr 命令查看系统目前的IP地址

[root@localhost ~]# ip addr
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eno16777984:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:50:56:b2:7a:6c brd ff:ff:ff:ff:ff:ff
    inet 172.24.3.37/24 brd 172.24.3.255 scope global dynamic eno16777984
       valid_lft 1125sec preferred_lft 1125sec
    inet6 fe80::250:56ff:feb2:7a6c/64 scope link 
       valid_lft forever preferred_lft forever
3: eno33557248:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:50:56:b2:68:6b brd ff:ff:ff:ff:ff:ff
    inet 172.25.2.189/23 brd 172.25.3.255 scope global dynamic eno33557248
       valid_lft 82125sec preferred_lft 82125sec
    inet6 fe80::250:56ff:feb2:686b/64 scope link 
       valid_lft forever preferred_lft forever

2.查看路由
使用ip route或者ip route show命令

[root@localhost ~]# ip route show
default via 172.25.2.1 dev eno33557248  proto static  metric 1024 
172.24.3.0/24 dev eno16777984  proto kernel  scope link  src 172.24.3.37 
172.24.63.163 via 172.24.3.1 dev eno16777984  proto static  metric 1 
172.25.2.0/23 dev eno33557248  proto kernel  scope link  src 172.25.2.189  

3. 更改默认网关
使用

ip route add default via $GATEWAY

命令更改默认路由
其中 $GATEWAY 是你需要的设置的网关 IP

[root@localhost ~]# ip route add default via 172.25.2.1

4. 改完后再看下路由

[root@localhost ~]# ip route show
default via 172.25.2.1 dev eno33557248 
default via 172.25.2.1 dev eno33557248  proto static  metric 1024 
172.24.3.0/24 dev eno16777984  proto kernel  scope link  src 172.24.3.37 
172.24.63.163 via 172.24.3.1 dev eno16777984  proto static  metric 1 
172.25.2.0/23 dev eno33557248  proto kernel  scope link  src 172.25.2.189 

5.使用yum update 命令更新

[root@localhost ~]# yum -y update
Loaded plugins: fastestmirror
base                                                      | 3.6 kB  00:00:00     
extras                                                    | 3.4 kB  00:00:00     
updates                                                   | 3.4 kB  00:00:00     
(1/4): extras/7/x86_64/primary_db                         |  54 kB  00:00:03     
(2/4): updates/7/x86_64/primary_db                        | 1.7 MB  00:00:28     
(3/4): base/7/x86_64/group_gz                             | 154 kB  00:00:54     
(4/4): base/7/x86_64/primary_db                           | 5.1 MB  00:01:01     
Determining fastest mirrors
 * base: centos.ustc.edu.cn
...

Cisco VPN Client 窗口不显示

最近发现VPN打开窗口不显示

在网上查了只有才知道
vpnclient.ini 里面的
WindowX=75
WindowY=75
两项检查一下,这个有可能被恶意更改为很大的数值,所以超出了屏幕界面的显示范围.修改为正常值就好了,我的vpn就是这样的,显示不出主界面,改了之后 就好了.
C:\Program Files (x86)\Cisco Systems\VPN Client这个是我win7里面的这个文件的路径.

Centos 支持NTFS格式磁盘

要使用linux 支持NTFS格式,需要额外安装软件包

软件名字

ntfs-3g

下载地址:http://www.tuxera.com/community/open-source-ntfs-3g/

1.下载软件包:

[root@Udisk-GKM ~]# wget https://tuxera.com/opensource/ntfs-3g_ntfsprogs-2015.3.14.tgz^C
[root@Udisk-GKM ~]# 

2.解压软件包

[root@Udisk-GKM ~]# tar vzxf ntfs-3g_ntfsprogs-2015.3.14.tgz ^C
[root@Udisk-GKM ~]# 

3.编译并且安装
进入文件夹

[root@Udisk-GKM ~]# cd ntfs-3g_ntfsprogs-2015.3.14
[root@Udisk-GKM ntfs-3g_ntfsprogs-2015.3.14]#
[root@Udisk-GKM ntfs-3g_ntfsprogs-2015.3.14]# ./configure && make && make install

PS:a. 编译需要安装GCC,如果没有需要 yum -y install gcc*
b.{./configure && make && make install}相当于以下三个命令
./configure
make
make install

3. 挂载

NTFS格式挂载与普通的linux格式的磁盘挂载稍有不同,需要添加参数

mount -t ntfs-3g /dev/sda1 /mnt/windows

自动挂载
编辑 /etc/fstab添加

/dev/sda1 /mnt/windows ntfs-3g defaults 0 0

 

参考地址:
http://www.tuxera.com/community/open-source-ntfs-3g/