2008年10月17日星期五

【转】RedHat Linux安装Oracle10g(图文详解 教程)_绝对原创

如需转载,请注明出处,http://www.川江号子.cn    。

http://blog.csdn.net/yuanfen127/archive/2007/12/18/1944525.aspx

另,本人有Word电子文档格式,如需要,请联系本人:asima127@gmail.com  

1.1 准备安装介质
安装介质一共4张光盘(CD版),版本号为:2.4.21-27.ELsmp
设置BIOS为光盘启动,放入第一张光盘即可。
进入到RedHat Enterprise Linux3(以下均简称为Linux)的启动界面,屏幕上出现[boot]字样,如果采用图形化方式安装,直接按回车继续,如果想采用命令行模式进行,输入"linux text"后回车,如有其他需要,按屏幕提示选择选项进行(比如安装SATA硬盘或网卡时可能需要先安装其驱动)。
1.      欢迎界面,点击Next继续
2.      选择安装语言界面,可以选择"Chinese(Simplified)简体中文",点击Next继续
3.      选择键盘界面,默认即可(U.S. English),点击"下一步"继续
4.      选择鼠标界面,默认即可(3键鼠标(USB)),点击"下一步"继续
5.      磁盘配置界面,选择"用Disk Druid手工分区",点击"下一步"继续
6.      设置分区:(以下为160G硬盘)
分区需注意:最多只能4个主分区,其中逻辑分区也是一个主分区,同时,还需要注意/tmp分区,建议系统有/tmp目录,因为很多软件在安装的时候都需要往此目录写文件,比如Oracle10g就要求/tmp目录有400M以上的空间。
      
       设置好以后,点击"下一步"继续
7.      设置引导装载程序配置
默认保留"Red Hat Enterprise Linux AS…"勾选框,点击"下一步"继续
8.      防火墙设置,选择"无防火墙",点击"下一步"继续
9.      系统默认的语言设置,默认(Chinese (P.R. of China)),点击"下一步"继续
10. 选择时区,默认,点击"下一步"继续
11. 设置root用户密码,点击"下一步"继续
12. 软件包组设置,选择"定制要安装的软件包集合",点击"下一步"继续
13. 选择要安装的软件包
特别注意:在"遗留网络服务器"中的细节中,勾选"telnet"服务
点击"下一步"继续
14. 确认界面,点击"下一步"继续
15. 等待安装
首先会根据第6步的设置进行磁盘分区和格式化
然后会根据第13步的设置进行软件安装,安装过程会提示换光盘进行,按提示进行
16. 安装完成
17. 设置图形化界面(X)配置,默认即可
18. 设置显示器配置,默认即可
19. 设置图形化配置,默认即可(如有需要,可以把登录类型改成"文本")
20. 配置完成,退出重启就可以了
有些机器的网卡可能在安装操作系统时就能自动安装好,因此安装好Linux系统以后,可以通过ifconfig来查看是否有eth0设备,如果只有lo设备,说明网卡驱动未成功。
        
