ubuntu启动各项功能配置+开机自动启动



index:
一、 Linux系统主要启动步骤
二、ubuntu添加开机自动启动程序方法
三、更改运行级别
四、服务管理
五、配置文件

一、Linux 系统主要启动步骤:
    1. 读取 MBR的信息,启动 Boot Manager
           Windows 使用 NTLDR 作为 Boot Manager,如果您的系统中安装多个
           版本的 Windows,您就需要在 NTLDR 中选择您要进入的系统。
           Linux 通常使用功能强大,配置灵活的 GRUB 作为 Boot Manager。
    2. 加载系统内核,启动init 进程
           init 进程是 Linux 的根进程,所有的系统进程都是它的子进程。
    3. init 进程读取/etc/inittab 文件中的信息,并进入预设的运行级别,
      按顺序运行该运行级别对应文件夹下的脚本。脚本通常以 start 参数启
      动,并指向一个系统中的程序。
           通常情况下, /etc/rcS.d/ 目录下的启动脚本首先被执行,然后是
           /etc/rcN.d/ 目录。例如您设定的运行级别为 3,那么它对应的启动
           目录为 /etc/rc3.d/ 。
    4. 根据/etc/rcS.d/ 文件夹中对应的脚本启动 Xwindow 服务器 xorg
           Xwindow 为 Linux 下的图形用户界面系统。
    5.启动登录管理器,等待用户登录
           Ubuntu 系统默认使用 GDM 作为登录管理器,您在登录管理器界面中
           输入用户名和密码后,便可以登录系统。(您可以在 /etc/rc3.d/
           文件夹中找到一个名为 S13gdm 的链接)

二、UBUNTU添加开机自动启动程序方法
2.1.开机启动时自动运行程序 
   Linux加载后, 它将初始化硬件和设备驱动,然后运行第一个进程init。init根据配置 
  文件继续引导过程,启动其它进程。通常情况下,修改放置在 
    /etc/rc或 
    /etc/rc.d 或 
    /etc/rc?.d 
  目录下的脚本文件,可以使init自动启动其它程序。例如:编辑 
    /etc/rc.d/rc.local文件(该文件通常是系统最后启动的脚本), 
  在文件最末加上一行“xinit”或“startx”,可以在开机启动后直接进入X-Window。 

2.2 登录时自动运行程序 

  用户登录时,bash先自动执行系统管理员建立的全局登录script : 
    /ect/profile 
  然后bash在用户起始目录下按顺序查找三个特殊文件中的一个: 
    /.bash_profile、 
    /.bash_login、 
    /.profile, 
  但只执行最先找到的一个。因此,只需根据实际需要在上述文件中加入命令就可以实 
  现用户登录时自动运行某些程序(类似于DOS下的Autoexec.bat)。 

2.3 退出登录时自动运行程序 
  退出登录时,bash自动执行个人的退出登录脚本 
    /.bash_logout。 
  例如,在/.bash_logout中加入命令“tar -cvzf c.source.tgz*.c”,则在每次退出 
   登录时自动执行 “tar” 命令备份 *.c文件。 

2.4 定期自动运行程序 
  Linux有一个称为crond的守护程序,主要功能是周期性地检查/var/spool/cron目录 
  下的一组命令文件的内容,并在设定的时间执行这些文件中的命令。用户可以通过 
   crontab命令来建立、修改、删除这些命令文件。 

   例如,建立文件crondFile,内容为“009 23 Jan * HappyBirthday”,运行“crontab 
  cronFile”命令后,每当元月23日上午9:00系统自动执行“HappyBirthday”的程序(“* 
  ”表示不管当天是星期几)。 

2.5 定时自动运行程序一次 
   定时执行命令at 与crond类似(但它只执行一次):命令在给定的时间执行,但不自 
   动重复。at命令的一般格式为:at [ -ffile ] time ,在指定的时间执行file文件 
  中所给出的所有命令。也可直接从键盘输入命令: 
    $ at 12:00 
    at>mailto Roger -s ″Have a lunch″  
    at>Ctr-D 
    Job 1 at 2000-11-09 12:00 
   2000-11-0912:00时候自动发一标题为“Have alunch”,内容为plan.txt文件内容 
   的邮件给Roger.

三、更改运行级别
3.1、背景知识
1、Ubuntu运行级别

