1、操作系统启动过程:
RHEL7:RHEL 5 6 RHEL 7
RHEL6 VS RHEL 7
RHEL6 的启动过程:
加电-BIOS-管理启动程序:lilo,grub,grub2(作用:加载内核)--init--启动其它程序(bash,sshd,ftp,web,dns,gui)
UEFI GPT(guid):包括了MBR
加电-BIOS-MBR(主引导记录),512字节
446 bootloader(启动引导代码):stage1,/boot
四个分区(四个主分区,扩展分区
16字节:分区起始柱面,分区类型
主分区+扩展分区=<4
2字节:55AA校验位
UEFI
MBR:不支持大于2T的分区
GPT
管理启动程序:
任何程序:
文件系统的接口:stage1.5
可执行代码:/boot/grub/stage2
库文件
配置文件:/boot/grub/grub.conf(指定的了内核的位置和名称)
数据文件:内核
dd if=/dev/zero of=/dev/sda bs=446 count=1
dd if=/dev/zero of=/dev/sda bs=512 count=1
dd if=/dev/sda of=/root/mbr.bak bs=512 count=1
dd if=/root/mbr.bak of=/dev/sda bs=512 count=1
dd if=/dev/sda of=/dev/sdb bs=10M
修复bootloader,/boot/grub/stage1.5,/boot/grub/stage2:
grub-install /dev/sda(磁盘的名称)在rescue模式下运行
RHEL7:grub2-install /dev/sda
/dev/sda /dev/sda1 /dev/sda2 /dev/sda3
/dev/hda
udev:管理/dev/下面的节点,通过udev定义规则
selinux:sestatus
主要根据这个设备驱动的三个属性:
设备类型:块设备:磁盘,/dev/sda,非顺序性,提供缓存
字符设备:/dev/tty,终端,顺序性,
主设备
从设备
swap:
磁盘的容量的计算方式:
扇区数*扇区的大小*磁道的数量*磁头的数量
分区规划:
/boot:管理启动程序,内核
如果/boot/grub/grub.conf丢失了,在系统启动时出现grub>界面
只能手动修复
/boot/grub/grub.conf最精简的内容:
title linux 只是用于区分操作系统的
root (hd0,0) 指定/boot所在的分区(一种/boot单独分区,一种/boot没有单独分区,直接存储在/分区里)
kernel 内径(位置+名称) ro root=/dev/sda3 1
initrd init-ram-fs的路径
title windows
在RHEL7版本上面:
set root=(hdX,分区的类型加分区号)
linux16 路径(位置+名称) ro root=/dev/sda3
initrd16 initramfs的路径
重新生成配置文件的命令:
grub2-mkconfig >/boot/grub2/grub.cfg
进入RESCUE的方法:
光盘,PXE(网络方式),USB引导盘
内核的数据:
/boot/vmlinuz-version
/boot/initramfs-version.img 辅导vmlinuz,加载启动相关的一些模块,根文件系统的名称
/lib/modules/
chroot /mnt/sysimage
lfs=
/dev/sda3
/dev/sda3:人名
uuid:身份证号
卷标名:别名
init----其它程序
mount -o remount,rw /
/etc/fstab
0--halt
level 1,单用户,不需要认证
2---text,不支持网络,认证
3---text,认证
4---没用
5---gui,认证
6---reboot
dns,web
/etc/rc.d/init.d/named start|stop|status
/etc/rc.d/init.d/httpd
/etc/rc.d/init.d=/etc/init.d/
service named start
/etc/init.d/named start
chkconfig 服务名 on|off
/etc/rc.d/init.d/named
/usr/sbin/xxx -aaa
/etc/inittab:启用级别
udev:
/etc/rc.d/rc.sysinit
/etc/sysconfig/network
/etc/sysconfig/selinux
/etc/sysctl.conf
/etc/fstab
/dev/sda5 /abc ext4 defaults 0 2
rescue mode:它之所以能自动挂载文件系统,是依赖两个条件:分区表,/etc/fstab
chroot /mnt/sysimage
安装包,不需要先运行chroot
事先把光盘或NFS的有关包的共享挂载
rpm -ivh 包名 --root=/mnt/sysimage --force
重读分区表:
partprobe /dev/sda
可执行文件(命令)
配置文件
库文件
数据文件/var/
文档
hash 输入---指纹
abc----xxxxx
abc----xxxxx
rpm包的总结
可变化的数据:/etc,/var(/etc/vsftpd.conf)
不可变化的数据:/bin,/sbin/,/usr/bin/,/usr/sbin/,
/usr/local/bin,/usr/local/sbin,/lib/,/usr/lib
rpm -ivh 包 --force(只会把不可变化的数据,强制覆盖)
如果想恢复可变化数据为最初状态:
删除该文件,然后强制安装
rm -rf /etc/vsftpd.conf
rpm -qf /etc/vsftpd.conf
rpm -ivh 包 --force
挂载网络共享(nfs)的方法:
/iso *
mount 172.25.254.254:/iso 挂载点
yum
内核:
进程管理
内存管理
TCP/IP
安全
文件系统
设备驱动
内核的升级:
查看内核的版本:
查看内核的包:rpm -qa |grep kernel
内核包包含的内容:
/boot/vmlinuz-version
/boot/initramfs-version.img
/lib/modules/`uname -r`/
对内核的配置:通常配置/etc/sysctl.conf
proc文件系统:内核
/proc/cpuinfo
/proc/meminfo
http://content.example.com/rhel7.0/x86_64/errata
ntfs/
configure
./configure gcc
Makefile: 编译的规则
目标文件:依赖的条件
命令(gcc)
make
make install
查看内核已加载的模块:lsmod
加载模块:modprobe 模块名
移除模块:modprobe -r 模块名
所有内核相关的实时的信息:proc,sys(热插拔的设备)