veket官方网站论坛

veket

 找回密码
 要注册
搜索
楼主: gfbmgy

linux文件管理

[复制链接]
 楼主| 发表于 2010-4-24 15:43 | 显示全部楼层
  硬盘分区

  1.MBR(主引导记录)、启动扇区和分区表

  一个硬盘如何分区的信息存在它的第一个扇区(即第一面第一轨第一扇区)。这个第一扇区是硬盘的主引导记录(MBR);这是电脑启动时BIOS读入和启动的扇区。主引导记录包括一段小程序,读入分区表,检查哪个分区是活动分区(即启动分区),并读入活动分区的第一个扇区,即该分区的启动扇区(MBR也是启动扇区,只不过因为其特殊地位,所以使用特殊的名字)。这个启动扇区包括另一个小程序,读入这个分区(假设是可启动的)上操作系统的第一个部分,然后启动它。

  这个分区方案不是内置于硬件和BIOS的,只是许多操作系统遵循的约定。但并非所有的操作系统都遵循这个约定。有些操作系统支持分区,但它们占领硬盘上的一个分区,然后使用它们自己的内部分区方法管理这个分区。较新的操作系统可以和其他操作系统和平共处(包括Linux),而无需特殊的措施,但不支持分区的操作系统无法在同一硬盘上与其他操作系统共存。

  为安全预防,最好先在纸上写下分区表,这样在错误发生时不会丢失你的文件。(可以使用fdisk修复坏的分区表)。相关信息可用fdisk -l 命令给出:

  $ fdisk -l /dev/hda

  Disk /dev/hda: 15 heads, 57 sectors, 790 cylinders

  Units = cylinders of 855 * 512 bytes

  Device Boot Begin Start End Blocks Id System

  /dev/hda1 1 1 24 10231+ 82 Linux swap

  /dev/hda2 25 25 48 10260 83 Linux native

  /dev/hda3 49 49 408 153900 83 Linux native

  /dev/hda4 409 409 790 163305 5 Extended

  /dev/hda5 409 409 744 143611+ 83 Linux native

  /dev/hda6 745 745 790 19636+ 83 Linux native

  $

  2.扩展和逻辑分区

  PC硬盘的最初分区方案只允许4个分区。实际使用中这太少了,比如有人想装多于4个操作系统(Linux, MS-DOS, OS/2, Minix, FreeBSD, NetBSD, Windows/NT等),或有时一个操作系统有多个分区更好,例如由于速度的原因,Linux的对换区最好单独使用自己的分区,而不是在主Linux分区中(下文详述)。

  为克服这个设计问题,发明了扩展分区。这个方法允许将基本分区分为若干子分区,因而被进行子分区的基本分区称为扩展分区,而子分区称为逻辑分区。它们的表现类似基本分割区,但产生方法不同。它们之间没有速度差别。

  3.分区种类

  分区表(MBR和扩展分区里都有)中,对每个分区都有一个字节指出分区种类。这试图确定使用该分区的操作系统,或用于何操作系统。其目的是避免两个操作系统使用同一分区。可实际上,操作系统并不真的注意分区种类字节,例如,Linux根本不管它是什么。较坏的情况是,有些操作系统错误地使用它,例如有些版本的DR-DOS忽略了它的最高位(MSB),而其他一些系统则不是。

  没有一个标准化组织定义分区种类字节每个值的意义,但存在一些共同接受的值。相同的列表可以通过Linux的fdisk 命令得到。
 楼主| 发表于 2010-4-24 15:44 | 显示全部楼层
  管理软驱和光驱

  1.软盘

  如同硬盘,一张软盘也分为磁道和扇区(软盘两面上的相同的磁道组成柱面),但数量要比硬盘少得多。

  软驱通常可以使用几种不同的软盘,例如,一个3.5英寸软驱可以使用720KB和1.44MB的软盘。因为软驱操作有些不同,而操作系统必须知道软盘的容量,所以软驱有许多设备文件,每个都与软驱和软盘种类有关。因此,/dev/fd0H1440 是第一个软驱(fd0),必须是3.5英寸,使用3.5英寸高密度软盘(H),容量是1440KB(1440),即普通的3.5英寸HD软盘。

  软驱的名字是复杂的,因此Linux有一个特定的软驱设备类型,能自动检测软驱中软盘的种类。它使用不同的软盘类型,试图读取新插入的软盘的第一个扇区,直到找到正确的一个。这自然要求软盘是已经格式化过的。

  Linux除了能处理所有标准的软盘,还能处理许多非标准的软盘格式。这有时需要特殊的格式化程序。我们现在先跳过这些软盘格式,同时你可以查看/etc/fdprm文件,它定义了setfdprm 识别的设置。

  2.格式化软盘

  软盘格式化使用fdformat命令。软盘设备使用给定的参数,例如下面的命令是在第一个软驱中格式化一张高密度3.5英寸软盘:

  $ fdformat /dev/fd0H1440

  Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB.

  Formatting ... done

  Verifying ... done

  $

  注意,如果想使用自动检测设备(如/dev/fd0),必须先用setfdprm 设置参数。要得到与上面一样的结果,可以这样:

  $ setfdprm /dev/fd0 1440/1440

  $ fdformat /dev/fd0

  Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB.

  Formatting ... done

  Verifying ... done

  $

  选择与软盘类型相符的正确的设备文件通常更方便。注意,比软盘设计格式化更多的信息容量是没有意义的。

  3.CD-ROM

  CD-ROM 驱动器使用一个光学可读的塑胶涂布的碟片。信息记录在盘表面的从中心到边沿的螺旋型小坑上。 驱动器发出一束激光来读盘。当激光射到小坑上,激光以一种方式反射;当它射到光滑表面上,它以另一种方式反射。这很容易地编码成bit,组成信息。

  CD-ROM驱动器比硬盘慢。典型的硬盘的平均寻道(seek)时间小于15ms,而快速的CD-ROM驱动器要花零点几秒。实际资料传输率则相当快,在数百KB/s。速度慢使CD-ROM驱动器不能代替硬盘使用(有些Linux distributions提供“live”CD-ROM文件系统,使之不必复制文件到硬盘,使安装简单并节约了许多硬盘空间),虽然是可能的。要安装新软件,CD-ROM很好用,因为在安装时速度并非最重要的。

  不同UNIX不能使用ISO9660文件系统,因此开发了对这个标准的一个增强,叫Rock Ridge增强。Rock Ridge允许长文件名、符号连接和许多其他优点,使CD-ROM更像UNIX文件系统。同时,Rock Ridge文件系统仍然是一个有效的ISO9660文件系统,使非UNIX用户一样可以使用。Linux同时支持ISO9660和Rock Ridge增强,增强被自动识别和使用。

  文件系统只是一部分,许多CD-ROM包含的资料需要特定的程序存取,而多数程序不能运行在Linux下(当然,可能运行在Linux的MS-DOS模拟器dosemu下)。
 楼主| 发表于 2010-4-24 15:44 | 显示全部楼层
  管理用户的磁盘空间

  1.为普通用户和用户组加入磁盘配额限制

  Linux的Quota程序允许为系统上每一用户或用户组指定所能使用的磁盘配额。目前Quota仅能工作在ext2和ext3类型的文件系统上。使用Quota需要确定以下两点:

  (1)当前的系统内核支持Quota。

  (2)系统已正确安装Quota套装程序。

  如果你当前的系统内核不支持Quota,请重新编译你的内核,当系统提示:

  Quota support(CONFIG—QUOTA)[n]

  回答y,生成新的系统内核。

  如果没有Quota套装程序,请到以下地址下载Quota的源程序并编译:

  ftp://ftp.funet.fi/pub/l inux/PEOPLE/Linus/subsystems/Quota/all.tar.gz

  一般Linux的发行版本的内核都默认包含了Quota支持,也附带了Quota 套装程序,只需安装Quota 并加以设置便可让Quota工作。

  Quota的具体设置步骤:

  (1)编辑系统初始脚本让它检查Quota并启动。

  # Check Quota and then turn Quota on.

  if [ -x /usr/sbin/Quotacheck ]

  then

  echo ″Checking Quotas. This may take some time.″

  /usr/sbin/Quotacheck -avug

  echo ″Done.″

  fi

  if [ -x /usr/sbin/Quotaon ]

  then

    echo ″Turning on Quota.″

    /usr/sbin/Quotaon -avug

  fi

  (2)编辑/etc/fstab。你的 /etc/fstab文件可能会是如下的形式:

  /dev/hda1 / ext2 defaults 1 1

  /dev/hda2 /home ext2 defaults 1 1

  选择用户所在分区的行的第4个域,为用户加入Quota支持,如下:

  /dev/hda1 / ext2 defaults 1 1

  /dev/hda2 /home ext2 defaults,usrQuota 1 1

  如为用户组加入Quota支持,可将usrQuota替换为grpQuota。

  如两者兼而有之,可将这两项一并写入,如下:

  /dev/hda1 / ext2 defaults 1 1

  /dev/hda2 /home ext2 defaults,usrQuota,grpQuota 1 1

  (3)创建Quota记录文件Quota.user和Quota.group。进入用户所在分区根目录,如在上例中输入cd /home即可,按下面命令创建文件:

  touch Quota.user

  touch Quota.group

  chmod 600 Quota.user Quota.group

  完成上面几步以后,重新启动电脑以使设置生效。

  (4)为用户或用户组设置磁盘配额限制。假设在你的系统上有一名为bob 的用户,现在想给他10MB的硬盘配额限制,他所拥有的最大文件数不得超过100个。执行edQuota -u dquo,系统将进入编辑环境(具体编辑环境视editor变量设置而定),将如下3行

  Quotas for user bob:

  /dev/hda2: blocks in use: 14, limits (soft=0, hard=0)

  inodes in use: 12, limits (soft=0, hard=0)

  改为

  Quotas for user bob:

  /dev/hda2: blocks in use: 14, limits (soft=0, hard=10240)

  inodes in use: 12, limits (soft=0, hard=100)

  其中,

  blocks in use:用户已使用块的大小,单位是KB。

  inodes in use:用户现有文件的大小。

  这两项都是系统自动给出的,不必改动。

  2.软限制(soft limits)

  通常设置软限制为一个接近硬限制的值,超越此限制时,系统将警告用户将到达最大磁盘配额限制。软限制为0 时没有软限制。结合宽限期使用时,只要用户超越了软限制,一过宽限期,任何对磁盘空间的额外需求将被立即拒绝。

  3.硬限制(hard limits)

  硬限制磁盘配额的绝对限制,设置了Quota的用户不能超越此限制。

  4.宽限期(Grace Period)

  宽限期是用户超越了软限制而没有到达硬限制时的一段放宽期,在这段时间内,用户可以在硬限制范围内自由地使用磁盘空间,超过这段时间,所有对磁盘空间的额外需求将被拒绝,即使用户还在硬限制之内。宽限期的单位可以是秒、分、时、天。执行edQuota -t命令可设置宽限期。执行该命令后,将系统提示中的两个0 days 改成你认为合适的值即可。

  有时想给一批用户加上同样的限制,比如,给系统上所有100个用户加上与bob同样的限制,可手工先给bob加上限制,然后执行下面命令:

  edQuota -p bob ′awk -F: ′$3 499 {print $1}′/etc/passwd′

  给用户组设置磁盘配额限制与普通用户类似,假设有一用户组game,执行edQuota -g game即可。

  5.控制用户的登录地点

  文件/etc/secruity/access.conf可控制用户登录地点,为了使用access.conf,必须在文件/etc/pam.d/login中加入下面的行:

  account required /lib/security/pam-access.so

  access.conf文件的格式:

  permission : users : origins

  其中,

  permission:可以是+或-,表示允许或拒绝。

  user:可以是用户名、用户组名,如果是all则表示所有用户 。

  origins:登录地点。local表示本地,all表示所有地点,console表示控制台。另外,origins也可以是某一个网络。

  后面两个域中加上 except是“除了”的意思。例如,除了用户 wheel, shutdown, sync禁止所有的控制台登录:

  -:ALL EXCEPT wheel shutdown sync:console

  root账户的登录地点不在access.conf文件中控制,而是由/etc/securetty文件控制。

  6.限制用户每次所发邮件大小

  Linux系统使用sendmail发送邮件,配置文件是/etc/sendmail.cf,默认使用TCP/IP协定。我们的Linux机器上往往会有多个用户同时工作,或者干脆就用它作为邮件服务器,在同一时刻,系统可能要收发很多邮件,因此不能让某一用户过多地占用sendmail的时间。sendmail的默认配置对每次收发邮件的大小没有限制,更改配置文件/etc/sendmail.cf,找到O MaxMessageSize,去掉行首的#号,并将其后的数值改为合适的数值,单位为字节。如:

  O MaxMessageSize = 1048576

  意思为每次收发邮件最大为1MB,任何超过这个值的邮件将被拒绝。
e-woof 该用户已被删除
发表于 2010-9-5 22:33 | 显示全部楼层
学习了  谢谢楼主
发表于 2010-9-5 23:03 | 显示全部楼层
绝倒,,,
你复制的是啥时代的东西 还在讲软盘。。。。
复制过来你自己都看过吗?

[ 本帖最后由 vigia 于 2010-9-5 23:06 编辑 ]
您需要登录后才可以回帖 登录 | 要注册

本版积分规则

QQ|手机版|Archiver|veket官方网站论坛 ( 粤ICP备 11052856 )

GMT+8, 2024-5-5 11:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表