鸟哥私房菜19-24章
总结
第十九章、开机流程、模块管理与 Loader
Linux 不可随意关机,否则容易造成文件系统错乱或者是其他无法开机的问题;
开机流程主要是:BIOS、MBR、Loader、kernel+initramfs、systemd 等流程
Loader 具有提供选单、加载核心文件、转交控制权给其他 loader 等功能。
boot loader 可以安装在 MBR 或者是每个分区槽的 boot sector 区域中
initramfs 可以提供核心在开机过程中所需要的最重要的模块,通常与磁盘及文件系统有关的模块;
systemd 的配置文件为主要来自 /etc/systemd/system/default.target 项目;
额外的装置与模块对应,可写入 /etc/modprobe.d/*.conf 中;
核心模块的管理可使用 lsmod, modinfo, rmmod, insmod, modprobe 等指令;
modprobe 主要参考 /lib/modules/$(uanem -r)/modules.dep 的设定来加载与卸除核心模块;
grub2 的配置文件与相关文件系统定义档大多放置于 /boot/grub2 目录中,配置文件名为 grub.cfg
grub2 对磁盘的代号设定与 Linux 不同,主要透过侦测的顺序来给予设定。如 (hd0) 及 (hd0,1) 等。
grub.cfg 内每个选单与 menuentry 有关,而直接指定核心开机时,至少需要 linux16 及 initrd16 两个项目
grub.cfg 内设定 loader 控制权移交时,最重要者为 chainloader +1 这个项目。
若想要重建 initramfs ,可使用 dracut 或 mkinitrd 处理
重新安装 grub2 到 MBR 或 boot sector 时,可以利用 grub2-install 来处理。
若想要进入救援模式,可于开机选单过程中,在 linux16 的项目后面加入『 rd.break 』或『 init=/bin/bash 』等方式来进入救援模式。
我们可以对 grub2 的个别选单给予不同的密码。
第二十章、基础系统设定与备份策略
因特网 (Internet) 就是 TCP/IP ,而 IP 的取得需与 ISP 要求。一般常见的取得 IP 的方法有:(1)手动直接设定 (2)自动取得 (dhcp) (3)拨接取得 (4)cable 宽带 等方式。
主机的网络设定要成功,必须要有底下的数据:(1)IP (2)Netmask (3)gateway (4)DNS 服务器 等项目;
硬件信息的收集指令有: lspci, lsusb, iostat lscpu 等;
备份是系统损毁时等待救援的救星,但造成系统损毁的因素可能有硬件与软件等原因。
由于主机的任务不同,备份的数据与频率等考虑参数也不相同。
常见的备份考虑因素有:关键文件、储存媒体、备份方式(完整/关键)、备份频率、使用的备份工具等。
常见的关键数据有:/etc, /home, /var/spool/mail, /boot, /root 等等
储存媒体的选择方式,需要考虑的地方有:备份速度、媒体的容量、经费与媒体的可靠性等。
与完整备份有关的备份策略主要有:累积备份与差异备份。
累积备份可具有较小的储存数据量、备份速度快速等。但是在还原方面则比差异备份的还原慢。
完整备份的策略中,常用的工具有 dd, cpio, tar, xfsdump 等等。
第二十一章、软件安装:原始码与 Tarball
原始码其实大多是纯文本档,需要透过编译程序的编译动作后,才能够制作出 Linux 系统能够认识的可执行的 binary file ;
开放原始码可以加速软件的更新速度,让软件效能更快、漏洞修补更实时;
在 Linux 系统当中,最标准的 C 语言编译程序为 gcc ;
在编译的过程当中,可以藉由其他软件提供的函式库来使用该软件的相关机制与功能;
为了简化编译过程当中的复杂的指令输入,可以藉由 make 与 makefile 规则定义,来简化程序的更新、编
译与连结等动作;
Tarball 为使用 tar 与 gzip/bzip2/xz 压缩功能所打包与压缩的,具有原始码的文件;
第二十二章、软件安装 RPM, SRPM 与 YUM
为了避免使用者自行编译的困扰,开发商自行在特定的硬件与操作系统平台上面预先编译好软件, 并将软
件以特殊格式封包成文件,提供终端用户直接安装到固定的操作系统上,并提供简单的查询/安装/移除等流
程。 此称为软件管理员。常见的软件管理员有 RPM 与 DPKG 两大主流。
RPM 的全名是 RedHat Package Manager,原本是由 Red Hat 公司所发展的,流传甚广;
RPM 类型的软件中,所含有的软件是经过编译后的 binary program ,所以可以直接安装在用户端的系统上,
不过,也由于如此,所以 RPM 对于安装者的环境要求相当严格;
RPM 除了将软件安装至用户的系统上之外,还会将该软件的版本、名称、文件与目录配置、系统需求等等均记录于数据库 (/var/lib/rpm) 当中,方便未来的查询与升级、移除(Rocky存储的/var/log/dnf.log);
RPM 可针对不同的硬件等级来加以编译,制作出来的文件可于扩展名 (i386, i586, i686, x86_64, noarch) 来
分辨;
RPM 最大的问题为软件之间的相依性问题;
SRPM 为 Source RPM ,内含的文件为 Source code 而非为 binary file ,所以安装 SRPM 时还需要经过
compile ,不过,SRPM 最大的优点就是可以让使用者自行修改设定参数 (makefile/configure 的参数) ,以
符合使用者自己的 Linux 环境;
RPM 软件的属性相依问题,已经可以藉由 yum 或者是 APT 等方式加以克服。 CentOS(系列) 使用的就是 yum机制。
yum 服务器提供多个不同的软件库放置个别的软件,以提供客户端分别管理软件类别。
第二十三章、X Window 设定介绍
Unix Like 操作系统上面的 GUI 使用的是最初由 MIT 所开发的 X window system,在 1987 释出 X11 版,并于 1994 更改为 X11R6 ,故此 GUI 界面也被称为 X 或 X11
X window system 的 X server 最初由 XFree86 计划所开发,后来则由 Xorg 基金会所持续开发;
X window system 主要分为 X server 与 X client ,其中 X Server 在管理硬件,而 X Client 则是应用程序。
在运作上,X Client 应用程序会将所想要呈现的画面告知 X Server ,最终由 X server 来将结果透过他所
管理的硬件绘制出来!
每一支 X client 都不知道对方的存在,必须要透过特殊的 X client ,称为 Window Manager 的, 来管理各窗口的重迭、移动、最小化等工作。
若有需要登入图形接口,有时会有 Display Manager 来管理这方面的动作
startx 可以侦测 X server / X client 的启动脚本,并呼叫 xinit 来分别执行;
X 可以启动多个,各个 X 显示的位置使用 -display 来处理,显示位置为 :0, :1...
Xorg 是一个 X server ,配置文件位于 /etc/X11/xorg.conf ,里面含有 Module, Files, Monitor, Device 等设定阶段。目前较新的设定中, 会将额外的设定放置于 /etc/X11/xorg.conf.d/*.conf
第二十四章、Linux 核心编译与管理
其实核心就是系统上面的一个文件而已,这个文件包含了驱动主机各项硬件的侦测程序与驱动模块;
上述的核心模块放置于:/lib/modules/$(uname -r)/kernel/
『驱动程序开发』的工作上面来说,应该是属于硬件发展厂商的问题
一般的用户,由于系统已经将核心编译的相当的适合一般使用者使用了,因此一般入门的使用者,基本上,不太需要编译核心
编译核心的一般目的:新功能的需求、原本的核心太过臃肿、与硬件搭配的稳定性、其他需求(如嵌入式系统)
编译核心前,最好先了解到您主机的硬件,以及主机的用途,才能选择好核心功能;
编译前若想要保持核心原始码的干净,可使用 make mrproper 来清除暂存盘与配置文件;
挑选核心功能与模块可用 make 配合:menuconfig, oldconfig, xconfig, gconfig 等等
核心功能挑选完毕后,一般常见的编译过程为:make bzImage, make modules
模块编译成功后的安装方式为: make modules_install
核心的安装过程中,需要移动 bzImage 文件、建立 initramfs 文件、重建 grub.cfg 等动作;
本文来自博客园,作者:{Rohin},转载请注明原文链接:https://www.cnblogs.com/Rohing/p/18406980