重走lfs之路:(三) 磁盘初始化与源码准备-mile米乐体育

当硬件部分都准备就绪,就可以开始动手来准备软件了。不过在开始编译之前需要先做一件事,就像windows中说的要格式化分区。虽然我真心不喜欢用linux和windows比,因为那样着实像是在英语和汉语之间来回翻译,想想就知道印欧语系和汉藏语系两门语言跨语系表述是多别扭的事。

在linux中,我们把这个操作叫做简历文件系统。linux使用的文件系统是ext系列和swap,其中swap只用作交换分区的格式,所谓交换分区可以理解为虚拟内存。

此时我们已经建立了三个分区/dev/sdb1 /dev/sdb2 /dev/sdb5,其中/dev/sdb1用作引导分区,我们将其文件系统建立为ext2,虽然实测ext4也没问题,但是可能是为了兼容一些老的东西吧,习惯上引导分区还是用ext2。作为swap分区的/dev/sdb2单独有分区格式,就叫做swap。剩下的/dev/sdb5使用ext4就好了。

sudo mkfs -v -t ext2 /dev/sdb1 sudo mkswap /dev/sdb2 sudo mkfs -v -t ext4 /dev/sdb5

建立文件系统后,就可以挂载,然后使用这块空间了。不过在此之前为了方便,我们来加个环境变量

export lfs=/mnt/lfs

从此以后,我们就以$lfs来作为lfs工程的存储根目录,只不过需要记得,每次宿主系统重启之后,都需要重新export和mount,如果嫌这样太麻烦,可以把环境变量定义和分区挂载写入用户配置文件~/.bashrc

建立$lfs,用到p和v两个选项,p是parents,如果父目录不存在就一路新建,v会创建成功后回显信息。

sudo mkdir -pv $lfs

此时回显了一条信息

