一种让红帽子7.3能支持ntfs的快速方法

What is NTFS?
什么是NTFS
NTFS is the filesystem used by Windows NT, Windows 2000, and Windows XP.
NTFS是Windows NT, Windows 2000, 和 Windows XP所使用的文件系统
Why didn't Red Hat enable NTFS support in their kernels?
为什么红帽子不在其内核中直接支持NTFS?
Editors note: Anton Altaparmakov, the ntfs maintainer, took offense to my stating
that read only support can cause data corruption problems. You can read his e-mail
to me here
编者按:安东 艾尔塔帕马科夫,ntfs的维护人员,对我关于只读支持能造成数据损坏问题的说法感
到愤怒。这里你可以读到他给我的妹儿。
My prior statement was not in any way meant to be offensive to him, so I have removed
the passage he objected too. However, in the past even while using read only support
the ntfs module has been known to cause filesystem corruption. Enabling write support
for the ntfs module, WILL EAT YOUR DATA!
我先前的陈述没以任何方式激怒他,所以我删了他反对的一段。可是,在过去一段时间,ntfs模块甚至
在使用只读模式时也曾造成文件系统的崩溃。如果打开它的写支持,将吃掉你的数据!

Why is NTFS support poor under Linux?
为什么NTFS在linux中支持得这么差?

Microsoft chooses not to release the information necessary to write a driver to access
the NTFS filesystem for operating systems other then Windows. This basically makes
writing a driver a case of trial and error.
微软不发布在windows以外的其他系统中支持ntfs的驱动程序所必需的信息。这是使为其写的驱动容易造成
很多错误的最根本的原因。
This may lead you to ask the question, "Then why is Linux support for FAT and FAT32
filesystems any good?". The NTFS filesystem is a lot more complex then FAT and FAT32,
thus making it harder to write a driver.
你可能因此问到:为什么linux支持FAT和FAT32很好呢?NTFS文件系统比FAT和FAT32要复杂得多,所以使得给
它写驱动要复杂得多。

Alternatives to using NTFS support
使用NTFS的替代方法。
Create an FAT32 (vfat) partition and store the data you need to access from Linux on it.
建立一个FAT32分区。把你需要从linux访问的数据放在这个分区里。

Is your system up to date?
你的系统是最新的了吗?

I am going to assume you have updated your Red Hat 7.3 install with all of the currently
available updates. Kernel version 2.4.18-5 is the latest official kernel available for
Red Hat 7.3
我打算假定你已经把你的红帽子7.3升级到目前所能得到的最新的内核。目前最新的是2.4.18-5(译者注:
不升级也完全可以这样做,我在自己机器测试过了,而且目前最新版为2.4.18-10)

Installing the kernel sources.
安装内核源文件

First check and see what kernel you are running. You must use the kernel source for the
same kernel you are running.
首先检查看看你在用什么内核在运行你的系统,你必须用和你的内核相同的源文件。

[jimh@garfield jimh]$ uname -r
2.4.18-5

Check to see if you already have the kernel source installed with:
检查看看你的内核源文件的版本:

[jimh@garfield jimh]$ rpm -q kernel-source-2.4.18-5
kernel-source-2.4.18-5

If you don't have the kernel-source installed you will see:
如果你没装内核原文件你将看到这样的:

[jimh@garfield jimh]$ rpm -q kernel-source-2.4.18-5
package kernel-source-2.4.18-5 is not installed

If the kernel source is not installed, download the source from your favorite Red Hat mirror
site. You will need to be logged in as root to install the kernel source. Install the kernel
source with:
如果内核源文件没装,从Redhat的站点下载一个,你需要用root权限装它。用如下命令:
rpm -ivh kernel-source-2.4.18-5.i386.rpm

If you are registered with The Red Hat Network you can also use up2date to install the kernel.
This will download and then install the kernel-source for you.
如果你已经是redhat网的注册用户,你可以用up2date命令来安装kernel,这样的命令将下载并安装kernel source
up2date kernel-source