安装网卡驱动,首先需要确定机器中的网卡是什么品牌什么型号,如果是品牌电脑,最好最快的方法是到官方网站下载机器型号对应的驱动程序,然后阅读其中的readme.txt进行安装配置。
如:联想开天 M6680型号的机器。
A.      到官方网站下载网卡驱动程序NET_BROADCOM_57XX_952.exe(下载地址:http://211.100.43.194/DriverFilesUploadFloder/business/NET_BROADCOM_57XX_952.exe)
B.      解压后,把其中Linux目录拷贝到U盘中
C.     在Linux系统中,使用fdisk -l可以查看当前U盘盘符,如图,为/dev/sda1
D.     在/mnt下新建目录udisk,然后使用mount /dev/sda1 /mnt/udisk就可以使用U盘了,注意最好不要使用中文,否则在Linux下可能会出现乱码
E.      拷贝Linux目录到/tmp下,可以看到如下文件
F.      参考readme.txt,进行网卡驱动安装
 tar xvzf tg3-3.58b.tar.gz  解压源代码tar包
 进入源代码目录后,使用make进行编译得到tg3.o(如果是REHL4版本,将得到tg3.ko)
                  
G.    使用insmod tg3.o命令把此文件插入到linux核心,再使用make install进行编译,使用uname �r可以看到Linux的版本号,使用insmod后,看到tg3.o被插入到/lib/modules/2.4.21-27.ELsmp/kernel/drivers/net中。
H.     rpm文件的编译
使用rpm -bb SPECS/tg3.spec或
rpmbuild -bb SPECS/tg3.spec (for RPM version 4.x.x)进行
I.         安装rpm文件
rpm -ivh RPMS/<arch>/tg3-<version>.<arch>.rpm
这个地方的<arch>为i386或i486等,在RPMS目录下可以看到,本例中为:
rpm -ivh RPMS/i386/tg3-3.58b-1.i386.rpm
J.       装载tg3.o驱动程序
还可以使用 insmod tg3.ko (on 2.6.x kernels),或modprobe tg3
K.      安装完毕,使用setup进行配置
使用root用户登录,然后输入setup命令,如下图:
选择"Network configuration",然后使用"Tab"键将光标移到"运行工具"处,回车。
选择"是",回车,如图:
配置IP地址信息后,确定,如图:
然后运行 /etc/init.d/network restart,可以看到eth0已经被加载了
L.       安装配置完毕。
尽管安装Linux的时候选择了telnet,但是服务默认是没有开启的,选择左下角的"红帽Logo"->"系统设置"->"服务器设置"->"服务"。
在图形界面中,左栏里找到"telnet",可以看到,默认是不启动的,勾选后,点启动,并保存,这样,下次启动的时候,在5这个运行级,telnet服务会自动启动
其他服务还应根据需要打开:
vsftp:ftp服务
smb:Linux与window共享samba服务
同时,在此界面还可以设置其他级别默认启动的服务,在"工具栏"->"编辑运行级别"中进行选择。
注意关闭sendmail和sm-client服务,如果不需要这样的服务,在启动的时候会更快速,否则需要漫长的等待。
有些服务开启后系统资源开销比较大,建议只开启以下服务:
配置管理界面:
以下命令用于测试服务:
          
如果不希望Linux启动的时候就进入图形级别(图形级别为5),那么修改/etc/inittab,找到"id:5:initdefault:",修改为"id:3:initdefault:"即可,3表示文本级别。
Linux一共7个级别,分别如下:
各个运行级的详细解释为:
运行命令"startx"可以启动到运行级5(即X window系统)
使用hostname 主机名,这样只能是临时修改当前的hostname,但是重新启动系统之后,就又会恢复回去,如果要永久修改,那么应该修改/etc/sysconfig/network里面的HOSTNAME值,如果没有就加上HOSTNAME=主机名,因为在/etc/rc.sysinit中我们可以看到系统启动的时候会从这个文件中去读取这个HOSTNAME值,然后再运行hostname 主机名,实际动作是修改/proc/sys/kernel/hostname文件,但因为是不可写的,所以使用hostname来设定,最后再修改或者添加 /etc/hosts里面的内容。
设置之后,可能再次telnet时会等待很长一段时间,是因为在/etc/resolv.conf中nameserver的值发生了变化,可以使用#进行屏蔽,也可以把 nameserver 的值修改为本机IP地址,这样,登录时间会缩短。
1.        vi /etc/sysconfig/network
2.        hostname name
3.        vi /etc/hosts
使用root用户修改/etc/profile内容,在末尾添加如下几行:
其中,TERM设置为xterm以后,vi就会有颜色区分。
保存后,以后登录,都将显示登录用户名,主机名和当前路径,如:
/etc/profile文件可以根据需要设置一些环境变量,比如JAVA_HOME等,所有的用户都将生效,如果只是希望某些用户具备特定设置,可以修改$USER_HOME/.bash_profile文件进行设置。
主要是如果有多CPU的机器,(略)
准备安装介质10201_database_linux32.zip
3.2 检查Liunx系统
检查Linux系统是否包含安装Oracle10g需要的安装包,通过rpm �q �a|grep xxx进行检查,xxx为需要检查的包,列表如下:
RedHat Enterprise Linux 3.0 安装oracle10g需要的包
RedHat Enterprise Linux 4.0 安装oracle10g需要的包
       系统硬件要求:
1.      Oracle10g推荐使用512M内存
2.      至少3.7GB的硬盘空间
3.      至少1GB的swap space
4.      至少400MB的/tmp目录
创建oracle用户时,指定其主目录为/bank/oracle,所属组为oinstall和dba,并使用passwd oracle为oracle用户设置密码,切换到oracle用户(su � oracle),mkdir inst_package,把oracle10g安装文件(10201_database_linux32.zip)拷贝到inst_package目录下(使用ftp或别的方式拷贝到linux系统中),再使用unzip解压:
$unzip 10201_database_linux32.zip        
解压后,得到database目录
3.4 创建Oracle目录
在/bank/oracle下创建产品目录oracle10g和数据文件存放目录oradata,并设置对应的用户所属。
3.5 配置Linux内核参数
使用root用户修改Linux内核参数,vi /etc/sysctl.conf文件,在末尾增加以下内容:
配置好以后重新启动系统或使用命令/sbin/sysctl �p使其生效
其中shmmax推荐为物理内存的一半,计算方法:
1.      grep MemTotal /proc/meminfo (得到2053996KB)
2.      2053996 × 1024 ÷ 2 = 1051645952
3.6 为oracle用户设置shell限制
修改/etc/security/limits.conf文件,在该文件中添加以下内容:
         同时,修改/etc/profile,末尾添加以下内容:
        
 
修改/etc/pam.d/login文件,在该文件中添加以下参数:
 
3.8 修改oracle用户的环境变量
使用oracle用户修改/bank/oracle/.bash_profile,添加以下内容:
如果是在机器上直接安装,可以略过此步。
使用oracle用户登录,运行vncserver,第一次运行会要求输入登录vncserver的密码,在使用vnc客户端进行连接的时候要求输入,如图:
可以看到,启动了一个图形终端编号1,在此目录下,会创建一个隐藏的目录.vnc,进入此目录,编辑xstartup文件,可以看到默认是字符界面twm,删除所有内容,添加一行内容:gnome-session即可。
使用vncserver �kill :1关闭此图形终端,再重新运行vncserver
使用vnc客户端工具(RealVNC viewer),输入机器IP地址加图形终端号,如图:
输入设置的vncserver密码:
会看到图形界面:
3.10          安装Oracle10g
A.      使用oracle用户登录到图形界面(如远程安装,参考3.9节)
B.      打开终端, ,进入到oracle10g安装文件目录(本例为/bank/oracle/inst_package/database)
C.     运行./runinstaller,可以看出,安装程序会先释放安装内容到/tmp目录下,因此要求/tmp下有足够的空间存放,当然,可以在oracle用户的.bash_profile中修改
      
D.     Oracle的安装界面
可以看到相关配置会根据Oracle用户的.bash_profile中定义的环境变量默认出现,注意UNIX DBA组,应为oinstall。修改"全局数据库名SID"为:bkserver(根据自己的需要,可以任意取名),并输入SYS密码。点下一步继续。注意,根据需要是否勾选"创建启动数据库"选项,建议不勾选,后面再通过dbca来创建数据库,这里以勾选作为示例。
E.      指定产品清单目录和身份证明(注意操作系统组名为oinstall)
如果以前在安装中途取消过,再到这一步会有个警告信息,提示目录已经存在,仔细检查后,可以点击"是(Y)"继续。
F.       此步可能会出错,根据页面内容检查配置Linux内核参数(见3.5节)
如果成功会是如下界面,点击下一步继续
G.    安装概要,可以简单浏览一下,点"安装"继续
H.     等待安装过程
I.         安装完成后,由于第一步勾选了"创建启动数据库",因此,安装程序会在安装完成后自动启动数据库创建程序。
J.       等待数据库创建过程
K.      创建数据库完成,可以点击"口令管理"查看内容,点击"确定"继续
L.       执行配置脚本,根据界面提示,使用root用户登录执行即可。
M.    安装结束,可以看出Enterprise Manager的管理URL地址
N.     退出即可
3.11          创建数据库
如果在上面第一步没有勾选"创建启动数据库",那么可以通过此步进行数据库创建
A.      使用oracle用户,在图形界面下(使用vncserver登录也可)运行dbca命令
B.      选择操作"创建数据库"。(注意:不建议同一台机器上创建多个数据库instance)
C.     选择数据库模板,选择"一般用途"就可以了。
D.     指定SID
E.      配置是否可以使用Enterprise Manager配置数据库
F.       配置数据库管理员密码,根据需要选择并指定密码
G.    指定数据存放方式,选择"文件系统"
H.     指定数据文件存放位置,选择"所有数据库文件使用公共位置",并通过浏览指定"/bank/oracle/oradata",此目录在3.4节已创建,当然,也可根据实际需要指定。
I.         指定恢复配置,默认即可。
J.       数据库内容,默认即可。
K.      初始化参数,指定字符集为"ZHS16GBK � GBK16位简体中文"。
L.       存储信息,默认即可。
M.    创建选项,默认即可,点击"完成"
N.     确认界面,点击"确定"
O.    等待创建数据库
P.      安装结束,可以看到数据库的管理URL地址
Q.    点击"退出",安装完毕
R.      使用oracle10g提供的web管理平台登录测试,在IE中输入"http://ip"即可(ip为安装oracle10g的机器的ip地址)。:1158/em
4.1 启动加载监听程序
在$ORACLE_HOME/bin/下,修改dbstart文件,在末尾添加lsnrctl start即可。
4.2 启动关闭shell程序
启动shell:可以命名为startdb,将其拷贝到$ORACLE_HOME/bin/下,注意+x可执行。
关闭shell:可以命名为stopdb,将其拷贝到$ORACLE_HOME/bin/下,注意+x可执行。
4.3 配置Oracle自动启动
4.4 权限设置
修改TNS相关的文件权限:>bX-!<S(是否必须还有待进一步研究)
 

chenxu
2008-10-17

【转】Linux磁盘存储区管理原理与技巧

Linux磁盘存储区管理原理与技巧

  在Linux下管理磁盘贮存区算的上一个技巧,很多朋友在这上面常常问我,今天我就把这方面的东西汇总一下,从Linux特有的交换分区的原理开始介绍Linux下如何管理磁盘。


技巧篇

  使用 parted 或 fdisk 来创建交换分区。 parted 比 fdisk 使用起来更方便,因此,只有 parted 在这里会被说明。要使用 parted 来创建交换分区:

  在 shell 提示下以根用户身份键入命令: parted /dev/ hdb 。这里的 /dev/ hdb 是你的带有空闲空间的硬盘驱动器的设备名称。

  在 (parted) 提示下,键入 print 来查看现存的分区和空闲空间的数量。起止值以 MB 为单位。判定硬盘驱动器上的空闲空间数量,以及你想给新建的交换分区分配的空间数量。

  在 (parted) 提示下,键入 mkpartfs part-type linux-swap start end ,这里的 part-type 是 primary、extended、logical 中的一个, start 是分区的起始点, end 是分区的终止点。

  警告:改变会立即发生,在键入时请谨慎从事。

      键入 quit 来退出 parted 。

      以上可以用fdisk 完成分区工作,创建交换分区其实就是创建个分区,如果没有硬盘可以采用创建交换分区文件方法

  现在,你就可以创建交换分区了,使用 mkswap 命令来设置交换分区。在 shell 提示下以根用户身份键入以下命令:

  mkswap /dev/hdb2

  要立即启用交换分区,键入以下命令:

  swapon /dev/hdb2

  要在引导时启用,编辑 /etc/fstab 文件来包括以下行:

  /dev/hdb2 swap swap defaults 0 0

  在系统下次引导时,它就会启用新建的交换分区。

  新添了交换分区并启用它之后,请查看 cat /proc/swaps 或 free 命令的输出来确保交换分区已被启用了。

  要添加交换文件:

  判定新交换文件的大小,将大小乘以 1024 来判定块的大小。例如,大小的 64 MB 的交换文件的块大小为 65536。

  在 shell 提示下以根用户身份键入以下命令,其中的 count 等于想要的块大小:

  dd if=/dev/zero of=/swapfile bs=1024 count=65536

  使用以下命令来设置交换文件:

  mkswap /swapfile

  要立即启用交换文件而不是在引导时自动启用,使用以下命令:

  swapon /swapfile

  要在引导时启用,编辑 /etc/fstab 文件来包含以下行:

  /swapfile swap swap defaults 0 0

  系统下次引导时,它就会启用新建的交换文件。

  新添了交换分区并启用它之后,请查看 cat /proc/swaps 或 free 命令的输出来确保交换分区已被启用了。


3. 删除交换空间

  要删除交换分区:

  硬盘驱动器不能在被使用(分区不能被挂载,交换分区不能被启用)。要达到这一目的的最简单方法 是在救援模式下引导你的系统。

  如果驱动器不包含任何被使用的分区,你还可以卸载这些分区,使用 swapoff 命令来关闭硬盘驱动器上的所有交换空间。

  在 shell 提示下以根用户身份键入以下命令来确定交换分区已被禁用(这里的 /dev/hdb2 是交换分区):

  swapoff /dev/hdb2

  从 /etc/fstab 文件中删除这个项目。

  使用 parted 或 fdisk 来删除分区。只有 parted 在这里会被说明。要使用 parted 来删除分区:

  在 shell 提示下以根用户身份键入命令: parted /dev/ hdb 。这里的 /dev/ hdb 是你的带有交换空间的硬盘驱动器的设备名称。

  在 (parted) 提示下,键入 print 来查看现存的分区并判定你想删除的交换分区的次要号码。

  在 (parted) 提示下,键入 rm MINOR ,这里的 MINOR 是你想删除的分区的次要号码。

  警告:改变会立即发生,你必须键入正确的次要号码。

  键入 quit 来退出 parted 。

  要删除交换文件:

  在 shell 提示下以根用户身份执行以下命令来禁用交换文件(这里的 /swapfile 是交换文件):

  swapoff /swapfile

  从 /etc/fstab 中删除该项目。

  删除实际文件:

  rm /swapfile

  4. 移动交换空间

  要把交换空间从某处移到另一处,请首先遵循删除交换空间的说明,再遵循添加交换空间的说明。

  在你安装了 Red Hat Linux 系统后,你可能想查看现存的分区表,改变分区的大小, 删除分区,或从空闲空间或附加的硬盘驱动器上添加分区。 parted工具会允许你执行这些任务。本章讨论如何使用parted命令来执行文件系统任务。此外,你还可以使用 fdisk来执行多数此类任务(除重新划分分区以外)。要获得 fdisk的更多信息,请阅读其说明书页(man)或信息页(info)。

  你必须安装了parted 软件包才能使用parted工具。要启动parted ,在shell 提示下以根用户身份键入命令 parted /dev/hdb

  这里的/dev/hdb是你想配置的设备名称。你会看到一个(parted)提示。键入 help来查看可用命令的列表。

  如果你想创建、删除分区或重新划分分区大小,分区所在设备不能正在被使用(分区不能被挂载,并且交换空间不能被启用)。 达到这个目的的最简单方法是在救援模式中引导系统。

  如果驱动器不包含任何正在被使用的分区,你可以使用 umount 命令来卸载分区,使用swapoff 命令来关闭硬盘驱动器上的交换空间。

 

命令篇

  下表包含一列最常用的parted命令。

  print

  A table similar to the following will appear:

  Disk geometry for /dev/hda: 0.000-9765.492 megabytes

  Disk label type: msdos

  MinorStart End Type Filesystem Flags

  1 0.031101.975 primary ext3boot

  2101.975611.850 primary linux-swap

  3611.851760.891 primary ext3

  4760.891 9758.232 extended lba

  5760.922 9758.232 logical ext3

  第一行显示了磁盘的大小;第二行显示了磁盘标签类型;剩余的输出显示了分区表。

  在分区表中,Minor(次要)标签是分区号码。例如,次要号码为 1 的分区和 /dev/hda1 相对。

  Start(开始)和 End(结束)值以 MB 为单位。

  Type(类型)是 primary、extended、logical 中的一个。

  Filesystem(文件系统)是文件系统的类型,它可以是 ext2、ext3、FAT、hfs、jfs、linux-swap、ntfs、reiserfs、hp-ufs、sun-ufs 或 xfs 之一。

  Flags(标志)列列出了分区被设置的标准。可用的标志有: boot、root、swap、hidden、raid、lvm 或 lba。

窍门

  要不重新启动 parted来选择不同的设备,使用select命令,再紧跟设备名,如/dev/hdb。然后,你便可以查看或配置它的分区表。

 

原理篇

  1. 交换空间是什么

  Linux 中的 交换空间(Swap space) 在物理内存(RAM)被充满时被使用。如果系统需要更多的内存资源,而物理内存已经充满,内存中不活跃的页就会被移到交换空间去。虽然交换空间可以为带有少量内存的机器提供帮助,但是这种方法不应该被当做是对内存的取代。交换空间位于硬盘驱动器上,它比进入物理内存要慢。

  交换空间可以是一个专用的交换分区(推荐的方法),交换文件,或两者的组合。 交换空间的总大小应该相当于你的计算机内存的两倍和 32 MB这两个值中较大的一个,但是它不能超过 2048 MB(2 GB)。

  2. 添加交换空间

  有时,你会有必要在安装后添加更多的交换空间。例如,你把系统内存从 64 MB 升级到 128 MB,但是你只有 128 MB 的交换内存。如果你执行的是大量使用内存的操作或运行需要大量内存的程序,把交换区增加到 256 MB 可能会对你有利。

  你有两种选择:添加一个交换分区或添加一个交换文件。推荐你添加一个交换分区,不过,若你没有多少空闲空间可用,创建交换分区可能会不大容易。

  要添加一个交换分区(假设 /dev/hdb2 是你想添加的交换分区):

  硬盘驱动器不能在被使用(分区不能被挂载,交换分区不能被启用)。要达到这一目的的最简单方法是在救援模式下引导你的系统。当提示挂载文件系统时,选择 「跳过」 。

  如果驱动器不包含任何被使用的分区,你还可以卸载这些分区,使用 swapoff 命令来关闭硬盘驱动器上的所有交换空间。


 

 

chenxu
2008-10-17

[转]Linux关机命令详解

shutdown -k -h now

shutdown -h now -t 5

本文出自:LinuxAid.com.cn 作者: sword_martin (2002-01-30 21:03:06)
在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都
可以达到重启系统的目的,但每个命令的内部工作过程是不同的,通过本文的介绍,希
望你可以更加灵活的运用各种关机命令。
   1.shutdown
shutdown命令安全地将系统关机。 有些用户会使用直接断掉电源的方式来关闭linux,
这是十分危险的。因为linux与windows不同,其后台运行着许多进程,所以强制关机可能
会导致进程的数据丢失�使系统处于不稳定的状态�甚至在有的系统中会损坏硬件设备。
而在系统关机前使用shutdown命令�系统管理员会通知所有登录的用户系统将要关闭。
并且login指令会被冻结�即新的用户不能再登录。直接关机或者延迟一定的时间才关机
都是可能的�还可能重启。这是由所有进程〔process〕都会收到系统所送达的信号〔signal〕
决定的。这让像vi之类的程序有时间储存目前正在编辑的文档�而像处理邮件〔mail〕和
新闻〔news〕的程序则可以正常地离开等等。
shutdown执行它的工作是送信号〔signal〕给init程序�要求它改变runlevel。
Runlevel 0被用来停机〔halt〕�runlevel 6是用来重新激活〔reboot〕系统�
而runlevel 1则是被用来让系统进入管理工作可以进行的状态�这是预设的�假定没有-h也
没有-r参数给shutdown。要想了解在停机〔halt〕或者重新开机〔reboot〕过程中做了哪些
动作�你可以在这个文件/etc/inittab里看到这些runlevels相关的资料。
   shutdown 参数说明:
   [-t] 在改变到其它runlevel之前�告诉init多久以后关机。
   [-r] 重启计算器。
   [-k] 并不真正关机�只是送警告信号给每位登录者〔login〕。
   [-h] 关机后关闭电源〔halt〕。
   [-n] 不用init�而是自己来关机。不鼓励使用这个选项�而且该选项所产生的后果往
往不总是你所预期得到的。
   [-c] cancel current process取消目前正在执行的关机程序。所以这个选项当然没有
时间参数�但是可以输入一个用来解释的讯息�而这信息将会送到每位使用者。
   [-f] 在重启计算器〔reboot〕时忽略fsck。
[-F] 在重启计算器〔reboot〕时强迫fsck。
   [-time] 设定关机〔shutdown〕前的时间。



比如要在 10:00关闭系统,并给登录用户一条提示信息:
$ shutdown -h 10:00 "系统维护10:00关机,11:00恢复"

比如要在15分钟后重启计算机:
$ shutdown -r +15


     
2.halt----最简单的关机命令
   其实halt就是调用shutdown -h。halt执行时�杀死应用进程�执行sync系统调用�
文件系统写操作完成后就会停止内核。
   参数说明:
   [-n] 防止sync系统调用�它用在用fsck修补根分区之后�以阻止内核用老版本的超
级块〔superblock〕覆盖修补过的超级块。
   [-w] 并不是真正的重启或关机�只是写wtmp〔/var/log/wtmp〕纪录。
   [-d] 不写wtmp纪录〔已包含在选项[-n]中〕。
   [-f] 没有调用shutdown而强制关机或重启。
   [-i] 关机〔或重启〕前�关掉所有的网络接口。
   [-p] 该选项为缺省选项。就是关机时调用poweroff。
  
3.reboot
reboot的工作过程差不多跟halt一样�不过它是引发主机重启�而halt是关机。它
的参数与halt相差不多。
4.init
init是所有进程的祖先�它的进程号始终为1�所以发送TERM信号给init会终止所有的
用户进程�守护进程等。shutdown 就是使用这种机制。init定义了8个运行级别(runlevel),
init 0为关机�init 1为重启。关于init可以长篇大论�这里就不再叙述。另外还有
telinit命令可以改变init的运行级别�比如�telinit -iS可使系统进入单用户模式�
并且得不到使用shutdown时的信息和等待时间。


chenxu
2008-10-17

【转】Linux 创建文件系统及挂载文件系统流程详解

作者:北南南北
来自: LinuxSir.Org
摘要:本文对新增硬盘,切割硬盘,创建硬盘分区,为硬盘分区创建文件系统,以及加载文件系统的流程做总结性论述;主要是为初学者弄清楚这一操作过程;本文涉及fdisk、mkfs、mount ... ... 等工具;对/etc/fstab 进行了解说;还有磁盘扫描工具fsck 等介绍;
++++++++++++++++++++++++++++++++++++++++++++++++++++++
正文
++++++++++++++++++++++++++++++++++++++++++++++++++++++

阅读此文,必须具备知识点:
《Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍》
《实例解说 fdisk 使用方法》
《合理规划您的硬盘分区》
《Fedora / Redhat 软件包管理指南》
如果您想加载一个分区(文件系统),首先您得确认文件系统的类型,然后才能挂载使用,比如通过mount 加载,或者通过修改 /etc/fstab来开机自动加载;
如果您想添加一个新的分区,或者增加一个新的硬盘,您要通过分区工具来添加分区,然后要创建分区的文件系统,然后才是挂载文件系统;比如通过mount 加载,或者通过修改 /etc/fstab来开机自动加载;本文总有一部份是您想要的;比如在新的分区上创建文件系统,如何挂载;如何卸载文件系统或者设备(比如cdrom )等;我建您最好通读本文,然后根据自己的需要再做选择性实践; Linux的一个小问题涉及的很多方面的知识,有时一篇文档是难以说清楚;我为了尽可能详细解说每一个过程,所以把分区工具、创建文件系统工具、查看文件系统的工具分开来说,主要是让初学者比较容易理解。希望您能理解本人的用心;传说北南长的比较丑,但心的还是善良的 ... ...我是不会用一些垃圾文档来害您 ... ... 哈哈 ... ... 言归正传,开文~~~~
一、对存储设备的分区;
我们这里所指的存储设备主要是本地硬盘、移动硬盘(比如USB 和1394接口的硬盘);由于磁盘很大并且为了满足我们各种需要,所以把硬盘分成若干个分区;比如我们可以用这个分区来安装Linux系统,那个分区用来安装Windows系统... ... ;这点小事大家都明白;至于如何在 Linux中进行硬盘分区操作,我们推荐您用 fdisk ,目前看来也是最好用的分区工具;其它工具比如parted 和cfdisk在某一方面有点优点,但这些优点可能为大家带来一些方便 ,比如 parted中的数据备份功能,这个功能对老手来说可能是优点,但对新手来说,的确是有风险的;所以我们还是推荐您用 fdisk 分区工具; fdisk 的使用说明: 请参考:
《实例解说 fdisk 使用方法》
二、存储设备进行格式化,即建立文件系统的过程;

1、文件系统的一点介绍
我们对存储设备分区还是远远不够的,我们还要对这些新增分区进行格式化;一个分区只有建立了某种文件系统后,这个分区才能使用;建立文件系统过程,就是用相应格式化工具格式化分区的过程,这个过程和我们在Windows中格式化某个分区为NTFS分区类似;没有什么高深的内容,只是所用的工具不一样罢了;在Linux操作系统中,目前几乎支持目前主流的文件系统,比如NTFS(只读)、FAT(可读可写)、ext2、ext3、reiserfs、hfs (MAC 操作系统的文件系统)、swap 交换分区... ... 还有一些咱们不熟悉的操作系统的文件系统等;在Linux中,我们常用的文件系统无非是上面例出的这些;如果您新增了一个硬盘,可能想格式化成 Linux的文件系统,最佳选择是 reiserfs 或ext3;目前ext2已被 ext3取代;我们不推荐用ext2文件系统,ext2的使用风险比较大;速度最快的文件系统,当属reiserfs;reiserfs 还有很多优点,比如更安全;ext3是Redhat认为最好的文件系统,所以在Fedora 4.0在安装时,特地为reiserfs 的选择弄出点麻烦;相对来说reiserfs还是比ext3要优秀;如果想深入学习文件系统的,您可以到官方论坛找相应的资料,最好是实践实践;

2、格式化工具介绍和使用;
以fedora 4.0为例,我们常用的工具mkfs mkfs.ext3 mkfs.reiserfs mkfs.ext2 mkfs.msdos mkfs.vfat mkswap 提示:如果您不能创建reiserfs 文件系统,也就是说没有mkfs.reiserfs 或者mkreiserfs 命令,是您没有安装reiserfs-utils工具包,请参考:
《让Fedora 支持创建reiserfs 文件系统,以及创建reiserfs文件系统的一点说明》
1)mkfs的使用;
使用方法:
[root@localhost beinan]# mkfs -t 文件系统  存储设备