Linux系统任何时候都运行在一个指定的运行级上,并且不同的运行级的程序和服务都不同,所要完成的工作和要达到的目的都不同,系统可以在这些运行级之间进行切换,以完成不同的工作。

 Ubuntu 的系统运行级别:

 0
       系统停机状态
 1
       单用户或系统维护状态
 2~5
   多用户状态
 6
       重新启动 

3.2、查看当前运行级别,执行命令:
 runlevel
( runlevel 显示上次的运行级别和当前的运行级别,“N”表示没有上次的运行级别。)

3.3、
方法一:切换运行级别,执行命令:     
  int [0123456Ss]
  ( 即在 init 命令后跟一个参数,此参数是要切换到的运行级的运行级代号,如:用 init 0命令关机;用 init 6 命 令重新启动。)

方法二
在“/etc/inittab”文件中找到如下内容:
 # The defaultrunlevel.
 id:2:initdefault:
 这一行中的数字2,为系统的运行级别,默认的运行级别涵义如下:
  0 关机
  1单用户维护模式
  2~5多用户模式
  6重启

四、服务管理
========
更改启动服务

在运行级别对应的文件夹中,您可以看到许多文件名以“S##”和“K##”起始的启动脚本链接。
例如:
/etc/rcS.d/S35mountall.sh挂载文件系统
/etc/rcS.d/S40networking启用网络支持
/etc/rc2.d/S13gdm 启动登录管理器
/etc/rc2.d/S20makedev创建设备文件
/etc/rc2.d/S23xinetd启动超级进程
init进程将以“start”为参数,按文件名顺序执行所有以“S##”起始的脚本。脚本名称中的数字越小,它将被越早执行。例如在
“/etc/rc2.d/”文件夹中,“S13gdm”文件名中的数字小于“S23xinetd”,“S13gdm”将比“S23xinetd”先执行。
如果一个脚本链接,以“K##”起始,表示它将以“stop”参数被执行。如果相应服务没有启动,则不执行该脚本。
例如:
/etc/rc2.d/K20powernowd针对某种硬件的电源管理支持
如果您想禁止某一服务在启动时自动运行,您可以将相应运行级别中的脚本由“S##xxx”重命名为“K##xxx”。

手动控制服务

您也可以手动运行带有以下参数的启动脚本,来控制系统服务。
  start启动
  stop 停止
  restart重启
例如:
 /etc/rc2.d/K20powernowdstart
有时您并不清楚当前运行级别,该运行级别下未必有相应脚本;而且此类脚本的前三位字符并不固定,不便于记忆。这时,您可以直接使用
“/etc/init.d/”文件夹中的启动脚本(“/etc/rcX.d/”中的启动脚本链接到“/etc/init.d/”文件夹下相应脚本),这也是我们向您推荐的方式。
例如:
/etc/init.d/powernowdstart
Tips:以上命令的位置并没有包含在环境变量的搜索路径中,所以要输入完整路径。

