linux笔记之基础 1
内核命名规则:
R.X.Y-Z 2.6.32-642
R: 内核有重大改变时才会更改,目前为止有四个大版本更新。 X:基数为开发版,偶数为稳定版。 Y、Z:修复bug,实现新功能,新特性的时候更改。
mainline : 表示主线开发版
stable:稳定版
longterm:表示长期支持版,如果标记为EOL,则表示不再提供更新
目前主流的内核版本是2.6,3.X,4.X属于开发调试阶段。
硬盘分区:
常见的硬盘接口类型有:
IDE,SATA,SCSI,SAS IDE:多用于家庭,传统服务器上 / hda SATA:应用于家庭和低端服务器。/ sda 主分区:sda1-4 逻辑分区从sda5开始。 SCSI,SAS:主要应用于服务器市场 光纤通道:主要应用于高端服务器上
文件系统有: MBR 和 G P T MBR最多支持4个主分区,GPT可以支持更多主分区。
UEFI取代BIOS,GPT取代MBR。使用GUID分区表的磁盘称为GPT磁盘
GRUB:多操作系统启动程序,用来引导不同系统。
Linux系统启动流程:
1、加载BIOS,BIOS中包含,硬件信息,启动顺序信息,时钟信息等。
2、读取MBR,将MBR引导扇区中的内容复制到0x7c00地址所在的物理内存中。被复制到物理内存中的内容叫作BootLoader。
3、GRUB引导,根据GRUB配置信息,启动硬盘中不同的操作系统
4、加载kernel,计算机读取内存映像,并进行解压缩操作,屏幕一般会弹出:“Uncompressing Linux” 的提示;解压缩内核完成后,屏幕输出:“OK booting the kernel” ;系统将解压后的内核放置在内存中,并调用start_kernel() 函数来启动一系列的初始化函数,并初始化各种设备,完成Linux核心环境的建立。
5、加载inittab运行等级
内核加载完毕,会启动第一个守护进程init,然后通过该进程读取/etc/inittab
6、加载rc.sysinit
执行第一个用户层文件:/etc/rc.d/rc.sysinit。该功能包括:设定path运行变量、设定网络设置、启动swap分区、设定/proc、系统函数、配置SELinux等。
7、加载内核模块
读取/etc/modules.conf 文件及/etc/modules.d 目录下的文件来加载系统内核模块。该模块文件,可以后期添加或者修改及删除。
8、启动运行级别程序
根据之前读取的运行级别,操作系统会运行 rc0.d 到 rc6.d 中的相应的脚本程序,来完成相应的初始化工作和启动相应的服务。其中以S开头表示系统即将启动的程序,如果以K开头,表示停止该服务。S和K后面的数字为启动顺序编号。
9、读取rc.local文件
操作系统启动完相应服务后,会读取执行/etc/rc.d/rc.load 文件,可以将需要开机启动的任务加入到该文件末尾,系统会逐行去执行并启动相应命令。
10、执行/bin/login程序
执行login程序,启动到系统登录界面,等待用户输入用户名和密码,即可登录到shell终端。
CentOS6与CentOS7的区别
A | B | C | D |
编号 | 系统功能 | CentOS6 | CentOS7 |
1 | init系统 | sysvinit | systemd |
2 | 桌面系统 | GNOME 2.x | GNOME 3.x / GNOME Shell |
3 | 文件系统 | ETX4 | XFS |
4 | 内核系统 | 2.6.X | 3.10.X |
5 | 启动加载器 | GRUB Legacy (+efibootmgr) | GRUB2 |
6 | 防火墙 | iptables | firewalld |
7 | 数据库 | MySQL | MariaDB |
8 | 文件目录 | /bin、/sbin、/lib、/lib64 在根下 | /bin、/sbin、/lib、/lib64 在 /usr 下 |
9 | 主机名 | /etc/sysconfig/network | /etc/hostname |
10 | 时间同步 | ntp,ntpq -p | chrony, chronyc sources |
11 | 修改时间 | $ vim /etc/sysconfig/clock ZONE="Asia/Tokyo" UTC=fales $ sudo ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime |
$ timedatectl set-timezone Asia/Tokyo $ timedatectl status |
12 | 区域及字符设置 | $ vim /etc/sysconfig/i18n LANG="ja_JP.utf8" $ /etc/sysconfig/i18n $ locale |
$ localectl set-locale LANG=ja_JP.utf8 $ localectl status |
13 | 启动停止服务 | $ service service_name start $ service service_name stop $ service sshd restart/status/reload |
$ systemctl start service_name $ systemctl stop service_name $ systemctl restart/status/reload sshd |
14 | 自动启动 | $ chkconfig service_name on/off | $ systemctl enable service_name $ systemctl disable service_name |
15 | 服务列表 | $ chkconfig --list | $ systemctl list-unit-files $ systemctl --type service |
16 | kill服务 | $ kill -9 <PID> | $ systemctl kill --signal=9 sshd |
17 | 网络及端口信息 | $ netstat $ netstat -I $ netstat -n |
$ ip n $ ip -s l $ ss |
18 | IP信息 | $ ifconfig -a | $ ip address show |
19 | 路由信息 | $ route -n $ route -A inet6 -n |
$ ip route show $ ip -6 route show |
20 | 关闭停止系统 | $ shutdown -h now | $ poweroff $ systemctl poweroff |
21 | 单用户模式 | $ init S | $ systemctl rescue |
22 | 运行模式 | [GUICUI] $ vim /etc/inittab id:3:initdefault: [CUIGUI] $ startx |
[GUICUI] $ systemctl isolate multi-user.target [CUIGUI] $systemctl isolate graphical.target 默认 $ systemctl set-default graphical.target $ systemctl set-default multi-user.target 当前 $ systemctl get-default |