注:
这里的文件系统是要指定的,比如 ext3 ;reiserfs ;ext2 ;fat32 ;msdos 等... ...
设备比如是一个硬盘的分区,软盘,光驱等.. ... 在格式化分区之前,您得懂得如何查看硬盘分区情况,并有针对性的格式化;比如用 fdisk -l 来查看; 请参考:《Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍》 比如我想格式化一个移动U盘中的一个分区;全景应该是:
[root@localhost beinan]# fdisk -l

Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1         765     6144831    7  HPFS/NTFS
/dev/hda2             766        2805    16386300    c  W95 FAT32 (LBA)
/dev/hda3            2806        9729    55617030    5  Extended
/dev/hda5            2806        3825     8193118+  83  Linux
/dev/hda6            3826        5100    10241406   83  Linux
/dev/hda7            5101        5198      787153+  82  Linux swap / Solaris
/dev/hda8            5199        6657    11719386   83  Linux
/dev/hda9            6658        7751     8787523+  83  Linux
/dev/hda10           7752        9729    15888253+  83  Linux

Disk /dev/sda: 1035 MB, 1035730944 bytes
256 heads, 63 sectors/track, 125 cylinders
Units = cylinders of 16128 * 512 = 8257536 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          25      201568+  83  Linux
/dev/sda2              26         125      806400    5  Extended
/dev/sda5              26          50      201568+  83  Linux
/dev/sda6              51          76      200781     83  Linux
我们可以看到有sda这个设备,所以可以用 fdisk -l /dev/sda专门来显示他的分区情况;比如我想格式化 /dev/sda6 分区为 ext3文件系统,则为:
[root@localhost beinan]# mkfs -t ext3  /dev/sda6
mke2fs 1.37 (21-Mar-2005)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
50200 inodes, 200780 blocks
10039 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
25 block groups
8192 blocks per group, 8192 fragments per group
2008 inodes per group
Superblock backups stored on blocks:
        8193, 24577, 40961, 57345, 73729

Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information:  注:在这里直接回车;
done

