LFS从0构建Linux:软件包补丁安装与环境配置
时间:2025-05-11 11:03:24 331浏览 收藏
在从0构建Linux系统的过程中,本文详细介绍了从虚拟机切换到开发板后的软件包和补丁的安装以及环境配置。通过官方文档提供的链接,我们可以使用wget或aria2指令批量下载所需的软件包,以提高效率。此外,还介绍了使用阿里云整合包的方法来解决国外软件下载速度慢的问题。最后的准备阶段包括为bash创建新的启动脚本,并配置环境变量,以确保构建临时工具的环境准备就绪。
我从虚拟机切换到了开发板,系统依然是Ubuntu。在上一篇文章中,我们完成了LFS的硬件准备和磁盘分区,最终达到了如下效果:
接下来就是安装软件包和补丁,以及进行最后的准备工作。
安装软件包与补丁
打开LFS的官方文档,我们可以看到官方已经提供了所有需要下载的软件包的链接。
剩下的就是安装步骤了。然而,手动一个一个链接安装太费时间,作为程序员,我们不希望在这种重复劳动上浪费时间。因此,我找到了一个整合所有软件包链接的版本,只需一条指令即可完成安装。
将这些链接复制到一个名为
urls.txt
的文本文件中后,我将介绍两个指令供读者选择下载。1.1 wget指令
在终端中使用wget指令批量下载文件:
wget -i urls.txt
-i
参数告诉wget
从urls.txt
文件中读取链接并下载。我们需要将文件下载到指定目录mnt/lfs.sources
:wget -i urls.txt -P /mnt/lfs/sources
1.2 aria2指令
如果你希望提高下载速度,可以使用
aria2
,它支持多线程下载。如果你没有安装,输入以下指令:sudo apt install -y aria2
下载格式如下:
aria2c -i urls.txt
下载到指定目录:
aria2c -i urls.txt -d /mnt/lfs/sources
这两种指令的介绍到此结束,你可以选择自己喜欢的一个进行安装。大家都知道,在安装国外软件时,下载速度通常很慢,所以你可能需要使用VPN。如果没有,我还有一种方法。
1.3 使用阿里云的整合包
龟速的下载速度难以忍受,而LFS项目在全球都很受欢迎,国内也不例外,所以肯定有人帮我们整合了软件包。我找到了阿里云的整合包,链接如下:阿里云。下载时,应选择较新的软件包,我下载的是2024年9月的版本,使用的是官方文档的2024年9月版本。解压后,软件包和补丁就都有了:
数量还是很多的。
最后的准备阶段(环境配置)
根据文档的指示,我们需要创建一个lfs用户,这个在之前已经让大家创建好了,同时需要创建许多目录,这些也已经完成。所以在最后的准备阶段,我只会讲解前文没有做的工作。
为bash创建两个新的启动脚本,以lfs用户身份执行以下命令,创建一个新的
.bash_profile
:cat > ~/.bash_profile
当以
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
具体内容的原因请访问官方文档:官方文档。
最后,为了确保构建临时工具所需的环境准备就绪,强制bash shell读取刚才创建的配置文件:
source ~/.bash_profile
在文档的最后还有关于SBU和测试套件的解释,请大家自行查阅。
总结
至此,我们就完成了从0构建Linux系统的全部准备阶段。下一篇文章将开始构建LFS交叉工具链和临时工具。期待你的关注,本系列将长期更新。
本篇关于《LFS从0构建Linux:软件包补丁安装与环境配置》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
256 收藏
-
105 收藏
-
459 收藏
-
195 收藏
-
159 收藏
-
369 收藏
-
306 收藏
-
496 收藏
-
132 收藏
-
225 收藏
-
272 收藏
-
393 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习