Preparing the kernel source
准备内核源文件
Login as the root user.
以root用户登录
Change to the /usr/src/linux-2.4.18-5 directory
换到/usr/src/linux-2.4.18-5目录
[root@garfield root]# cd /usr/src/linux-2.4.18-5

"make mrproper"
[root@garfield linux-2.4]# make mrproper

"make xconfig"
[root@garfield linux-2.4]# make xconfig

Load the default Red Hat kernel config that was used to compile the kernel you have installed.
载入RedHat用于编译你所安装的内核的内核配置文件(作者这个是athlon速龙)
[root@garfield linux-2.4]# rpm -q --qf '%{ARCH}\n' kernel-2.4.18-5
athlon

Click "Load Configuration from file"
点击"Load Configuration from file"
Side note: Red Hat did not ship an i586 uniprocessor kernel with 7.3. If you have a uniprocessor
i586 system the command above will probably return i386. Use the i386.config if it does.
旁记:RedHat没发行7.3的i586 uniprocessor内核,如果你用了i586 uniprocessor上面的系统将返回i386.这种情况
下就用i386.config
You can look in /usr/src/linux-2.4.18-5/configs to see what the default kernel configs Red Hat
uses to compile their kernels.
你可以看看/usr/src/linux-2.4.18-5/configs来看看红帽子都有哪些缺省的内核配置
[jimh@garfield jimh]$ ll /usr/src/linux-2.4.18-5/configs
total 564
-rw-r--r-- 1 root root 39830 May 2 14:36 kernel-2.4.18-athlon.config
-rw-r--r-- 1 root root 39858 May 2 14:36 kernel-2.4.18-athlon-smp.config
-rw-r--r-- 1 root root 49146 May 2 14:36 kernel-2.4.18-i386-BOOT.config
-rw-r--r-- 1 root root 40020 May 2 14:36 kernel-2.4.18-i386.config
-rw-r--r-- 1 root root 39960 May 2 14:36 kernel-2.4.18-i386-smp.config
-rw-r--r-- 1 root root 39957 May 2 14:36 kernel-2.4.18-i586.config
-rw-r--r-- 1 root root 39897 May 2 14:36 kernel-2.4.18-i586-smp.config
-rw-r--r-- 1 root root 40021 May 2 14:36 kernel-2.4.18-i686-bigmem.config
-rw-r--r-- 1 root root 39968 May 2 14:36 kernel-2.4.18-i686.config
-rw-r--r-- 1 root root 40414 May 2 14:36 kernel-2.4.18-i686-debug.config
-rw-r--r-- 1 root root 39966 May 2 14:36 kernel-2.4.18-i686-smp.config
-rw-r--r-- 1 root root 35944 May 2 14:36 kernel-2.4.18-i686-uml.config
-rw-r--r-- 1 root root 40170 May 2 14:36 kernel-2.4.18-x86_64.config
-rw-r--r-- 1 root root 40170 May 2 14:36 kernel-2.4.18-x86_64-smp.config

In the dialog box type the full path to the config file you want to use.
Example: /usr/src/linux-2.4.18-5/configs/kernel-2.4.18-i686.config
在对话框输入你要用的全路径文件名,
比如:/usr/src/linux-2.4.18-5/configs/kernel-2.4.18-i686.config
Click "Ok" to load the config and exit the dialog box.
点"Ok"来载入配置并退出对话框。
Click "File Systems"
Scroll down and find "NTFS filesystem support (read only)"
点"File Systems"然后找到"NTFS filesystem support (read only)"
Click "m" to build NTFS support as a module.
点m来把NTFS支持编译成一个模块。
Click "Main Menu"
点"Main Menu"
Click "Save & Exit"
点"Save & Exit"
An informational dialog box will popup telling you to run "make dep"
Click "Ok"
一个信息对话框将蹦出来,告诉你运行"make dep",点"Ok".
Open the toplevel Makefile in a text editor. This would be /usr/src/linux-2.4.18-5/Makefile
Look at the first four lines in the Makefile.
用文本编辑器打开最上层的Makefile。就是/usr/src/linux-2.4.18-5/Makefile

VERSION = 2
PATCHLEVEL = 4
SUBLEVEL = 18
EXTRAVERSION = -5custom

Remove the word "custom" from the end of the EXTRAVERSION line.
Save the changes and exit
可以看到如上内容,把EXTRAVERSION这行的"custom"删掉「变成EXTRAVERSION = -5」。

"make dep"
[root@garfield linux-2.4]# make dep

Compile the the ntfs module.
编译ntfs模块。
"make modules SUBDIRS=fs/ntfs"
[root@garfield linux-2.4]# make modules SUBDIRS=fs/ntfs

Create a directory for the ntfs module
建立ntfs模块的目录。
mkdir /lib/modules/2.4.18-5/kernel/fs/ntfs

Copy the ntfs.o module to the directory you just created.
把ntfs.o模块拷贝到刚建立的目录内。
cp /usr/src/linux-2.4.18-5/fs/ntfs/ntfs.o /lib/modules/2.4.18-5/kernel/fs/ntfs

Set the permissions on the ntfs.o module to make sure they are correct.
加上访问许可。
chmod 0644 /lib/modules/2.4.18-5/kernel/fs/ntfs/ntfs.o

Update your modules.dep
更新你的modules.dep
/sbin/depmod -a

Thats it. You are now ready to use the new ntfs.o module.
结束了,你现在就可以用新的ntfs.o模块了。

Accessing your NTFS partitions
访问你的NTFS分区
You will have to create a mount point and add an entry to /etc/fstab for the NTFS partitions you want to access.
你应该建立一个安装点(mount point, 其实就一目录),并在/etc/fstab中加入一条记录来访问你要访问的NTFS分区

There are many different options you can use to mount the partition depending upon your needs.
你可以按照自己的需要来决定你的访问NTFS的选项。
If you have a single user system or don't need to give others access to the partition, you can use this.
Replace "xxx" on uid and gid with your userid and group id.
如果你是单用户系统并不需要给其他人访问权限:你可以:
/dev/hdc2 /mnt/windows ntfs noauto,user,uid=xxx,gid=xxx,umask=007 0 0

You can find out what your userid and groupid is with:
你可以用如下命令找到你的用户id和组id

$ cat /etc/passwd | grep username
username:x:500:500:realname:/home/username:/bin/bash

If you were using the above user, the /etc/fstab entry would be:
如果你正在使用如上的用户,那么命令如下:
/dev/hdc2 /mnt/windows ntfs noauto,user,uid=500,gid=500,umask=007 0 0

『以下没什么关系我就不翻译了,我测试一下发现可以用iocharset=cp936选项,但
codepage=936不好使』

Description of the options above.

noauto = Don't mount at boot

user = Allow an ordinary user to mount, but only the user who mounted it can unmount the drive.

uid = sets owner for the partition and the files on it.

gid = sets group for the partition and the files on it.

umask = sets the permissions on the partition.

The above mount options will not be correct for all situations. This is just an example.

For more information you should read the manpage for the "mount" command. This manpage explains
the mount options available for the NTFS and other filesystems.

-->Additional Information
The Linux-NTFS Project http://linux-ntfs.sourceforge.net
All software titles and services are copyrighted by their respective owners.

时间: 2024-10-30 09:12:30

一种让红帽子7.3能支持ntfs的快速方法的相关文章

解决IE浏览器支持CSS3圆角的方法

让IE浏览器支持CSS3圆角,在IE浏览器中实现圆角的效果,一般我们会采用圆角图片的方式来实现.那我们可以通过CSS3样式来实现网页圆角效果吗?        下面我们就来介绍一些在IE浏览器中通过CSS3实现圆角的方法,如何用CSS3样式表来实现圆角效果.要注意的是,IE6/7/8这三个IE浏览器版本都不支持CSS3的解析,只有在IE9才能支持CSS3和HTML5的标准.让IE支持CSS3的解析方法有很多,下面介绍一种实用的让IE支持CSS3解析的方法:IE利用VML矢量可标记语言作为画笔绘出

java实现多线程的两种方式继承Thread类和实现Runnable接口的方法_java