This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
这样就格式化好了,sda6现在就是ext3文件系统了;我们就可以用mount 加载这个分区,然后使用这个文件系统;
[root@localhost beinan]# mkdir /mnt/sda6
[root@localhost beinan]# chmod 777 /mnt/sda6
[root@localhost beinan]# mount /dev/sda6   /mnt/sda6
当然您也可以把分区格式化成其它的文件系统;比如我们把 /dev/sda6格式化为ext3 、ext2、reiserfs、fat32、msdos 文件系统,命令格式如下;
[root@localhost beinan]# mkfs -t ext3  /dev/sda6
[root@localhost beinan]# mkfs -t ext2  /dev/sda6
[root@localhost beinan]# mkfs -t reiserfs  /dev/sda6
[root@localhost beinan]# mkfs -t fat32   /dev/sda6
[root@localhost beinan]# mkfs -t msdos   /dev/sda6
... ...

2)mkfs.ext3 mkfs.reiserfs mkfs.ext2 mkfs.msdos mkfs.vfat mke2fs 的介绍;
我们先说了一个mkfs 工具后,我们再来介绍 mkfs.ext3 mkfs.reiserfs mkfs.ext2 mkdosfs mkfs.msdos mkfs.vfat ,其实mkfs 在执行的命令的时候,也是调用的这个工具,这也是我先把mkfs介绍的主要原因;通过文件名,我们就知道这些工具是支持什么文件系统;这些命令为我们提供了更多的方便;