mkdir: created directory `/mnt/lfs’

当看到这条回显信息时证明已经新建成功,接下来我们把lfs工程的主要存储分区/dev/sdb5挂载到这个目录上

sudo mount -v -t ext4 /dev/sdb5 $lfs

其中-v选项依然是操作成功后回显信息,而值得注意的是-t选项,由它来指定需要挂载的是什么文件系统的分区,在稍微老一点的linux中挂载ntfs时候可能需要用到这个选项,保险起见我们还是显式定义了这个参数。

/dev/sdb5 on /mnt/lfs type ext4 (rw)

当看到这条回显信息的时候,证明/dev/sdb5分区已经成功地以读写方式挂载到了/mnt/lfs目录,接下来我们就可以像操作一个目录一样地操作这个分区。如果不太放心自己的$lfs定义的是否正确,可以用echo打印出来看看

echo $lfs

至此我们就可以在$lfs上面来下载和编译我们所需的lfs组件了,不过在此之前为了方便,我们需要把$lfs目录的属主改为当前用户,否则每次不危险的操作都加sudo得多别扭。顺便把等下要用到的存储下载源码的路径$lfs/src一起新建出来

sudo chown -r purehow.purehow $lfs mkdir $lfs/src

现在我们就可以进入$lfs/src来下载所需的组件,此时我们手动一个一个下载可就太痛苦了,好在wget有一个–input-file选项可以指定下载列表。官方提供了下载列表,我们此时需要下载两个文件,一个是文件下载列表wget-list,另一个是这个列表中每个文件的md5sum值,这样可以有效校验我们下载的源码文件是否完整正确。

cd $lfs/src wget http://archive.linuxfromscratch.org/lfs-museum/stable/wget-list wget http://archive.linuxfromscratch.org/lfs-museum/stable/md5sums

其中md5sum这个文件等下下载完成我们才能用到,现在先下载这些文件

wget –input-file=wget-list –continue –directory-prefix=$lfs/src

此时我们可以看到,文件已经在下载了。

关于wget的参数:

–input-file是下载列表文件,文件格式就是每行一个链接。

–continue是断点续传,预防某种网络错误导致的下载中断。

–directory-prefix下载存储目录

有些人总嫌直接下载慢,需要个快点的代理。现在的翻墙代理貌似还真的只有ssh还比较靠谱,但是ssh tunnel回来的是一个本地的socks5端口,不巧的是wget里面压根就没法直接用socks5代理。这时候需要个小工具privoxy。

sudo aptitude install privoxy sudo vi /etc/privoxy/config

从里面能找到listen-address一行,它默认配的是localhost:8118,我是改成了127.0.0.1:8118,这行配置是指的转成的http代理用哪个端口。再找一行叫做forward-socks5,本来是注释的,我也没打开这个注释,直接新加一行forward-socks5 127.0.0.1:1080,1080就是ssh tunnel回来的socks5端口。

listen-address 127.0.0.1:8118 forward-socks5 127.0.0.1:1080

此时的wget就可以使用-e参数来指定http_proxy,于是刚才的下载命令就变成了酱紫

wget –input-file=wget-list –continue –directory-prefix=$lfs/src -e “http_proxy=http://127.0.0.1:8118″

好吧~本站提供这堆东西的打包下载

http://www.haopingrui.cn/lfs.tar.gz 124e1eb0e52f176ab84c38118b4975e3

只要你的网速没问题,北京联通实测能够稳定在300kbps左右,峰值曾经到1mbps以上。

下载完成后验证md5sum无误,就可以解压lfs.tar.gz了,如果不是从本站下载的可以忽略这一步

之后将源码包目录压入目录栈,并且使用刚才下载的md5sums文件来验证每个源码包和补丁是否下载正确,这一步非常重要。值得注意的是,pushd之后需要popd,否则会一直压着。另外pushd之后当前目录会改变为这个目录,所以需要../md5sum。

#md5sum lfs.tar.gz 124e1eb0e52f176ab84c38118b4975e3  lfs.tar.gz #tar zxvf lfs.tar.gz > /dev/null #pushd $lfs/src/lfs /mnt/lfs/src/lfs /mnt/lfs/src #md5sum -c ../md5sums acl-2.2.52.src.tar.gz: ok attr-2.4.47.src.tar.gz: ok autoconf-2.69.tar.xz: ok automake-1.15.tar.xz: ok bash-4.3.30.tar.gz: ok bc-1.06.95.tar.bz2: ok binutils-2.25.tar.bz2: ok bison-3.0.4.tar.xz: ok bzip2-1.0.6.tar.gz: ok check-0.9.14.tar.gz: ok coreutils-8.23.tar.xz: ok dejagnu-1.5.2.tar.gz: ok diffutils-3.3.tar.xz: ok eudev-2.1.1.tar.gz: ok eudev-2.1.1-manpages.tar.bz2: ok e2fsprogs-1.42.12.tar.gz: ok expat-2.1.0.tar.gz: ok expect5.45.tar.gz: ok file-5.22.tar.gz: ok findutils-4.4.2.tar.gz: ok flex-2.5.39.tar.bz2: ok gawk-4.1.1.tar.xz: ok gcc-4.9.2.tar.bz2: ok gdbm-1.11.tar.gz: ok gettext-0.19.4.tar.xz: ok glibc-2.21.tar.xz: ok gmp-6.0.0a.tar.xz: ok gperf-3.0.4.tar.gz: ok grep-2.21.tar.xz: ok groff-1.22.3.tar.gz: ok grub-2.02~beta2.tar.xz: ok gzip-1.6.tar.xz: ok iana-etc-2.30.tar.bz2: ok inetutils-1.9.2.tar.gz: ok intltool-0.50.2.tar.gz: ok iproute2-3.19.0.tar.xz: ok kbd-2.0.2.tar.gz: ok kmod-19.tar.xz: ok less-458.tar.gz: ok lfs-bootscripts-20150222.tar.bz2: ok libcap-2.24.tar.xz: ok libpipeline-1.4.0.tar.gz: ok libtool-2.4.6.tar.xz: ok linux-3.19.tar.xz: ok m4-1.4.17.tar.xz: ok make-4.1.tar.bz2: ok man-db-2.7.1.tar.xz: ok man-pages-3.79.tar.xz: ok mpc-1.0.2.tar.gz: ok mpfr-3.1.2.tar.xz: ok ncurses-5.9.tar.gz: ok patch-2.7.4.tar.xz: ok perl-5.20.2.tar.bz2: ok pkg-config-0.28.tar.gz: ok procps-ng-3.3.10.tar.xz: ok psmisc-22.21.tar.gz: ok readline-6.3.tar.gz: ok sed-4.2.2.tar.bz2: ok shadow-4.2.1.tar.xz: ok sysklogd-1.5.1.tar.gz: ok sysvinit-2.88dsf.tar.bz2: ok tar-1.28.tar.xz: ok tcl8.6.3-src.tar.gz: ok texinfo-5.2.tar.xz: ok tzdata2015a.tar.gz: ok udev-lfs-20140408.tar.bz2: ok util-linux-2.26.tar.xz: ok vim-7.4.tar.bz2: ok xml-parser-2.44.tar.gz: ok xz-5.2.0.tar.xz: ok zlib-1.2.8.tar.xz: ok bash-4.3.30-upstream_fixes-1.patch: ok bc-1.06.95-memory_leak-1.patch: ok bzip2-1.0.6-install_docs-1.patch: ok coreutils-8.23-i18n-1.patch: ok glibc-2.21-fhs-1.patch: ok kbd-2.0.2-backspace-1.patch: ok mpfr-3.1.2-upstream_fixes-3.patch: ok readline-6.3-upstream_fixes-3.patch: ok sysvinit-2.88dsf-consolidated-1.patch: ok

检测无误,分区和源码准备完成。

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

最新文章

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