Chinaunix首页 | 论坛 | 博客
  • 博客访问: 492185
  • 博文数量: 164
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 2240
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-07 12:55
文章存档

2008年(164)

我的朋友

分类: LINUX

2008-03-28 18:27:50

2 Linux的分区、目录、开机、关机

1  是目录还是文件?

drwxr-x---

 第一个属性代表这个文件是『目录、文件或连结文件』:

当为[ d ]则是目录,例如上表的第 1行;

[ - ]则是文件,例如上表的第 3 行;

若是[ l ]则表示为连结档(link file)

若是[ b ]则表示为装置文件里面的可供储存的接口设备;

若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标。 

2 需要注意的目录

1.         /boot  :引导  重要的引导文件(initrd  vmLinux  grub.conf)

2.         /lib 链接库

3.         /tmp:临时目录,所有用户都有一切的权限

4.         /etc:这个目录相当重要,如前所述,你的开机与系统数据文件均在这个目录之下。

5.         /etc/rc.d/init.d 这个子目录,因为这个 init.d 子目录是开启一些 Linux 系统服务的 scripts /etc/rc.d/rc.local这个文件是开机的执行档,所以,如果你有需要在开机加载的服务或执行文件,可以写在这个文件的最后一行,则开机时就会自动帮你加载执行档。

6.         /dev  设备目录

7.         /mnt 挂载点  默认有 cdrom  floppy 目录

8.         /opt:程序的安装目录

9.         /bin, /sbin, /usr/bin, /usr/sbin:这是系统预设的执行文件的放置目录。/bin, /usr/bin 是给系统使用者使用的指令,而 /sbin, /usr/sbin 则是给系统管理员使用的指令。

10.     /usr/local:这是系统预设的让你安装你后来升级的套件的目录。例如,当你发现有更新的Web 套件(如apache )可以安装,而你又不想以 rpm 的方式升级你的套件,则你可以将 apache 这个套件安装在usr/local 底下。安装在这里有个好处,因为目前大家的系统都是差不多的,所以如果你的系统要让别人接管的话,也比较容易上手呀。也比较容易找的到数据。因此通常都会将 /usr/local/bin 这个路径加到我的path中。 

11.     /home:这个是系统将有账号的人口的家目录设置的地方。 

12.     /var:这个路径就重要了。不论是登入、各类服务的问题发生时的记录、以及常态性的服务记录等等的记录目录,所以当你的系统有问题时,就需要来这个目录记录的文件数据中察看问题的所在啰。而 mail 的预设放置也是在这里。 

13.     /usr/share/man, /usr/local/man:这两个目录为放置各类套件说明档的地方。

 3 一般主机可能会分配的磁盘情况

通常一般的大型主机都不会将所有的数据放置在一个磁盘中(就是只有一个『 / 』根目录),这有几个目的:

1.         安全性考虑 

2.         便利性

可以将你的系统做成这样的 partition 分布: 

1.         / 根目录可以分配约 256 MB 以内;

2.         /boot 大概在 50 MB 就可以了,因为开机文件并不大;

3.         /var 就至少需要 1GB 以上,因为你的 mail proxy 预设的储存区都在这个目录中,除非你要将一些设定改变。

4.         /home /usr 通常是最大的,因为你所安装的数据都是在 /usr/ 当中,而用户数据则放置在 /home 当中,因此通常书上都会建议你将所剩下的磁盘空间平均分配给这两个目录说。

4 Linux 支持的文件格式与文件种类

4.1文件种类:

1.         正规文件( regular file ):就是一般类型的文件,第一个属性为 [ - ]。另外又大略可以分为两种文件种类(• 纯文字文件(ascii) 二进制文件(binary)  

2.         目录 (directory):就是目录啦。第一个属性为 [ d ]; 

3.         连结档 (link):就是类似 Windows 底下的快捷方式啦。第一个属性为 [ l ];不可以将 linux 下的连结档简单的视为一个文件或目录的快捷方式。在 Linux 中,连结档可以直接连结到主程序,因此你只要改了这个连结文件,则主程序亦被改变了。

4.         设备档 (device):与系统周边相关的一些文件,通常都集中在 /dev 这个目录之下。通常又分为两种:

²        区块 (block) 设备档 :就是一些储存数据,以提供系统存取的接口设备,简单的说就是硬盘。例如你的一号硬盘的代码是 /dev/hda1 等等的文件啦。第一个属性为 [ b ] 

²        字符 (character) 设备档 :亦即是一些串行端口的接口设备,例如键盘、鼠标等等。第一个属性为 [ c ]

4.2 Linux 文件附档名:

基本上,Linux 文件的附档名是没有意义的。但通常我们还是会以适当的附档名来表示该文件是什么种类的。

1.         批次 ( scripts ):通常以 *.sh 来代表

2.         打包或压缩档:通常附档名为 *.Z, *.tar, *.tar.gz, *.zip, *.tgz 等等

3.         linux下,文件能否真正的执行,仍然需要属性的规范才行。例如虽然有一个文件为可执行文件,如有名的代理服务器软件 squid ,不过,如果这个文件的属性被修改成无法执行时,那么他就变成不能执行的文件。这种问题最常发生在文件传送的过程中。例如你在网络上下载一个可执行档,那么可能文件的属性在传输过程中就改变了。

4.         Linux 底下,每一个文件或目录的文件名最长可以到达 256 的字符。

5  开机过程遇到的问题解决

5.1扇区错乱:

在开机的过程中最容易遇到的问题就是硬盘可能有坏轨或扇区错乱(数据损毁)的情况,原因可能有:

1.          因为断电或不正常关机所导致的硬盘磁道错乱;

2.          硬盘使用率过高也是一个可能的原因

如果您的根目录『/』并没有损毁,那就很容易解决,如果根目录已经损毁了,那就比较麻烦。

3  如果根目录没有损毁:假设你发生错误的磁盘区块是在 /dev/hda7 这一块,那么在开机的时候,屏幕应该会告诉你: press root pass word or ctrl+D : 这时候请输入 root 的密码登入系统: 

²        在光标处输入 root 密码登入系统,进行单人单机的维护工作;

²        输入 fsck /dev/hda7 fsck 为指令, /dev/hda7 为错误的磁盘区块,请依情况下达参数),这时屏幕会显示开始修理硬盘的讯息,如果有发现任何的错误时,屏幕会显示:clear [Y/N]?的询问讯息,就直接输入 Y 吧。

²        修理完成之后,以 reboot 重新开机啰。

²        如果根目录损毁,这时你可以将硬盘拔掉,接到另一台 Linx 系统的计算机上,并且不要挂载(mount)该硬盘,然后以 root 的身份执行 fsck /dev/hdb1 /dev/hdb1 指的是你的硬盘装置名称。

5.2预防扇区出错的方法:

1.         妥善保养硬盘

2.         建议划分下列的磁盘区块:(/    /boot    /usr   /home   /var)

3.         这样划分有些好处,例如 /var 是系统预设的一些数据暂存或者是 cache 数据的储存目录,像 email就含在这里面。如果还有使用 proxy 时,因为常常存取,所以有可能会造成磁盘损坏,而当这部份的磁盘损坏时,由于其它的地方是没问题的,因此资料得以保存,而且在处理时也比较容易。

5.3忘记 root 密码:

以单人维护模式登入即可更改你的 root 密码。目前的开机选单主要有 LILO Grub 两种,这两种模式并不相同,有必要来说明一下:

1.         LILO