[root@localhost beinan]# mkfs.ext3    /dev/sda6     注:把该设备格式化成ext3文件系统
[root@localhost beinan]# mke2fs -j   /dev/sda6       注:把该设备格式化成ext3文件系统
[root@localhost beinan]# mkfs.ext2  /dev/sda6       注:把该设备格式化成ext2文件系统
root@localhost beinan]# mke2fs    /dev/sda6          注:把该设备格式化成ext2文件系统
[root@localhost beinan]# mkfs.reiserfs  /dev/sda6   注:把该设备格式化成reiserfs文件系统
[root@localhost beinan]# mkfs.vfat   /dev/sda6        注:把该设备格式化成fat32文件系统
[root@localhost beinan]# mkfs.msdos   /dev/sda6   注:把该设备格式化成fat16文件系统,msdos文件系统就是fat16;
[root@localhost beinan]# mkdosfs   /dev/sda6         注:把该设备格式化成fat16文件系统,同mkfs.msdos
... ...



2)mkswap 把一个分区格式化成为swap交换区;

[root@localhost beinan]# mkswap /dev/sda6  注:创建此分区为swap 交换分区
[root@localhost beinan]# swapon  /dev/sda6  注:加载交换分区;
[root@localhost beinan]# swapoff  /dev/sda6  注:关闭交换分区;
我们查看系统已经加载的swap交换分区;
[root@localhost beinan]# swapon  /dev/sda6  注:加载交换分区;
[root@localhost beinan]# swapon -s               
Filename                                Type            Size    Used    Priority
/dev/hda7                               partition       787144  0       -1
/dev/sda6                               partition       225144  0       -3
<code>