常用系统服务:
============
acpi-support 高级电源管理支持
acpidacpi守护程序.这两个用于电源管理,非常重要
alsa 声音子系统
alsa-utils
anacroncron的子系统,将系统关闭期间的计划任务,在下一次系统运行时执行。
apmd acpi的扩展
atd 类似于cron的任务调度系统。建议关闭
binfmt-support核心支持其他二进制的文件格式。建议开启
bluez-utiles 蓝牙设备支持
bootlogd 启动日志。开启它
cron 任务调度系统,建议开启
cupsys 打印机子系统。
dbus 消息总线系统(message bussystem)。非常重要
dns-clean 使用拨号连接时,清除dns信息。
evms 企业卷管理系统(Enterprise Volumn Managementsystem)
fetchmail 邮件用户代理,用于收取邮件
gdm gnome登录和桌面管理器。
gdomap
gpm 终端中的鼠标支持。
halt 别动它。
hdparm调整硬盘的脚本,配置文件为“/etc/hdparm.conf”。
hibernate 系统休眠
hotkey-setup 笔记本功能键支持。支持类型包括: HP, Acer, ASUS,Sony, Dell, 和IBM。
hotplug and hotplug-net即插即用支持,比较复杂,建议不要动它。
hplip HP打印机和图形子系统
ifrename网络接口重命名脚本。如果您有十块网卡,您应该开启它
inetd在文件“/etc/inetd.conf”中,注释掉所有你不需要的服务。如果该文件不包含任何服务,那关闭它是很安全的。
klogd 重要。
linux-restricted-modules-common受限模块支持。“/lib/linux-restricted-modules/”文件夹中的模块为受限模块。例如某些驱动程序,如果您没有使用受限模块,就不需要开启它。
lvm 逻辑卷管理系统支持。
makedev 创建设备文件,非常重要。
mdamd 磁盘阵列
module-init-tools从/etc/modules加载扩展模块,建议开启。
networking网络支持。按“/etc/network/interfaces”文件预设激活网络,非常重要。
ntpdate 时间同步服务,建议关闭。
pcmcia pcmcia设备支持。
powernowd 移动CPU节能支持
ppp and ppp-dns 拨号连接
readahead 预加载库文件。
reboot 别动它。
resolvconf 自动配置DNS
rmnologin 清除nologin
rsync rsync守护程序
sendsigs 在重启和关机期间发送信号
single 激活单用户模式
ssh ssh守护程序。建议开启
stop-bootlogd在2,3,4,5运行级别中停止bootlogd服务
sudo 检查sudo状态。重要
sysklogd 系统日志
udev & udev-mab用户空间dev文件系统(userspace dev filesystem)。重要
umountfs 卸载文件系统
urandom 随机数生成器
usplash 开机画面支持
vbesave 显卡BIOS配置工具。保存显卡的状态
xorg-common 设置X服务ICEsocket。
adjtimex 调整核心时钟的工具
dirmngr证书列表管理工具,和gnupg一起工作。
hwtools irqs优化工具
libpam-devperm系统崩溃之后,用于修理设备文件许可的守护程序。
lm-sensors 板载传感器支持
mdadm-raid 磁盘陈列管理器
screen-cleanup 清除开机屏幕的脚本
xinetd管理其他守护进程的一个inetd超级守护程序

五、重要配置文件
============
!无论任何情况下,在修改配置文件之前,请您先备份它!
建议您使用这个命令:“sudo cp xxx xxx_`date+%y%m%d_%H:%M`”。
当然这很麻烦,您可以新建一个名为“bak”的文件,内容如下:
#!/bin/bash
sudo cp $1 $1_`date+%y%m%d_%H:%M`
把它放在您能够记住的目录下,比如“/home”,执行命令“sh /home/bakxxx”,就可以将当前文件夹下的文件“xxx”另存为“xxx_yymmdd_HH:MM”的格式了

全局配置文件

系统初始化
/etc/inittab 运行级别、控制台数量
/etc/timezone 时区
/etc/inetd.conf 超级进程

文件系统
/etc/fstab 开机时挂载的文件系统
/etc/mtab 当前挂载的文件系统

用户系统
/etc/passwd 用户信息
/etc/shadow 用户密码
/etc/group 群组信息
/etc/gshadow 群组密码
/etc/sudoersSudoer列表(请使用“visudo”命令修改此文件,而不要直接编辑)

Shell
/etc/shell 可用Shell列表
/etc/inputrc ReadLine控件设定
/etc/profile 用户首选项
/etc/bash.bashrc bash配置文件

系统环境
/etc/environment 环境变量
/etc/updatedb.conf文件检索数据库配置信息
/etc/issue 发行信息
/etc/issue.net
/etc/screenrc 屏幕设定

网络
/etc/iftab 网卡MAC地址绑定
/etc/hosts 主机列表
/etc/hostname 主机名
/etc/resolv.conf 域名解析服务器地址
/etc/network/interfaces网卡配置文件 

用户配置文件
“/etc/”目录下的所有文件,只有root用户才有修改权限。应用软件的全局配置文件,普通用户也不能够修改,如果您想配置软件,以适应您的需求,您可以修改它的用户配置文件。
用户配置文件通常为全局配置文件的同名隐藏文件,放在您的$HOME目录下,例如:
/etc/inputrc/home/user/.inputrc
/etc/vim/vimrc/home/user/.vim/vimrc
也有少数例外,通常是系统程序
/etc/bash.bashrc/home/user/.bashrc

Refer
1. http://www.sudu.cn/info/html/edu/linux/20070101/287955.html
2. http://blog.csdn.net/lbsljn/article/details/5765890

你可能感兴趣的:(ubuntu启动各项功能配置+开机自动启动)