您只要在出现 Lilo 选单的时候,输入:(如果是RedHat 7.0 以后版本,会出现图形接口的 lilo ,这个时候请按下 [Ctrl] + x 即可进入纯文字接口的 lilo

boot: linux -s以进入单人单机维护模式(即为 run-level 1 ),然后再输入 passwd 这个指令,就可以直接更改root 的密码。

如果图形接口无法登入的时候,也可以使用此一方法来进入单人单机的维护工作,然后再去修改 /etc/inittab 改变一下登入的预设模式,如此一来就可以在下次开机的时候以文字模式登入啰。同时请注意。如果您在设定启动的名称的时候,已经改变了启动的名称,例如我都喜欢在名称之后加上核心码,例如:Red-Hat-2.4.7,这个时候我就必须在 boot: 底下输入: 

boot: Red-Hat-2.4.7 -s 或者是:boot: Red-Hat-2.4.7 single

2.         Grub

grub 做为开机档案,要进入单人维护模式就比较麻烦一些。请回到上面的图示中查看一下,关于 grub 的图标,这个时候,请按下『 e 』进入编辑画面,此时,请将光标移动到 kernel 那一行,再按一次e 进入kernel该行的编辑画面中,然后在出现的画面当中,最后方输入 single 1

kernel /boot/vmlinuz-2.4.19 root=/dev/hda1 single1

再按下『 Enter 』确定之后,按下 b 就可以 boot 看看啦。进入系统以后,再使用passwd root命令来设置新的root密码,并可以通过命令 vi  /boot/grub.conf  来修改一些相关的选项。

并非所有版本的 Linux 皆可使用此一方法。例如 OpenLinux 就无法进入单人维护模式,因为他的单人维护模式『仍然需要输入root 的密码。

 6正确的关机方式

6.1观察系统的使用状态:

如果要看目前有谁在在线,可以下达 who 这个指令

如果要看网络的联机状态,可以下达 netstat -a 这个指令

如果要看背景执行的程序可以执行 ps -aux 这个指令

使用这些指令可以让你稍微了解主机目前的使用状态

6.2通知在线使用者关机的时刻

要关机前总得给在线的使用者一些时间来结束他们的工作,所以,可以使用shutdown 的特别指令来达到此一功能。

6.3 正确的关机指令使用

关机的正确指令用法:

1.将数据同步写入硬盘中的指令: sync(这个指令也只有 root 可以执行)

2.关机啰: halt

3shutdown

²         可以自由选择关机模式:是要关机、重新开机或进入单人操成模式均可;

²         可以设定关机时间: 可以设定成现在立刻关机, 也可以设定某一个特定的时间才关机。

²         可以自订关机讯息:在关机之前,可以将自己设定的讯息传送给在线 user

²         可以仅发出警告信:有时有可能你要进行一些测试,而不想让其它的使用者干扰,或者是明白的告诉使用者某段时间要注意一下。这个时候可以使用 shutdown 来吓一吓使用者,但却不是真的要关机啦。

²         可以选择是否要 fsck 检查档案系统

[root@test root]# /sbin/shutdown [-t ] [-arkhncfF] [时间] [警告讯息]

实例:

[root@test root]# /sbin/shutdown -h 10 'This server will shutdown after 10 mins'

至于参数有哪些呢?

-t sec -t 后面加秒数,亦即『过几秒后关机』的意思

-k 不要真的关机,只是发送警告讯息出去。

-r 在将系统的服务停掉之后就重新开机

-h 将系统的服务停掉后,立即关机。

-n 不经过 init 程序,直接以 shutdown 的功能来关机

-f 关机并开机之后,强制略过 fsck 的磁盘检查

-F 系统重新开机之后,强制进行 fsck 的磁盘检查

-c 取消已经在进行的 shutdown 指令内容。 

此外,需要注意的是,时间参数请务必加入,否则会自动跳到 run-level 1 (就是单人维护的登入情况),这样就伤脑筋了。底下提供几个例子吧。 

shutdown -h now 立刻关机,其中 now 相当于时间为 0 的状态

shutdown -h 20:25 系统在今天的 20:25 分会关机

shutdown -h +10 系统再过十分钟后自动关机

shutdown -r now 系统立刻重新开机

shutdown -r +30 'The system will reboot'

再过三十分钟系统会重新开机,并显示后面的讯息。

shutdown -k now 'This system will reboot'

仅发出警告信件的参数。系统并不会关机 

4 reboot; halt; poweroff

这三个指令差不多,用途上有些不同而已。那个 reboot 其实与 shutdown -r now 几乎相同。不过,建议在关机之前还是将数据回填的指令下达一次再说: [root@test root]# sync; reboot就可以。通常都是使用上面说的这一个指令来关机。

阅读(1041) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~