⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 166.html

📁 本文详细介绍了学习FREEBSD的一些命令
💻 HTML
字号:
<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>www.newok.com::FreeBSD使用大全</title>
<link rel=stylesheet href="newok.css" tppabs="http://www.newok.com/include/newok.css">
</head>

<body>

<div align=center>
<p>&nbsp;</p>
<table width=720>
<tr><td>
<strong>当前所在位置:</strong><a href="javascript:if(confirm('http://www.at.china.com/bsd/index.html  \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?'))window.location='http://www.at.china.com/bsd/index.html'" tppabs="http://www.at.china.com/bsd/index.html" class=t1>FreeBSD使用大全>></a>
</td></tr>
</table>
<table width=700>
<tr><th><font color=white>FreeBSD连载(20):建立文件系统</font></th></tr>
<tr><td>&nbsp;</td></tr>
<tr><td align=left><i>作者:</i>王波</td></tr>
<tr><td>&nbsp;</td></tr>
<tr><td><font color=white>当系统负载逐步增加,仅仅依靠原有文件系统的空间是不够的,更有效的方式是增加新的硬盘设备。这首先需要改动硬盘及其控制器的硬件设置,以及FreeBSD内核配置,以便硬盘能安装到计算机上并能被FreeBSD内核正确识别。接下来就需要在新硬盘上创建新的文件系统。<br><br>  在系统安装过程中,已经接触了在FreeBSD下管理硬盘和分区的方式,FreeBSD需要两个步骤才能为文件系统分配一个硬盘空间,第一步是为FreeBSD创建一个UFS系统分区,这个分区只由FreeBSD来使用,然后在第二步中从这个分区中,为各个文件系统划分空间,在FreeBSD下称为创建文件系统的DiskLabel标签。<br><br>  最容易和直观的创建新文件系统或交换空间方式是使用安装程序sysinstall,以便系统启动能够自动安装上这个文件系统。使用Sysinstall来安装新文件系统的方式在系统安装的过程中已经有了详细描述,以root权限执行/stand/sysinstall就能进入Sysinstall,然后选择Partition进行分区,选择&nbsp;Label创建和维护BSD文件系统。&nbsp;<br><br><br>建立文件系统的命令行方式<br><br>  除了使用sysinstall之外,还可以使用命令行的方式来完成这些操作。相比较而言,命令行的方式更困难,也更容易出错,因此一般不需要使用这种方式,然而命令行方式能带来更大的灵活性,在一些系统维护情况下更为有效。<br><br>  命令行方式建立文件系统需要使用fdisk命令进行硬盘的分区工作,fdisk能查看系统分区表上的分区信息,并更改其分区设置;然后disklabel命令可以在分区中划分不同子分区空间并标记各个空间的DiskLabel&nbsp;;使用newfs建立新文件系统,或者使用swapon命令增加交换设备。<br><br>  创建新文件系统,首先要使用交互式的fdisk命令(使用-i参数)对硬盘进行分区,不带参数的fdisk命令仅仅显示该硬盘的分区设置,而不能更改设置。fdisk均使用它检测到的硬盘设置作为缺省设置,如果不需要改变,就可以直接使用这些缺省设置回应其询问。在fdisk中可以修改的数据有硬盘映射数据,以及四个分区的起始位置和类型。<br><br>#&nbsp;fdisk&nbsp;-i&nbsp;wd1<br>*******&nbsp;Working&nbsp;on&nbsp;device&nbsp;/dev/rwd1&nbsp;*******<br>parameters&nbsp;extraced&nbsp;from&nbsp;in-core&nbsp;disklabel&nbsp;are:<br>cylinders=525&nbsp;heads=255&nbsp;sectors/track=63&nbsp;(16065&nbsp;blks/cyl)<br> <br>parameters&nbsp;to&nbsp;be&nbsp;used&nbsp;for&nbsp;BIOS&nbsp;calculations&nbsp;are:<br>cylinders=525&nbsp;heads=255&nbsp;sectors/track=63&nbsp;(16065&nbsp;blks/cyl)<br> <br>Do&nbsp;you&nbsp;want&nbsp;to&nbsp;change&nbsp;our&nbsp;idea&nbsp;of&nbsp;what&nbsp;BIOS&nbsp;thinks&nbsp;?&nbsp;[n]<br><br>&nbsp;<br>&nbsp;<br><br>  fdisk能检测硬盘的真实映射数据和BIOS的映射数据,由于FreeBSD不使用BIOS存取硬盘数据,因此这两个数据有可能不一致,但这不影响FreeBSD系统对硬盘的访问。但BIOS的映射数据必须与BIOS中的设置一致,否则fdisk使用错误数据划分的分区,系统的引导和其他使用BIOS的操作系统就无法正确识别。当硬盘上没有硬盘分区时,fdisk无法获得正确的BIOS映射数据(因为FreeBSD不访问BIOS),此时就需要在询问是否更改BIOS映射方式时回答yes,以进行更改。一般在硬盘上已有分区或不需要兼容的情况下,不需要更改这个设置,直接回车选择no略过这个设置。&nbsp;<br><br>The&nbsp;data&nbsp;for&nbsp;partition&nbsp;1&nbsp;is:<br>UNUSED><br>Do&nbsp;you&nbsp;want&nbsp;to&nbsp;change&nbsp;it?&nbsp;[n]&nbsp;y<br><br>&nbsp;<br>&nbsp;<br><br>  然后,fdisk会针对每个分区询问是否更改其数据,此时按需要更改分区的设置。由于使用fdisk可以直接指定分区的起始和结束,因此具有很大的灵活性,也很容易出现错误,如分区的划分出现重叠。由于多操作系统引导程序&nbsp;Boot&nbsp;Manager占用了硬盘主引导区后面的几个空余扇区,按照DOS/Windows的标准,虽然主引导区仅占用了一个扇区,同一柱面中的其他扇区(一般为64或32个)也不能被分配给其他分区,而要保持为空余,这些扇区可以为&nbsp;Boot&nbsp;Manager占用。这样就在fdisk指定分区的起始时,是不能从0开始的,而要从下一个柱面的起始位置开始。<br><br>  然后按照要求回答分区的类型,(FreeBSD分区为165,DOS分区为6),分区的开始位置和大小,注意单位应该为512字节(扇区大小)。后面的大部分参数可以使用缺省值回应询问,或者设定激活分区。<br><br>  更改分区设置并保存退出fdisk之后,还需要检查系统中是否具有对应的设备文件,必须在/dev目录下拥有相应的设备文件才能访问物理设备。<br><br>  划分了UFS基本分区之后,就可以使用disklabel创建文件系统或交换空间的disklabel了,为了方便起见,可以先为这个分区建立空的disklabel,然后再进行修改。&nbsp;<br><br>#&nbsp;disklabel&nbsp;-r&nbsp;-w&nbsp;wd1s3&nbsp;auto<br>#&nbsp;disklabel&nbsp;-e&nbsp;wd1s3<br>&nbsp;<br>&nbsp;<br><br>  在使用-w参数为分区wd1s3生成缺省的disklabel时,就必须给定磁盘的类型,通常可以使用auto&nbsp;,让系统自动检测。除了自动侦测之外,在/etc/disktab文件中也给出了很多标准磁盘类型数据,这些数据中包括包括软盘在内的各种磁盘类型,对于这个文件中不存在的新型磁盘,可以根据原有类型进行修改而生成新数据。通常很少需要利用这个文件中提供的磁盘类型数据来生成disklabel,使用auto参数能让系统自动检测磁盘的类型。极少数情况下,例如在配置伪存储设备vn的时候,才需要使用具体磁盘类型参数。<br><br>  直接生成的disklabel仅仅包括磁盘的类型信息,以及一个使用c表示整个系统分区的空disklabel&nbsp;,而没有具体文件系统的disklabel。要真正划分文件系统,需要再使用disklabel&nbsp;-e编辑更改disklabel&nbsp;配置,例如增加两个子分区,b和e,就需要为b设置类型swap的disklabel,为e设置类型4.2BSD的disklabel,而c使用的unused类型表示这个disklabel不用做文件系统或交换空间,可用于特定目的,如raw方式存取硬盘。<br><br>  注意由于要使用手工计算文件系统的大小,因此很容易发生重叠等错误。各个不同空间的disklabel允许重叠,例如缺省产生的以c代表的disklabel表示整个FreeBSD系统分区就会与其他disklabel的空间重叠。但是具体用做文件系统或交换空间的部分就不能重叠,否则会导致存取错误发生。<br><br>  保存退出后,就可以使用disklabel&nbsp;-r&nbsp;wd1s1来查看新建的代表文件系统或交换空间的label&nbsp;。下面为增加之后的disklabel的最后一部分。&nbsp;<br><br>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size&nbsp;&nbsp;&nbsp;offset&nbsp;&nbsp;&nbsp;&nbsp;fstype&nbsp;&nbsp;&nbsp;[fsize&nbsp;bsize&nbsp;bps/cpg]<br>b:&nbsp;&nbsp;&nbsp;&nbsp;61440&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;swap&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>c:&nbsp;&nbsp;&nbsp;409536&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;unused&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>e:&nbsp;&nbsp;&nbsp;348096&nbsp;&nbsp;&nbsp;&nbsp;61440&nbsp;&nbsp;&nbsp;&nbsp;4.2BSD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0<br><br>&nbsp;<br>&nbsp;<br><br>然后在新建的disklabel为4.2BSD类型的空间上真正建立文件系统,需要使用newfs命令。<br><br>#&nbsp;newfs&nbsp;/dev/rwd1s1e<br>&nbsp;<br>&nbsp;<br><br>执行fsck检查刚建立的磁盘分区有无错误<br><br>#&nbsp;fsck&nbsp;-y&nbsp;/dev/rwd1s1e<br>&nbsp;<br>&nbsp;<br><br>然后就可以将这个建立好的文件系统安装到系统中了,如果建立的是交换空间,可以使用swapon命令可使该交换分区立即生效。<br><br>#&nbsp;mount&nbsp;/dev/wd1s1e&nbsp;/mnt<br>#&nbsp;swapon&nbsp;/dev/wd1s1b<br>&nbsp;<br>&nbsp;<br><br>  为了在启动时自动安装上这个文件系统,需要编辑/etc/fstab文件,将文件系统和交换设备加入系统,那么下次系统启动之后,就能使用新的磁盘分区和新的交换设备了。例如新磁盘为wd1,相应FreeBSD的分区为wd1s3e&nbsp;(文件系统)和wd1s3b(交换分区),文件系统要安装到系统的/disk2目录下,则fstab应为:<br><br>#&nbsp;Device&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mountpoint&nbsp;&nbsp;FStype&nbsp;&nbsp;Options&nbsp;&nbsp;Dump&nbsp;&nbsp;&nbsp;&nbsp;Pass#<br>/dev/wd0s3b&nbsp;&nbsp;&nbsp;none&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;swap&nbsp;&nbsp;&nbsp;&nbsp;sw&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0<br>/dev/wd0s3a&nbsp;&nbsp;&nbsp;/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ufs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rw&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1<br>/dev/wd0s3f&nbsp;&nbsp;&nbsp;/usr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ufs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rw&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2<br>/dev/wd0s3e&nbsp;&nbsp;&nbsp;/var&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ufs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rw&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2<br>proc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/proc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;procfs&nbsp;&nbsp;rw&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0<br>/dev/wd1s1e&nbsp;&nbsp;&nbsp;/cdrom&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cufs&nbsp;&nbsp;&nbsp;&nbsp;rw&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2<br>/dev/wd1s1b&nbsp;&nbsp;&nbsp;none&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;swap&nbsp;&nbsp;&nbsp;&nbsp;sw&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0<br><br>&nbsp;<br>&nbsp;<br><br>  然后就可以使用新硬盘来调整空间紧张的磁盘上的文件和目录。此时,除了可以使用符号连接这种方式之外,还可以直接将该新建的文件系统安装到需要的目录下。这也是推荐的方式,因为符号连接会对文件操作的性能造成少许影响。&nbsp;<br><br>#&nbsp;cd&nbsp;/usr<br>#&nbsp;mv&nbsp;local&nbsp;local.old<br>#&nbsp;mkdir&nbsp;local<br>#&nbsp;mount&nbsp;/dev/wd1s1e&nbsp;/usr/local<br>#&nbsp;mv&nbsp;/usr/local.old/*&nbsp;/usr/local/<br><br>&nbsp;<br>&nbsp;<br><br>未完,待续。。。</font></td></tr>
<tr><td>&nbsp;</td></tr>
<tr><td align=right><i>来源:</i><a href="javascript:if(confirm('http://freebsd.online.ha.cn/  \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?'))window.location='http://freebsd.online.ha.cn/'" tppabs="http://freebsd.online.ha.cn/">http://freebsd.online.ha.cn/</a></td></tr>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
声明:本站的文章和软件是本人从网上收集整理的(除本人的作品之外),所有版权属于作者,<br>
如有侵犯您的权益,请指出,本站将立即改正,谢谢.
<hr  width=500>
<br>
<font color=#ffffff>Copyright 2000 <a href="javascript:if(confirm('http://www.newok.com/  \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?'))window.location='http://www.newok.com/'" tppabs="http://www.newok.com/" class=t1>www.newok.com</a></font>
</div>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -