系统相关
首页 > 系统相关> > linux – 尝试将bash移植到/ mnt for chroot,bash想要什么才能工作?

linux – 尝试将bash移植到/ mnt for chroot,bash想要什么才能工作?

作者:互联网

我有一个阶段3 gentoo tarball ..将其解压缩到/ mnt托管/ dev / sda3.虽然打开包装后没有垃圾桶,也没有bash的迹象.据我所知,配置的其余部分涉及在这个假的gentoo环境中进行初始设置.所以..我想我可以从我正在运行的Fedora中移植bash.对于一个更大的问题,这是一个问题,但一次只有一个部分..我听说过一些关于lib或lib64中的一些文件,但不清楚哪个…

编辑:尚未使用’make’.澄清我在哪里

解决方法:

固定

首先,永远不要将实时工具移植/复制/链接等到stage3工作区.因此,让我们重新开始吧.首先,我假设/ dev / sda3是一个空白分区.如果不:

>使用像GParted这样的工具创建/ dev / sda3.
>如果您已经完成了步骤1,请发出:mke2fs -j / dev / sda3
> mkdir / mnt / gentoo&& mount / dev / sda3 / mnt / gentoo
> cd / mnt / gentoo
> wget http://distfiles.gentoo.org/releases/amd64/autobuilds/20150604/stage3-amd64-20150604.tar.bz2 -P / mnt / gentoo(假设是amd64 arch.)
> tar xvjpf stage3 – * .tar.bz2 –xattrs
>继续在Stage – Section 2

推理

解压缩时,Stage 3 Tarball将包含一个正常工作的Bash.以下命令,在Section 1.4 of Installing the Gentoo base system中:

chroot /mnt/gentoo /bin/bash
source /etc/profile
export PS1="(chroot) $PS1"

将进入一个干净的更改根目录,用于构建/安装.

本手册假设您希望Gentoo成为另一个实时系统.在你的情况下,你唯一应该忽略的是GRUB配置部分,因为Fedora包含一个工作的Grub.因此,Gentoo的启动选项应该添加到Fedora的Grub选项中.

更新

根据评论,每个Linux发行版都包含一个配置文件.它根据分布存储在不同的地方.在Gentoo的情况下,它存储在/ etc目录中,因为在Gentoo中,每个配置文件都是自定义的.引用Beyond Linux From Scratch Handbook

The shell program /bin/bash (hereafter referred to as just “the
shell”) uses a collection of startup files to help create an
environment. Each file has a specific use and may affect login and
interactive environments differently. The files in the /etc directory
generally provide global settings. If an equivalent file exists in
your home directory it may override the global settings.

通过这种方式,第2行(source命令)将构建系统的环境(在您的情况下为Fedora)与您使用chroot命令输入的解压缩的tarball中包含的环境分开.这确保了外部构建工具(即bash,configure,make)不会“污染”构建过程(请参阅上面的评论).换句话说:用于构建系统的configure,make和gcc编译器将是chroot中的那些.

至于第3行,导出$PS1打印(chroot)root @ host#/

这是人们关注手册,他们喜欢翻阅TTY或图形控制台,阅读所有文档可以告诉他们创建/更新chroot的位置是……

标签:gentoo,bash,linux,chroot
来源: https://codeday.me/bug/20190817/1672798.html