为什么我的系统有两个交换分区?因为我用移动U盘做的实验,主要是为写教程之用;sda6是我在U盘上建的swap分区;

如果让swap开机就加载,应该改 /etc/fstab文件,加类似如下一行;

<code>
/dev/sda6         swap                    swap    defaults        0 0  注:把此行中的/dev/hda7 改为您的交换分区就行;
或者把命令行直接写入 /etc/rc.d/rc.local中也行;
swapon  /dev/sda6 
如果您的硬盘不能再分区,您可以创建一个swap文件
[root@localhost beinan]# dd if=/dev/zero of=/tmp/swap bs=1024 count=524288 注:创建一个大小为512M 的swap 文件,在/tmp目录中;您可以根据自己的需要的大小来创建swap 文件;

读入了 524288+0 个块
输出了 524288+0 个块
[root@localhost beinan]# mkswap /tmp/swap 注:把/tmp/swap 文件,创建成swap 交换区
Setting up swapspace version 1, size = 536866 kB
no label, UUID=d9d8645d-92cb-4d33-b36e-075bb0a2e278
[root@localhost beinan]# swapon /tmp/swap   注:挂载swap

[root@localhost beinan]# swapon -s
Filename Type Size Used Priority
/dev/hda7 partition 787144 888 -1
/tmp/swap file 524280 0 -2
注意:其实我们在安装系统的时候,就已经划分了交换分区;查看/etc/fstab,应该swap的行;如果您在安装系统时没有添加swap,可以通过这种办法来添加;
三、挂载文件系统;
挂载文件系统,目前有两种方法,一是通过 mount 来挂载,另一种方法是通过/etc/fstab文件来开机自动挂载;
1、通过mount 来挂载磁盘分区(或存储设备)
mount的用法其实也简单,我们说几个常用的;

挂载文件系统的命令格式:

[root@localhost beinan]# mount  [-t  文件系统 ]  [-o  选项]  设备  目录
注: -t 通过这个参数,我们来指定文件系统的类型,一般的情况下不必指定有时也能识加,-t 后面跟 ext3 、ext2 、reiserfs、vfat 、ntfs 等,其中 vfat 是fat32和fat16分区文件系统所所用的参数;如果您忘记了文件系统,也可以在-t 后面加auto ; -o 这个选项,主要选项有权限、用户、磁盘限额、语言编码等,但语言编码的选项,大多用于vfat和ntfs文件系统;由于选项太多,还是请您看看 man mount ;这里不多说;设备 指存储设备,比如/dev/hda1, /dev/sda1 ,cdrom 等...至于您的系统中有哪些存储设备,主要通过 fdisk -l 或者查看 /etc/fstab 或 dmesg ;一般的情况下光驱设备是/dev/cdrom ;软驱设备是/dev/fd0 ;硬盘及移动硬盘以 fdisk -l 的输出为准;
1)对光驱和软驱的挂载;


举例:

[root@localhost beinan]# mount /dev/cdrom
[root@localhost beinan]# mount /dev/fd0
第一行是mount 光驱,至于mount 到哪了,我们可以通过查看 /etc/fstab来查看;同理软驱/dev/fd0设备也是如此;比如我们在/etc/fstab
/dev/hdc                /media/cdrecorder       auto    users,exec,noauto,managed 0 0
我们可以肯定的是光盘被mount 到了 /media/cdrecorder 目录;但我们也可以自己来指定cdrom 挂载的位置 ;比如 /mnt/cdrom ,所以我们也可以这样来挂载光驱;
[root@localhost beinan]#mkdir /mnt/cdrom
[root@localhost beinan]# mount /dev/cdrom  /mnt/cdrom
我们先建一个目录,然后执行mount 命令,这样cdrom 就挂在 /mnt/cdrom 中了;我们就可以在/mnt/cdrom 中查看光盘中资料和文件;这个目录您想怎么建就怎么建。用什么目录不是最重要的。重要的是您知道自己在做什么就行了。比如我们也可以把这个目录建成 dvdrom ;然后用 mount /dev/cdrom /mnt/dvdrom 来挂载;有时我们的设备是COMBO的,有支持dvd cd 还能支持刻录的;我们最好查一下光驱设备的,主要有两个方法,一是通过查看 /etc/fstab ,二是通过ls -l 来查看;比如我们在/etc/fstab中查看到类似下面的一行;
/dev/hdc                /media/cdrecorder       auto    users,exec,noauto,managed 0 0
通过这个,我们能知道hdc 就是cdrom 也是dvdrom的设备 ,更是 cdrecorder的设备;为了验证我们的说法;请用ls -l 来列文件;
[root@localhost beinan]# ls -lh /dev/dvd*
lrwxrwxrwx  1 root root 3 2005-09-13  /dev/dvd -> hdc
[root@localhost beinan]# ls -lh /dev/cdrom
lrwxrwxrwx  1 root root 3 2005-09-13  /dev/cdrom -> hdc
[root@localhost beinan]# ls -lh /dev/cdwriter
lrwxrwxrwx  1 root root 3 2005-09-13  /dev/cdwriter -> hdc
这不一目了然了吗?dvd 、cdrom 、cdwriter 的文件名都链接到了hdc这个设备,所以光驱设备根源就是/dev/hdc ;所以我们也可以这样挂载光驱;
[root@localhost beinan]# mkdir /mnt/cdrom
[root@localhost beinan]# mount  /dev/hdc   /mnt/cdrom




