这个其实应该我第一个发,但是吧感觉昨天发的比较有用所以就先发的,但是现在感觉这个比较重要,所以讲解一下。只有了解linux的启动流程才能更好的去优化和配置Linux,譬如说一台服务器我为什么要保证3,5启动软件即可,是怎么启动的呢?
- bios找到mbr主引导区,这个东西才512字节,深入的可以查询一下
- 进入grub界面找启动内核
- 读取kernel内核文件 /boot/vmlinuz-*
- 读取init的镜像文件 /boot/initrd-*
- init读取/etc/inittab
- 读取启动级别(id:3:initdefault)
- 读取/etc/rc.d/rc.sysinit,完成时间、主机名称,还要分区表/etc/fstab
- 读取/etc/rc.d/rc脚本,通过脚本转换3级别,然后启动/etc/rc.d/rc3.d/下所有S来头的服务,不启动目录下K开头的服务
- 进入登录界面
我们服务器设置的一般控制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启动脚本。
压缩与解压
这个我们需要会几个常用的压缩包的解压和压缩,解压是因为万一你有二进制包要安装,你带会解压吧!压缩-你要备份一个网站不可能一个文件一个文件备份吧~所以学习压缩,这里边我讲下常用的tar tar.gz常见,.tar.bz2我记得php下载官网好像就有这个格式,为什么还学zip,兄弟,因为windows平台对zip支持很好,万一你要下载网站日志到windows上分析呢~是吧~ widuu建议这几个必会
发表评论 取消回复