《Linux From Scratch》第二部分:准备构建 第四章:最后的准备- 4.4. 设置环境
Linux 环境 设置 构建 部分 from 准备 最后
2023-09-27 14:28:46 时间
通过为 bash shell 创建两个开机启动的文件设置好工作环境。当以 lfs 用户身份登录时,运行以下命令创建一个新的 .bash_profile 文件:
cat ~/.bash_profile "EOF" exec env -i HOME=$HOME TERM=$TERM PS1=\u:\w\$ /bin/bash当以 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=/tools/bin:/bin:/usr/bin export LFS LC_ALL LFS_TGT PATHset +h 命令关闭了 bash 的哈希功能。 哈希通常是一个有用的功能,bash 用一个哈希表来记录可执行文件的完整路径,以避免搜索 PATH 的时间和又找到一个相同的可执行文件。然而,新工具要一安装后就使用。通过关闭哈希功能,一个程序准备运行时 shell 总是会搜索 PATH 变量。如此,shell 能在新编译的工具可用时马上在文件夹 $LFS/tools 中找到,而不是记录相同程序在其它地方的之前版本。 设置用户文件新建掩码(umask)为 022 ,确保新建的文件和目录只有它们自己的所有者可写,任何人都可读和可执行(假定 open(2) 系统调用使用的默认模式是新文件使用 644 模式,文件夹使用 755 模式)。 LFS 变量应该设置为选定的挂载点。 LC_ALL 变量控制特定程序的本地化,使得它们的消息能遵循特定国家的惯例。设置 LC_ALL 为 “POSIX” 或 “C”(两者是等价的),确保 chroot 环境中一切如期望的那样进行。 当编译我们的交叉编译器和链接器以及交叉编译我们的临时工具链时,LFS_TGT变量设置了一个非默认,但兼容的机器说明。5.2,“工具链技术说明”包含更多的信息。 把 /tools/bin 放在标准的 PATH 变量前面, 第五章中安装的软件一安装完成 shell 就可使用。这和关闭哈希功能一起,降低了在第五章环境中新程序可用时宿主机器使用旧程序的风险。 最后,启用刚才创建的用户配置文件,为编译临时工具完全准备好环境:
source ~/.bash_profile
3、惊奇,竟然可以在ChatGPT的GPT-4模型让它扮演Linux服务器 搭建K8s和docker环境 ChatGPT能帮我们解决的问题已经够多了,这里我就不一一列举了,因为大家都知道,但是今早竟然发现这么一个神奇的功能。可以让它扮演linux服务器,搭建测试环境,那么学习linux这玩意简直太省事了,不过目前好像只有GPT-4模型才支持这种玩法。
【Linux】三、Linux 环境基础及开发工具使用(下篇) 六、Linux 软件包管理器 yum 6.1 前言 6.2 什么是软件包 6.3 查看软件包 6.4 如何安装软件 6.5 如何卸载软件 6.6 yum 源 6.7 一些好玩的命令七、Linux第一个小程序-进度条 7.1 \r&&\n 7.2 行缓冲区概念 7.3 进度条代码 八、Linux 使用 git 命令行 8.1 版本控制 8.2 git 的历史 8.3 git 安装 8.4 克隆远程仓库到本地 8.5 git 三板斧8.51 三板斧第一招: git add 8.52 三板斧第二招: git commit 8.53 三板斧第三招: g
【Linux】三、Linux 环境基础及开发工具使用(上篇) 一、开发工具 二、Linux编辑器 - vim使用 2.1 vim 的基本概念 2.2 vim的基本操作 2.3 vim正常模式命令集 2.4 vim末行模式命令集 2.5 简单vim配置 2.5.1 配置文件的位置
相关文章
- Linux基本开发环境配置git,c++,nodejs,nginx
- 【Linux】Ubuntu环境(mxml的存储与读取实例+16进制与字符串转化)
- import cv2 报错(linux环境)ImportError: libGL.so.1: cannot open shared object file: No such file or direc
- linux系统重装yum工具与python环境
- 【Linux开发】内核模块简介
- Linux中安装JDK(Java运行环境)【安装Compressed Archive压缩格式(jdk-***.tar.gz)】】【安装.rpm格式(jdk-***.rpm)】
- windows和linux执行class
- jmeter(二十五)linux环境运行jmeter并生成报告
- 环境部署(九):linux下安装python+chrome+Xvfb
- 在Linux服务器中配置mongodb环境
- Remmina:一个Linux下功能丰富的远程桌面共享工具
- GO语言学习笔记之Linux环境下安装GO语言
- Linux下部署Samba服务环境的操作记录
- Linux下smokeping网络监控环境部署记录
- Linux磁盘挂载详述
- linux下ip冲突检测 && arp
- kali linux: 网卡监听及扫描网络
- Linux环境下段错误的产生原因及调试方法小结
- Linux 简单按键中断处理流程
- Linux Kernel5.10的核间通信(SGI中断)的本质
- Linux环境编程之同步(三):读写锁
- Linux环境安装单机版Elasticsearch7和Kibana7教程
- Linux 下wifi 驱动开发(三)—— SDIO接口WiFi驱动浅析(转)
- linux下vim命令详解
- vscode 远程 Linux 开发环境搭建
- Linux 软件看门狗 watchdog
- 嵌入式arm linux环境中gdb+gdbserver调试
- 嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十四)文字显示
- VMware安装qt在RK3399交叉编译环境aarch64-linux-gnu
- Linux环境下安装宝塔面板
- Linux crontab使用方法
- Linux环境下使用eclipse开发C++动态链接库程序
- Fedora Linux 下安装配置C开发环境Code::Blocks
- Linux /etc/passwd /etc/group /etc/shadow 文件的格式说明