LFS和BLFS学习

文章目录

  • LFS学习总结
    • cfdisk磁盘分区指令
    • 工具链技术
    • 配置网络相关
  • BLFS学习
    • 自定义boot device
    • 安装固件:microcode微码
    • bash shell启动文件
      • 补充知识:“交互/非交互”和“登录/非登陆”
      • 重要文件1:/etc/profile.d/umask.sh配置文件
    • Security篇(跳过)
    • 文件系统和磁盘管理
      • 关于initramfs
      • LVM2
    • 通用库libraries、通用应用程序、常规应用程序、系统应用程序
    • 网络组件
    • 服务器组件
      • 建立非特权用户群组的意义

LFS学习总结

cfdisk磁盘分区指令

LFS和BLFS学习_第1张图片

注意:磁盘分区总是从空闲部分的头开始创建,否则grub启动引导里配置磁盘分区号时无法辨别
LFS和BLFS学习_第2张图片

工具链技术

围绕GCC+Binutils+Glibc三个工具展开:
Binutils:用于创建、管理和维护二进制目标文件的工具
GCC:一组编译工具,主要用于预处理和编译任务
Glibc:GNU发布的libc库,即c运行库

配置网络相关

BLFS学习

自定义boot device

解决主机系统出现分区信息丢失和文件损坏的情况,这些信息可以不依赖于被拯救的主机,直接依赖于外部的救援设备rescue device,录入:CDROM,USB驱动器,网卡等。

安装固件:microcode微码

微码:对CPU进行更新以解决勘误表问题

如果您已经确定更新后的微码可用于您的系统,那么是时候为
早期加载做好准备了。
这需要一个额外的包,cpio-2.13,并创建一个initrd,它
需要添加到grub.cfg中。在哪里准备initrd并不重要,
一旦它开始工作,您就可以将相同的initrd应用到同一
台机器上的后续LFS系统或更新的内核上,至少在
任何更新的微代码发布之前是这样。

bash shell启动文件

shell文件使用启动文件集合帮助创建环境,每个文件都有特定的用途,可能以不同的方式影响登录和交互环境。

补充知识:“交互/非交互”和“登录/非登陆”

交互:就是与用户交互执行;登录一般涉及密码login

重要文件1:/etc/profile.d/umask.sh配置文件

设置umask对于安全性非常重要,例如:
在这里,当用户名和组名不相同时,系统用户的默认组写权限被关闭。
LFS和BLFS学习_第3张图片

Security篇(跳过)

文件系统和磁盘管理

关于initramfs

注意init关键字+fs关键字,因此在LFS环境中使用initramfs只有四个主要原因:
1.从网络加载rootfs(root filesystem-Rootfs:根文件系统);
2.从LVM逻辑卷加载rootfs;
3.在需要密码的情况下使用加密的rootfs;
4.为了方便将rootfs指定为LABEL或UUID。

例如:编写脚本,使得这些允许在LVM逻辑卷上指定一个rootfs,或者通过分区UUID或分区LABEL指定一个rootfs。
脚本1:

在这里插入图片描述
LFS和BLFS学习_第4张图片
脚本2:

在这里插入图片描述

LFS和BLFS学习_第5张图片

生成initrd将文件复制到boot目录下,并在grub启动引导界面增加相应的菜单项。
LFS和BLFS学习_第6张图片

LVM2

LVM2包是一组管理逻辑分区的工具。它允许跨越多个物理磁盘和磁盘分区的文件系统,并提供逻辑分区的动态增长或收缩、镜像和低存储占用快照。

LVM(logical volume management 逻辑卷管理):LVM管理磁盘驱动器。它允许将多个驱动器和分区组合成更大的卷组,帮助通过快照进行备份,并允许动态调整卷大小。它还可以提供类似于RAID 1阵列的镜像

LFS和BLFS学习_第7张图片

物理卷一般是物理磁盘的分区,卷组可以由任意数量的物理卷组成,逻辑卷由卷组构成 且 逻辑卷又可以逻辑上当成正常的linux分区使用。 (图片非原创,具体原链接详见编辑页)

LFS和BLFS学习_第8张图片

逻辑卷的具体创建步骤

通用库libraries、通用应用程序、常规应用程序、系统应用程序

./configure 、make、 make instal(Cmake, meson、ninja,ruby gem)安装通用的软件

meson构建和ninja编译的具体步骤

ruby gem通常用于安装ruby库和程序的标准包

网络组件

1.利用systemd-networkd来进行网桥设置;
2.用于访问各种服务器的客户机应用程序:桥接工具包、;

服务器组件

包括:主服务器(主服务器是向用户或其他程序提供内容或服务的程序)、邮件服务器、数据库等

建立非特权用户群组的意义

LFS和BLFS学习_第9张图片

LFS和BLFS学习_第10张图片

LFS和BLFS学习_第11张图片

你可能感兴趣的:(Linux,LFS,BLFS)