关注最新技术
技术原创博客

linux基础教程-linux启动流程和开机启动

这个其实应该我第一个发,但是吧感觉昨天发的比较有用所以就先发的,但是现在感觉这个比较重要,所以讲解一下。只有了解linux的启动流程才能更好的去优化和配置Linux,譬如说一台服务器我为什么要保证3,5启动软件即可,是怎么启动的呢?

  1. bios找到mbr主引导区,这个东西才512字节,深入的可以查询一下
  2. 进入grub界面找启动内核
  3. 读取kernel内核文件 /boot/vmlinuz-*
  4. 读取init的镜像文件 /boot/initrd-*
  5. init读取/etc/inittab
  6. 读取启动级别(id:3:initdefault)
  7. 读取/etc/rc.d/rc.sysinit,完成时间、主机名称,还要分区表/etc/fstab
  8. 读取/etc/rc.d/rc脚本,通过脚本转换3级别,然后启动/etc/rc.d/rc3.d/下所有S来头的服务,不启动目录下K开头的服务
  9. 进入登录界面

我们服务器设置的一般控制inittab来控制是图形界面还是终端 sudo init 0 关机
>vim /etc/inittab   #init启动时候加载的启动级别

0 关机
1 单用户
2 不支持nfs(网络文件系统)
3 终端页面
4 未被使用
5 图形界面
6 重启

当你是终端的时候你会发现你登录的是3级别,如果是X11图形界面的时候是5,可以修改id:3:initdefault,来修改启动级别

如何设置开机启动和开机启动的原理

我们如上还是终端启动,我们就进入/etc/rc.d/rc3.d 我们看到S开头和K开头,你可以理解成start和kill s开头的都启动K开头的都是不启动 ubuntu在 /etc/rc3.d/

#centos设置开机启动
>chkconfig mysql on             #设置开机启动
>chkconfig --list|grep mysql    #查看哪些启动级别,发现除了0,1,6关闭其他都开启
>cd /etc/rc.d && ls -l          #rcx.d是启动级别
>cd rc3.d && ll|grep mysql      #显示如下,当然你进入2,4,5也是一样的,这就是说为什么服务器要保证开机3,5启动
lrwxrwxrwx  1 root root 16 3月  14 19:22 S64mysqld -> ../init.d/mysqld

#ubuntu设置开机启动
>sudo apt-get install dialog rcconf     #安装rcconf
>sudo rcconf                            #出现图形界面可以设置

一般我们使用apt-get或者yum安装的,也就是仓库源安装的都可以使用service XXX start,其实这种东西存储在/etc/init.d/文件夹下,你可以自己写脚本,放到/etc/init.d/使用chmod a+x xxx给权限,然后service xxx start启动,譬如我们二进制安装的nginx,然后自己手动写个nginx启动脚本。

rcconf

压缩与解压

这个我们需要会几个常用的压缩包的解压和压缩,解压是因为万一你有二进制包要安装,你带会解压吧!压缩-你要备份一个网站不可能一个文件一个文件备份吧~所以学习压缩,这里边我讲下常用的tar tar.gz常见,.tar.bz2我记得php下载官网好像就有这个格式,为什么还学zip,兄弟,因为windows平台对zip支持很好,万一你要下载网站日志到windows上分析呢~是吧~ widuu建议这几个必会

未经允许,不得转载本站任何文章:微度网络 » linux基础教程-linux启动流程和开机启动

分享到:更多 ()