2)挂载硬盘和移动硬盘的文件系统;
一个分区只有创建了文件系统后才能使用,前面我们说过了,我们在Linux大多用的是ext2 、ext3、reiserfs、fat32、msdos 、ntfs等;

[1]挂载Linux文件系统;
对于ext2 、ext3 、reiserfs 不需要指定文件系统的编码,其实mount 也没有这个功能;这些Linux文件系统,如果出现编码问题,一般是通过export LANG来指定;所以挂载这些文件系统比较简单;首先我们得建一个文件系统挂载的目录;我们前面已经提到了;一个有文件系统的分区要挂到系统中,必须要有一个挂载点;这个挂载点就是一个目录;比如我们通过fdisk -l 得知hda5 是Linux分区,并且创建了文件系统,比如是reiserfs 文件系统吧;
[root@localhost beinan]# fdisk -l /dev/hda

Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1         765     6144831    7  HPFS/NTFS
/dev/hda2             766        2805    16386300    c  W95 FAT32 (LBA)
/dev/hda3            2806        9729    55617030    5  Extended
/dev/hda5            2806        3825     8193118+  83  Linux
/dev/hda6            3826        5100    10241406   83  Linux
/dev/hda7            5101        5198      787153+  82  Linux swap / Solaris
/dev/hda8            5199        6657    11719386   83  Linux
/dev/hda9            6658        7751     8787523+  83  Linux
/dev/hda10           7752        9729    15888253+  83  Linux
我们先用fdisk -l 来查看一下分区情况:我们想要挂载/dev/hda5分区,比如hda5分区创建的是reiserfs文件系统;
[root@localhost beinan]# mkdir /mnt/hda5/   注:先创建一个挂载目录;
[root@localhost beinan]# chmod 777  /mnt/hda5/    注:设置/mnt/hda5的权限为任何用户可写可读可执行;这样所有的用户都能在写入;
[root@localhost beinan]# mount -t reiserfs /dev/hda5 /mnt/hda5    注:通过-t reiserfs 来指定/dev/hda5是reiserfs 文件系统, 并且挂载到/mnt/hda5目录;
[root@localhost beinan]# mount  -t auto   /dev/hda5 /mnt/hda5   注:假如我们不知道hda5上reiserfs 文件系统,我们可以用 -t auto 让系统定夺,然后挂载到/mnt/hda5 ;
[root@localhost beinan]# mount /dev/hda5 /mnt/hda5   注:不加任何参数,直接 mount   /dev/hda5 到/mnt/hda5;系统自动判断分区文件系统;
是不是被挂载了,我们通过df -lh 来查看;
[root@localhost beinan]# df -lh
Filesystem            容量  已用 可用 已用% 挂载点
/dev/hda8              11G  8.5G  1.9G  83% /
/dev/shm              236M     0  236M   0% /dev/shm
/dev/hda10             16G  6.9G  8.3G  46% /mnt/hda10
/dev/hda5             7.9G  5.8G  2.1G  74% /mnt/hda5




[2]挂载Windows文件系统;
请参考: 《在Fedora core 4.0 加载NTFS和FAT32分区详述》
3)卸载文件系统umount ;


命令用法:
[root@localhost beinan]# umount  设备或挂载目录


举例:

[root@localhost beinan]# mount -t auto /dev/hda5 /mnt/hda5   注:挂载/dev/hda5;
[root@localhost beinan]# df -lh       注:查看/dev/hda5是否被挂载;
Filesystem            容量  已用 可用 已用% 挂载点
/dev/hda8              11G  8.5G  1.9G  83% /
/dev/shm              236M     0  236M   0% /dev/shm
/dev/hda10             16G  6.9G  8.3G  46% /mnt/hda10
/dev/hda5             7.9G  5.8G  2.1G  74% /mnt/hda5
[root@localhost beinan]# umount /dev/hda5  注:卸载/dev/hda5
[root@localhost beinan]# df -lh        注:看是否卸载了/dev/hda5;
Filesystem            容量  已用 可用 已用% 挂载点
/dev/hda8              11G  8.5G  1.9G  83% /
/dev/shm              236M     0  236M   0% /dev/shm
/dev/hda10             16G  6.9G  8.3G  46% /mnt/hda10
[root@localhost beinan]#umount /dev/cdrom  注:卸载cdrom ;
[root@localhost beinan]#umount  /dev/fd0   注:卸载软驱;
... ... 再说一个查看分区是否被挂载了的命令,直接用 mount -s
[root@localhost beinan]# mount -s

2、通过/etc/fstab文件来开机自动挂载文件系统


1)理解fstab
上面我们说了mount挂载存储设备文件系统的办法;现在我们再来说一说在/etc/fstab 中实现开机自动挂载文件系统的办法;首先我们要查看 /etc/fstab ;主要看他的规划写法;
# This file is edited by fstab-sync - see 'man fstab-sync' for details
LABEL=/1                /                       ext3    defaults        1 1
/dev/devpts             /dev/pts                devpts  gid=5,mode=620  0 0
/dev/shm                /dev/shm                tmpfs   defaults        0 0
/dev/proc               /proc                   proc    defaults        0 0
/dev/sys                /sys                    sysfs   defaults        0 0
LABEL=SWAP-hda7         swap                    swap    defaults        0 0
/dev/hdc                /media/cdrecorder       auto    users,exec,noauto,managed 0 0
第一字段:设备名,在这里表示是文件系统; 有时我们把挂载文件系统也说成挂载分区; 在这个字段中也可以用分区标签;在例子中/LABEL=/1就是Fedora 系统安装分区的标签,至于是在哪个分区,可以用 df -lh 来查看;
[root@localhost beinan]# df -lh
Filesystem            容量  已用 可用 已用% 挂载点
/dev/hda8              11G  8.5G  1.9G  83% /
/dev/shm              236M     0  236M   0% /dev/shm
/dev/hda10             16G  6.9G  8.3G  46% /mnt/hda10
我们可以知道 LABEL=/1是/dev/hda8的标签;那我们用什么命令来创建硬盘分区的标签呢?对于ext3和ext2文件系统,我们可以用 e2label 来设置
e2label device [newlabel]
比如我们想把文件系统为ext3 的分区/dev/hda5的标签设备为 /5 ,我们应该执行如下的命令:
[root@localhost beinan]# e2label /dev/hda5  /5  
[root@localhost beinan]# mkdir /mnt/hda5  注:创建挂载/dev/hda5分区的目录;
[root@localhost beinan]# chmod 777 /mnt/hda5  注:打开权限,所有用户可读可写可执行;
然后我们要改/etc/fstab 中加一行
/5         /mnt/hda5                    ext3     defaults        0 0
警告: 请不要在您的Linux的安装分区(也就是Linux系统/ 所在的分区)实践,会导致您的Linux系统崩溃;如果想实践,请在其它分区测试;如果是reiserfs文件系统,我们应该用 [root@localhost beinan]# reiserfstune -l 标签 设备 举例:比如我为reiserfs 文件系统 /dev/hda10设置标签为 /10 ;
[root@localhost beinan]# reiserfstune -l /10 /dev/hda10
我们在/etc/fstab中加入一行;
/10              /mnt/hda10              reiserfs defaults       0 0

