重走lfs之路:(一) 环境准备-亚博电竞手机版

自从大学二年级的寒假没日没夜地用了整整两个月的时间编译了lfs之后,就再也没做过。这两天在linux中国的微信公众号上看到lfs都升级到7.7了,故而觉得是时候重新再编译一遍的时候了。

诚然lfs是linux学习和深入理解的终南捷径,每个真心希望了解linux的人都建议去做一遍lfs,因为每做一次就会获得新的知识,对linux有更多更深入的理解。

(题图来自: techradar.com)

貌似lfs亚博电竞手机版官网(http://www.linuxfromscratch.org)不再提供livecd了,好吧好吧,那我就从虚拟机装个宿主系统,依然是debian。说句题外话,对于自己用得惯的os,真心应该最小安装到虚拟机一份,再有需要的时候,直接复制一下改个名,省心又省力。

此时我把debian更新到了最新,并且为了使用显卡驱动让它能够在我的显示器上全屏显示,就用tasksel装上了debian desktop environment。

我在自己的home目录中新建了一个目录lfs,用于整个工程的存储。这时候我在~/lfs/中新建了一个checkscript目录,用于存储事前的环境检查脚本。

我们来编写第一个检查脚本,这个脚本会检查各个需要的工具及内核版本号,看看是否符合lfs7.7的列表要求,如果没有,会报not found。

cd ~/lfs/checkscript  vi check_env.sh
#/bin/sh export lc_all=c  bash –version | head -n1 | cut -d” ” -f2-4 echo “/bin/sh -> `readlink -f /bin/sh`” 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 yacc 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` sed –version | head -n1 tar –version | head -n1 makeinfo –version | head -n1 xz –version | head -n1  echo ‘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

此时的脚本是不能直接执行的,需要加执行权限,也就是x权限

chmod  x check_env.sh

现在可以执行脚本了

从检查结果中可以看到,我的debian太干净了,缺了好几样东西,bison gawk g ,所以我用aptitude装上他们就好了。

此时环境检查没有报错信息了,需要的工具也已经正确显示了版本号。

下面检查需要用到的库,一共有三个,gmp, mpfr和mpc

cd ~/lfs/checkscript  vi check_lib.sh
#!/bin/bash for lib in lib{gmp,mpfr,mpc}.la; do echo $lib: $( if find /usr/lib* -name $lib | grep -q $lib; then :; else echo not; fi ) found done unset lib

从检查结果来看,三个库目前都不具备,不过没关系,现在还用不到这三个货,先把脚本写好。

展开全文
内容来源于互联网和用户投稿,文章中一旦含有亚博电竞手机版的联系方式务必识别真假,本站仅做信息展示不承担任何相关责任,如有侵权或涉及法律问题请联系亚博电竞手机版删除

最新文章

知识分享
1.登录交管12123亚博电竞手机版官网进行查询,交管12123app不能查到具体的分数。2.登录后找到...…
知识分享
途观是大众汽车在美国乃至全球最畅销的车型。2022年,tiguan的外观造型焕然一新,内饰...…
网站地图