关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » HTML5 »重走LFS之路:(三) 磁盘初始化与源码准备

    重走LFS之路:(三) 磁盘初始化与源码准备

    2015-04-05 00:00:00 出处:oschina
    分享

    当硬件部分都准备就绪,就可以开始动手来准备软件了。不过在开始编译之前需要先做一件事,就像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

    重走LFS之路:(三) 磁盘初始化与源码准备

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

    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之路:(三) 磁盘初始化与源码准备

    现在我们就可以进入$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

    重走LFS之路:(三) 磁盘初始化与源码准备

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

    关于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

    重走LFS之路:(三) 磁盘初始化与源码准备重走LFS之路:(三) 磁盘初始化与源码准备

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

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    电脑屏幕不小心竖起来了?别慌,快捷键搞定

    Destoon 模板存放规则及语法参考

    Destoon系统常量与变量

    Destoon系统目录文件结构说明

    Destoon 系统安装指南

    Destoon会员公司主页模板风格添加方法

    Destoon 二次开发入门

    Microsoft 将于 2026 年 10 月终止对 Windows 11 SE 的支持

    Windows 11 存储感知如何设置?了解Windows 11 存储感知开启的好处

    Windows 11 24H2 更新灾难:系统升级了,SSD固态盘不见了...

    IT头条

    Synology 更新 ActiveProtect Manager 1.1 以增强企业网络弹性和合规性

    00:43

    新的 Rubrik Agent Cloud 加速了可信的企业 AI 代理部署

    00:34

    宇树科技 G1人形机器人,拉动一辆重达1.4吨的汽车

    00:21

    Cloudera 调查发现,96% 的企业已将 AI 集成到核心业务流程中,这表明 AI 已从竞争优势转变为强制性实践

    02:05

    投资者反对马斯克 1 万亿美元薪酬方案,要求重组特斯拉董事会

    01:18

    技术热点

    大型网站的 HTTPS 实践(三):基于协议和配置的优化

    ubuntu下右键菜单添加新建word、excel文档等快捷方式

    Sublime Text 简明教程

    用户定义SQL Server函数的描述

    怎么在windows 7开始菜单中添加下载选项?

    SQL Server 2016将有哪些功能改进?

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。