实现方式和继承方式有什么区别呢? *区别: *继承Thread:线程代码存放在Thread子类run方法中 *实现Runnable:线程代码存放在接口的子类的run方法中 *实现方式的好处:避免了单继承的局限性 *在定义线程时,建议使用实现方式,当然如果一个类没有继承父类,那么也可以通过继承Thread类来实现多线程 *注意:Runnable接口没有抛出异常,那么实现它的类只能是try-catch不能throws *Java对多线程的安全问题提供了专业的解决方式就是同步代码块synchroniz

一种基于同态标签的动态云存储数据完整性验证方法

一种基于同态标签的动态云存储数据完整性验证方法 余星 在云存储服务中,为使用户可以随时验证存储在云存储服务器上数据的完整性,提出一种基于同态标签的动态数据完整性验证方法.通过引入同态标签和用户随机选择待检测数据块可以无限次验证数据是否完好无损,并支持数据动态更新:可信第三方的引入解决了云用户与云存储服务供应商因数据完整性问题产生的纠纷,实现数据完整性的公开验证:然后给出本文方法的正确性和安全性分析,以及本文方法的性能分析:最后通过实验验证了该方法是高效可行的. 一种基于同态标签的动态云存储数据完

sql2000备份的数据库还原到sql2005后,选择“数据库关系图”提示:此数据库没有有效所有者,因此无法安装数据库关系图支持对象的解决方法

sql2005|备份|对象|解决|数据|数据库  sql2000备份的数据库还原到sql2005后,选择"数据库关系图"提示:此数据库没有有效所有者,因此无法安装数据库关系图支持对象.若要继续,请首先使用"数据库属性"对话框的"文件"页或  ALTER  AUTHORIZATION  语句将数据库所有者设置为有效登录名,然后再添加数据库关系图支持对象.       解决方法如下: 1.设置兼容级别为90(2005为90)  USE  [maste

JavaScript让Textarea支持tab按键的方法

  本文实例讲述了JavaScript让Textarea支持tab按键的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

IE中使用JavaScript中调用form.submit()提示“对象不支持此属性和方法”

 今天在项目中无意中遇到的一个神奇的问题,特此记录. 首先我们看看以下代码,测试页面可以看这里,页面的功能和逻辑很简单. 这段代码从逻辑上看没有任何错误和BUG,理论上是可以完全执行的. <html>     <head>IE 测试</head> <body> <script language="javascript"> function dosubmit() {     var theform = document.getE

写了ocx控件 在网页中调用显示 对象不支持此属性或方法

问题描述 写了ocx控件 在网页中调用显示 对象不支持此属性或方法 我用的是 vs2010 用模版自动生成的只加了一个方法,然后自己写了一个vbs脚本调用这个方法正常,用的是控件名创建的对象.在网页中控件也创建成功的用的是classid方式创建的,但是调用这个方法就是提示对象不支持此属性或方法.我用activex control test 工具测试一切正常,也能看到这个方法,但是一到网页中就提示对象不支持此属性或方法 麻烦大家帮忙分析分析(我是初学者) 解决方案 应该是浏览器安全性阻止了控件的加

基于bootstrap-datetimepicker.js不支持IE8的快速解决方法_javascript技巧

实例如下: if (!Array.prototype.indexOf) Array.prototype.indexOf = function (elt /*, from*/) { var len = this.length >>> 0; var from = Number(arguments[1]) || 0; from = (from < 0) ? Math.ceil(from) : Math.floor(from); if (from < 0) from += len;

ajax-运行时错误: 对象不支持此属性或方法

问题描述 运行时错误: 对象不支持此属性或方法 这个问题怎么解决啊 解决方案 不支持.肯定是你掉错了,检查下 解决方案二: js报错了,隔几行加一个alert,找到具体哪行报的错,这样看没看出什么问题 解决方案三: 你的IE版本太低了,要IE10+ file对象才支持files属性,FormData也需要IE10+才支持..你要先判断是否有files属性才使用[]操作符 而且document.getElementById吧,哪来的document.getElementByIdx_x_x这个方法,