【LFS/从0构建Linux系统】软件包与补丁安装及环境配置

ops/2025/1/21 3:08:04/

笔者从虚拟机换回了开发板,系统仍然是Ubuntu。

文章目录

  • 1. 安装包与补丁的安装
    • 1.1 wget指令
    • 1.2 aria2指令
    • 1.3 使用阿里云的整合包
  • 2. 最后的准备阶段(环境配置)
  • 3 .总结

在上篇文章,我们完成lfs的硬件准备和磁盘分区。
最终达成这个效果:
在这里插入图片描述

那么接下来就是软件包和补丁的安装,已经最后的准备工作了。

1. 安装包与补丁的安装

打开LFS的官方文档,我们可以看到官方已经把所有要下载的安装包的官方链接已经给出了。
在这里插入图片描述

那么剩下的步骤就是安装了。
但是这里多链接一个一个的手动安装还是太花费时间了,作为程序员还是不想要把时间花在这样的重复劳动上。为此我找到了一个所有软件链接的整合版本,安装就只需要一个指令即可。
在这里插入图片描述

安装包与补丁
拿到这些链接后,打开Linux,创建一个文本文件,假设叫urls.txt
把所有链接复制到文件中后。下面我介绍两个指令给读者选择,选择一个喜欢的指令下载即可。

1.1 wget指令

在终端内使用wget指令批量下载文件。

wget -i urls.txt

-i 参数告诉wgeturls.txt文件中读取链接并下载
当然我们在下载时需要下载到指定的目录中mnt/lfs.sources

wget -i urls.txt -P /mnt/lfs/sources

1.2 aria2指令

如果你希望提高下载的速度,可以使用aria2,它支持多线程下载,速度更快。
如果你没有安装,输入以下指令

sudo apt install -y

下载格式:

aria2c -i urls.txt

下载到指定目录

aria2c -i urls.txt -d /mnt/lfs/sources

那么这两种指令就介绍完毕了,你可以选择你喜欢的一个安装即可。
相信大家都知道,在安装国外软件时,下载速度都超级慢,所以你肯定要挂个梯子什么的。如果没有,我这还有一种方法。

1.3 使用阿里云的整合包

龟速的下载速度是很难忍受的,LFS这个项目在世界范围都是很受欢迎的,国内也不例外,所以肯定会有人帮我做软件包的整合的。我找的是阿里云的整合包,链接如下:阿里云
读者在下载时,应挑选比较新的软件包安装,我下载的24年9月的,我使用的官方文档也是24年9月的版本。
把压缩包解压后,软件包和补丁就都出来了:
在这里插入图片描述

还是非常多的。

2. 最后的准备阶段(环境配置)

根据的文档的指示,我们选哟创建一个lfs的用户,这个在之前我就让大家创建好了,同时还要许多目录的创建,这个也是如此。
所以最后的准备阶段吗,我只会讲解在前文我们没有做的工作。
为bash创建两个新的启动脚本,以lfs的身份,执行以下命令,创建一个新的.bash_profile.

cat > ~/.bash_profile << "EOF"
`exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash`
EOF

在以 lfs 用户登录或从其他用户使用带 “-” 选项的 su 命令切换到 lfs 用户时,初始的 shell 是一个_登录_ shell。它读取宿主系统的 /etc/profile 文件 (可能包含一些设置和环境变量),然后读取 .bash_profile。我们在 .bash_profile 中使用 exec env -i…/bin/bash 命令,新建一个除了 HOME, TERM 以及 PS1 外没有任何环境变量的 shell 并替换当前 shell。这可以防止宿主环境中不需要和有潜在风险的环境变量进入构建环境。
新的 shell 实例是 非登录 shell,它不会读取和执行 /etc/profile 或者 .bash_profile 的内容,而是读取并执行 .bashrc 文件。现在我们创建一个 .bashrc 文件:

cat > ~/.bashrc << "EOF"
set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
LFS_TGT=$(uname -m)-lfs-linux-gnu
PATH=/usr/bin
if [ ! -L /bin ]; then PATH=/bin:$PATH; fi
PATH=$LFS/tools/bin:$PATH
CONFIG_SITE=$LFS/usr/share/config.site
export LFS LC_ALL LFS_TGT PATH CONFIG_SITE
export MAKEFLAGS=-j$(nproc)
EOF

