暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【LFS 系列】从零开始 DIY Linux 系统:(二)虚拟机创建宿主机(Centos7)

原创 Lucifer三思而后行 2021-09-18
1277

由于 DIY 需要一个宿主机,因此需要使用虚拟机先安装一个宿主机!

Centos 镜像可以关注 公众号:Lucifer三思而后行
私心回复 Linux安装包
获取!

虚拟机可以根据自己所需进行选择,博主电脑是 macOS,使用 Parallels Desktop
来创建虚拟机。

下面不多废话,直接开始吧!

新建一台虚拟机:

点击选择文件,选择下载好的 Centos7
的镜像文件:


不使用快速安装,采取自定义安装:

☑️勾选 安装前设定
,修改名称和安装目录:

选择安装镜像源:


回车
开始安装:

选择 英文
环境安装:


时区选择 Asia/Shanghai


安装模式选择 最小化 + 开发工具


分区留 30G
用来LFS DIY:



KDUMP 关闭:

配置静态IP,主机名 lfs



点击 Begin Installation
开始安装:

设置 root
密码 lfs
,点击两次 Done
确认:

安装中…

安装完成,重启即可!

输入 root
用户和密码登录:

📢 注意:由于需要复制代码,所以下面使用 ssh root@10.211.55.55
远程连接宿主机进行操作:

配置解析:

cat <<EOF>>/etc/resolv.conf
nameserver 10.211.55.1
EOF

关闭防火墙:

systemctl stop firewalld
systemctl disable firewalld

关闭 Selinux:

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0

升级操作系统:

yum update -y

安装辅助工具:

yum install -y vim bash-completion wget

wget http://ftp.gnu.org/gnu/texinfo/texinfo-6.8.tar.xz
tar -xf texinfo-6.8.tar.xz
cd texinfo-6.8
./configure && make && make install
cd ..
rm -rf texinfo-6.8

安装 python3:

yum -y install bzip2 bzip2-devel ncurses openssl openssl-devel xz xz-devel sqlite sqlite-devel gdbm gdbm-devel tk tk-devel libffi-devel
wget https://www.python.org/ftp/python/3.9.7/Python-3.9.7.tar.xz
tar -xvf Python-3.9.7.tar.xz
cd Python-3.9.7/
./configure --prefix=/usr/local/python3
# --enable-optimizations 是一个调优的选项 这次不加
make && make install
ln -sv /usr/local/python3/bin/python3 /usr/bin/python3
ln -sv /usr/local/python3/bin/pip3 /usr/bin/pip3
# 加v参数的好处是,弄完了看一下看看到底有没有问题,有没有弄错

检查编译环境版本:

cat > version-check.sh << "EOF"
#!/bin/bash
# Simple script to list version numbers of critical development tools
export LC_ALL=C
bash --version | head -n1 | cut -d" " -f2-4
MYSH=$(readlink -f /bin/sh)
echo "/bin/sh -> $MYSH"
echo $MYSH | grep -q bash || echo "ERROR: /bin/sh does not point to bash"
unset MYSH

echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3-
bison --version | head -n1

if [ -h /usr/bin/yacc ]; then
  echo "/usr/bin/yacc -> `readlink -f /usr/bin/yacc`";
elif [ -x /usr/bin/yacc ]; then
  echo yacc is `/usr/bin/yacc --version | head -n1`
else
  echo "yacc not found" 
fi

bzip2 --version 2>&1 < /dev/null | head -n1 | cut -d" " -f1,6-
echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2
diff --version | head -n1
find --version | head -n1
gawk --version | head -n1

if [ -h /usr/bin/awk ]; then
  echo "/usr/bin/awk -> `readlink -f /usr/bin/awk`";
elif [ -x /usr/bin/awk ]; then
  echo awk is `/usr/bin/awk --version | head -n1`
else 
  echo "awk not found" 
fi

gcc --version | head -n1
g++ --version | head -n1
ldd --version | head -n1 | cut -d" " -f2-  # glibc version
grep --version | head -n1
gzip --version | head -n1
cat /proc/version
m4 --version | head -n1
make --version | head -n1
patch --version | head -n1
echo Perl `perl -V:version`
python3 --version
sed --version | head -n1
tar --version | head -n1
makeinfo --version | head -n1  # texinfo version
xz --version | head -n1

echo 'int main(){}' > dummy.c && g++ -o dummy dummy.c
if [ -x dummy ]
  then echo "g++ compilation OK";
  else echo "g++ compilation failed"; fi
rm -f dummy.c dummy
EOF


至此,宿主机已经创建成功!


本次分享到此结束啦~

如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。

❤️ 技术交流可以 关注公众号:Lucifer三思而后行 ❤️

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论