您的位置:首页 > 运维架构 > Linux

添加Ubuntu服务 启动时自动挂载Windwos分区

2010-03-28 17:57 204 查看
添加Ubuntu服务  启动时自动挂载Windwos分区

关于Linux服务说明,引用

=========================================
Linux 启动时,运行一个叫做init 的程序,然后由它来启动后面的任务,包括多用户环境,网络等。

那么,到底什么是运行级呢?简单的说,运行级就是操作系统当前正在运行的功能级别。这个级别从1 到6 ,具有不同的功能。

RedHat的运行级说明:

0 为停机,机器关闭。

1 为单用户模式,就像Win9x 下的安全模式类似。

2 为多用户模式,但是没有NFS 支持。

3 为完整的多用户模式,是标准的运行级。

4 一般不用,在一些特殊情况下可以用它来做一些事情。

5 就是 X11 ,进到 X Window 系统了。

6 为重启,运行 init 6 机器就会重启。

这些级别在/etc/inittab(Ubuntu里面没有这个文件)
文件里指定。这个文件是init 程序寻找的主要文件,最先运行的服务是那些放在/etc/rc.d(Ubuntu没有这个目录) 目录下的文件。

大多数的Linux 发行版本中,启动的是/etc/rc.d/init.d(Ubuntu是/etc/init.d
)。这些脚本被ln 命令来连接到 /etc/rc.d/rcn.d(Ubuntu是/etc/rcN.d
) 目录。(这里的N 就是运行级0-6)

例如/etc/rc.d/rc2.d 下面的S10network 就是连接到/etc/rc.d/init.d下的network 脚本的。

因此,我们可以知道,rc2.d 下面的文件就是和运行级2 有关的。

文件开头的S 代表start 就是启动服务的意思,后面的数字10 就是启动的顺序。例如,在同一个目录下,你还可以看到 S80postfix 这个文件,80 就是顺序在 10 以后,因为没有启动网络的情况下,启动postfix 是没有任何作用的。

再看一下 /etc/rc.d/rc3.d,可以看到文件S60nfslock,但是这个文件不存在于 /etc/rc.d/rc2.d 目录下。NFS 要用到这个文件,一般用在多用户环境下,所以放在rc3.d 目录下。

另外,在/etc/rc.d/rc2.d 还可以看到那些K 开头的文件,例如

/etc/rc.d/rc2.d/K45named ,K 代表 kill 。

标准的Linux运行级为3 或者5 ,如果是3 的话,系统就在多用户状态。如果是5的话,则是运行着X Window 系统。如果目前正在3或5,而你把运行级降低到2的话,init 就会执行 K45named 脚本。(Ubuntu运行级为2,可以用runlevel查看


不同的运行级有不同的用处,也应该根据自己的不同情形来设置。例如,如果丢失了root 口令,那么可以让机器启动进入单用户状态来设置。在启动后的 lilo 提示符下输入:

init=/bin/sh rw

就可以使机器进入运行级1 ,并把 root 文件系统挂为读写。他会跳过所有系统认证,让你使用passwd 程序来改变root口令,然后启动到一个新的运行级。

=========================================

一、创建对应要挂载的目录
$ cd /media

$ sudo mkdir c d e f d2 e2 f2

创建目录对应原来的windows分区标签,这样也比较好记,创建的目录数以各自分区数而定

二、制作挂载脚本:

创建挂载脚本,注意挂载fat/fat32的时候加上必须的选项,如utf8,不然可能会显示不了中文目录和文件名

automount.sh

#!/bin/bash

#        文件系统类型                          相关选项

mount -t vfat /dev/sdb7 /media/f2     -o nosuid,nodev,uhelper=hal,shortname=mixed,uid=1000,utf8,umask=077,flush

mount -t ntfs /dev/sda1 /media/c      -o nosuid,nodev,noatime,allow_other,blksize=4096

mount -t ntfs /dev/sdb6 /media/e2     -o nosuid,nodev,noatime,allow_other,blksize=4096

mount -t ntfs /dev/sdb5 /media/d2     -o nosuid,nodev,noatime,allow_other,blksize=4096

mount -t vfat /dev/sda5 /media/d      -o nosuid,nodev,uhelper=hal,shortname=mixed,uid=1000,utf8,umask=077,flush

mount -t vfat /dev/sda7 /media/f      -o nosuid,nodev,uhelper=hal,shortname=mixed,uid=1000,utf8,umask=077,flush

mount -t ntfs /dev/sda6 /media/e      -o nosuid,nodev,noatime,allow_other,blksize=4096

创建自动取消挂载脚本,主要在重启及关机时运行

autoumount.sh

#!/bin/bash

umount /media/f2

umount /media/c

umount /media/e2

umount /media/d2

umount /media/d

umount /media/f

umount /media/e

对两个脚本设置权限:
$ chmod 755 autoumount.sh automount.sh

三、用超级用户添加到服务运行init.d目录中
$ sudo cp /home/vange/autoumount.sh automount.sh /etc/init.d/

四、设置在哪些运行级别里面自动启动

Linux的启动服务会存放在init.d目录下,并不同的运行级别目录下创建对应的链接文件,以K/S开头加上启动序号,K表示不启动,S表示启动服务。

0 6 表示在关机及重启时运行

 

设置自动挂载脚本运行
$ sudo update-rc.d autoumount.sh defaults

 Adding system startup for /etc/init.d/automount.sh ...

   /etc/rc0.d/K20automount.sh -> ../init.d/automount.sh

   /etc/rc1.d/K20automount.sh -> ../init.d/automount.sh

   /etc/rc6.d/K20automount.sh -> ../init.d/automount.sh

   /etc/rc2.d/S20automount.sh -> ../init.d/automount.sh

   /etc/rc3.d/S20automount.sh -> ../init.d/automount.sh

   /etc/rc4.d/S20automount.sh -> ../init.d/automount.sh

   /etc/rc5.d/S20automount.sh -> ../init.d/automount.sh

使用默认的启动级别,即 0 1 6 不运行 2 3 4 5 运行

设置自动取消挂载脚本运行
$ sudo update-rc.d  autoumount.sh start 0 6 S . stop 1 2 3 4 5 .

 Adding system startup for /etc/init.d/autoumount.sh ...

   /etc/rc2.d/K01autoumount.sh -> ../init.d/autoumount.sh

   /etc/rc3.d/K01autoumount.sh -> ../init.d/autoumount.sh

   /etc/rc4.d/K01autoumount.sh -> ../init.d/autoumount.sh

   /etc/rc5.d/K01autoumount.sh -> ../init.d/autoumount.sh

   /etc/rc6.d/S00autoumount.sh -> ../init.d/autoumount.sh

   /etc/rcS.d/S00autoumount.sh -> ../init.d/autoumount.sh
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息