在这里插入图片描述

具体内容的原因请访问官方文档:官方文档
最后,为了保证构建临时工具所需的环境准备就绪,强制 bash shell 读取刚才创建的配置文件:

source ~/.bash_profile

在文档的最后还有关于SBU和测试套件的解释,请大家自行查阅。

3 .总结

由此我们就完成了从0构建Linux系统的全部的准备阶段了,在下一篇文章就要开始构建 LFS 交叉工具链和临时工具。
期待你的关注,本系列长期更新。


http://www.ppmy.cn/ops/151818.html

相关文章

Syncthing在ubuntu下的安装使用

以前安装这个软件的时候&#xff0c; 是在windows和mac上&#xff0c;都是图形化的安装方式&#xff0c;但是ubuntu不太一样&#xff0c;需要增加源&#xff0c;然后执行命令。安装的系统版本是2004。 参考链接1&#xff0c;主要命令包含下面几个部分&#xff1a; 第一步&…

MySQL中like模糊查询如何优化?

大家好&#xff0c;我是锋哥。今天分享关于【MySQL中like模糊查询如何优化?】面试题。希望对大家有帮助&#xff1b; MySQL中like模糊查询如何优化? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在MySQL中&#xff0c;LIKE模糊查询是非常常见的&#xff0c;但它…

伏羲1.0试用版(文生图)

涵盖了从配置文件加载、数据加载、数据清洗、文本预处理、数据增强、风格迁移、特征提取、颜色抖动、文本编码器、图像生成器、视频生成器、音频生成器、判别器、模型定义、模型加载、图像保存、视频保存、音频保存、数据集类、模型训练、图像生成、图形用户界面、输出项目目录…

PHP的HMAC_SHA1和HMAC_MD5算法方法

很多做对接的小伙伴们都会遇到签名加密的问题&#xff0c;常用的就是hmac_sha1加密和hmac_md5加密&#xff0c;最开始用的是sha1加密&#xff0c;后来用到了md5加密&#xff0c;我以为直接把sha1改为md5就好了&#xff0c;结果试来试去跟文档提示的示例结果都对不上&#xff0c…

【SQL 中的分组查询与联合查询详解】

文章目录 SQL 中的分组查询与联合查询详解1. GROUP BY分组查询1.1 语句格式1.2 示例说明1.2.1 分别查询哥哥组和弟弟组的英语成绩总和1.2.2 查询哥哥组的所有成绩总和 2. 联合查询2.1 内连接2.1.1 语法格式2.1.2 执行过程 2.2 外连接2.2.1 左外连接2.2.2 右外连接 2.3 自连接2.…

微透镜阵列精准全检,白光干涉3D自动量测方案提效70%

广泛应用的微透镜阵列 微透镜是一种常见的微光学元件&#xff0c;通过设计微透镜&#xff0c;可对入射光进行扩散、光束整形、光线均分、光学聚焦、集成成像等调制&#xff0c;进而实现许多传统光学元器件难以实现的特殊功能。 微透镜阵列&#xff08;Microlens Array&#x…

ros2-7.5 做一个自动巡检机器人

7.5.1 需求及设计 又到了小鱼老师带着做最佳实践项目了。需求&#xff1a;做一个在各个房间不断巡逻并记录图像的机器人。 到达目标点后首先通过语音播放到达目标点信息&#xff0c; 再通过摄像头拍摄一张图片保存到本地。 7.5.2 编写巡检控制节点 在chapt7_ws/src下新建功…

跨站请求伪造(CSRF)介绍

一、什么是跨站请求伪造&#xff08;CSRF&#xff09; 跨站请求伪造&#xff08;Cross-Site Request Forgery&#xff0c;简称CSRF&#xff09;是一种针对网站的恶意利用方式&#xff0c;也被称为“One Click Attack”或“Session Riding”。 CSRF攻击通过伪装来自受信任用户…