警告: 请不要在您的Linux的安装分区(也就是Linux系统/ 所在的分区)实践,会导致您的Linux系统崩溃;如果想实践,请在其它分区测试;第二字段:文件系统的挂载点;
第三字段:文件系统类型;
第四字段:mount 命令的选项,和mount 中的-o 同理;defaults包括这些选项 rw, suid, dev, exec, auto, nouser, async;通过实践,这个默认的还能满足我们的需要;至于这些选项的意思,请参看man mount ;第五字段:表示文件系统是否需要dump 备份,是真假关系;1是需要,0 是不需要;
第六字段: 是否在系统启动时,通过fsck磁盘检测工具来检查文件系统,1是需要,0是不需要,2是跳过;基于这些认识;比如我们要开机自动挂载/dev/hda5 ;我们可以如下做;
[root@localhost beinan]# mkdir /mnt/hda5/   注:先创建一个挂载目录;
[root@localhost beinan]# chmod 777  /mnt/hda5/    注:设置/mnt/hda5的权限为任何用户可写可读可执行;这样所有的用户都能在写入;
然后我们在/etc/fstab 中加如下的一行;
/dev/hda5              /mnt/hda5             reiserfs defaults       0 0
这样重启机器就能看到效果了;
四、对文件系统进行扫描fsck;
大家对Windows中的scandisk不寞生吧,在Linux中就有类似这样的工具fsck,不过fsck 可不仅仅是扫描,还能修正文件系统的一些问题。值得注意的是fsck 扫描文件系统时一定要在单用户模式、修复模式或把设备umount后进行。警告:如果扫描正在运行中的系统,会造成系统文件损坏;如果您的系统是正常,请不要用扫描工具,她可能会把您的系统搞坏掉,fsck运行是有危险的;以Fedora 为例,文件系统扫描工具有 fsck fsck.ext2 fsck.jfs fsck.msdos fsck.vfat fsck.ext3 fsck.reiserfs(reiserfsck)其中fsck 默认支持文件系统ext2,如果想支持ext3文件系统的扫描,应该加-j 参数,最好是我们应该根据不同的文件系统来调用不同的扫描工具,比如 fsck.ext2,fsck.jfs,fsck.msdos,fsck.ext3,fsck.reiserfs(reiserfsck)等。我们也可以根据自己的文件系统选择不同的扫描工具;举例:扫描/dev/hda10分区(基于reiserfs文件系统 );
[root@localhost beinan]# fsck.reiserfs /dev/hda10
reiserfsck 3.6.19 (2003 www.namesys.com)

*************************************************************
** If you are using the latest reiserfsprogs and  it fails **
** please  email bug reports to reiserfs-list@namesys.com, **
** providing  as  much  information  as  possible --  your **
** hardware,  kernel,  patches,  settings,  all reiserfsck **
** messages  (including version),  the reiserfsck logfile, **
** check  the  syslog file  for  any  related information. **
** If you would like advice on using this program, support **
** is available  for $25 at  www.namesys.com/support.html. **
*************************************************************

Will read-only check consistency of the filesystem on /dev/hda10
Will put log info to 'stdout'

Do you want to run this program?[N/Yes] (note need to type Yes if you do):Yes
###########
reiserfsck --check started at Wed Sep 14 08:54:17 2005
###########
Replaying journal..
Reiserfs journal '/dev/hda10' in blocks [18..8211]: 0 transactions replayed
Checking internal tree..finished
Comparing bitmaps..finished
Checking Semantic tree:
finished
No corruptions found   注:没有发现错误;
There are on the filesystem:
        Leaves 2046
        Internal nodes 15
        Directories 130
        Other files 2305
        Data block pointers 1863657 (70565 of them are zero)
        Safe links 0
###########
reiserfsck finished at Wed Sep 14 08:54:33 2005
###########
对于fsck.ext2和fsck.ext3常用的几个选项:
-p         Automatic repair (no questions) 注:自动修复文件系统存在的问题;
-y         Assume "yes" to all questions   注:如果文件系统有问题,会跳出提示是否修复,如果修复请按y;
-c         Check for bad blocks and add them to the badblock list 注:对文件系统进行坏块检查;这是一个极为漫长的过程;
-n         Make no changes to the filesystem   注:不对文件系统做任何改变,只要扫描,以检测是否有问题;
举例:比如 /dev/hda6 (文件系统是ext3的),我想扫描并自动修复;
[root@localhost beinan]# fsck.ext3  -p /dev/hda6
注意: 针对不同文件系统,最好用相应的工具;虽然有时fsck 在不加参数的情况下能识别不同的文件系统;对于不同工具的最为详细的参数,请参看--help或者man ,谢谢。。
后记:创建文件系统和加载文件系统就算写的差不多了;再高深的可能也不是我所能写的。为了写文件系统系统的挂载,我已经写过几篇文档。可能还得需补充几篇短小文档,以及还有一个总结性的文档;比如Fedora Core 4.0 默认安装不支持创建reiserfs 文件系统,解决办法是安装reiserfs-utils ,这也是需要补充的;
附录: 《Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍》
《实例解说 fdisk 使用方法》
《在Fedora core 4.0 加载NTFS和FAT32分区详述》
《合理规划您的硬盘分区》
《系统引导过程及硬盘分区结构论述》
《Fedora Core 4.0 HAL配置即插即用移动存储(USB及1394)的实践》
 

chenxu
2008-10-17

dos常用命令

 cd     改变当前目录       sys   制作DOS系统盘

  copy    拷贝文件         del   删除文件

  deltree   删除目录树        dir   列文件名

  diskcopy  制磁盘          edit  文本编辑

  format    格式化磁盘        md   建立子目录

  mem     查看内存状况       type  显示文件内容

  rd     删除目录         ren   改变文件名

    cls     清屏

 

chenxu
2008-10-17