zoukankan      html  css  js  c++  java
  • 打造一个红旗(redflag)Linux的基础镜像(base image)

    起因

    由于工作原因,想找一个红旗Linux的基础镜像(base image)。网上搜了一下,但没有现成的。起初是想找对应的centos版本来代替,但又怕有些莫名其妙的问题。

    官方文档

    不过搜索过程中,发现有人有类似的疑问,参见这个链接:

    https://segmentfault.com/q/1010000005821637

    里面提到了docker官方的文档,教你如何构建自己的base image。官方文档在此

    https://docs.docker.com/develop/develop-images/baseimages/

    里面大概有2种思路,一种是使用类似于 debootstrap 的工具,一种是自建从头写 dockerfile,base image为

    from scratch
    

    此处的scratch代表一个空镜像。

    由于不知道红旗Linux做了哪些魔改,所以开始尝试第一种方法:debootstrap工具。

    但有个问题,debootstrap是debian系的,红旗整体是红帽系的…不过巧了,在搜debootstrap的时候,发现有人基于debootstrap开发了febootstrap。

    febootstrap

    安装比较简单,找到对应的包,就可以了。

    febootstrap.rar

    解压后进入对应文件夹,使用如下命令安装

    rpm -ivh *rpm
    

    使用步骤参考这篇文章

    https://www.58jb.com/html/66.html

    安装步骤

    步骤基本与上文一致,部分细节不一样,各取所需~

    由于并没有找到红旗Linux可用的rpm源,就只能使用本地光盘制作镜像。

    此处需要挂载iso文件,使用下列命令挂载即可

    mount -o loop xxxx.iso  mount_dir_name
    cd dir_name
    python -m SimpleHTTPServer 80 (Python2)
    

    建立本地源

    cd /etc/yum.repos.d/
    tar zcf yum.tar.gz .
    rm -rf *.repo
    

    添加本地源文件

    cat >/etc/yum.repos.d/cdrom.repo <<-EOF  # 回车后输入下列数据
    [c6-media]
    name=Redflag-Media
    baseurl=file:///dir_name
    gpgcheck=1
    enabled=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Redflag-7-x86_64
    EOF # 回车
    

    选择对应目录,执行

    cd workdir # 根据情况自己定
    febootstrap -i bash -i wget -i yum -i man -i vim -i openssh-server -i openssh-clients -i tar -i gzip  redflag redflag-7.3-base http://127.0.0.1
    

    上述命令会生成一个redflag-7.3-base文件夹,进入文件夹,拷贝所需文件,并打包镜像

    cd workdir
    cp /etc/skel/.bash* redflag-7.3-base/root/
    tar -c .|docker import - redflag-7.3:base  # 生成的镜像名
    

    查看镜像

    docker image ls  # 可以看到 redflag-7.3:base
    

    测试

    docker -it redflag-7.3:base bash  # 可以进入容器即为成功
    

    至此完成~

    其他

    过程中遇到了挂载u盘的问题,ntfs u盘可以参考

    https://my.oschina.net/u/4364192/blog/3326016

    exfat u盘,参考

    yum localinstall --nogpgcheck http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    
    yum localinstall http://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
    
    yum clean & yum makecache
    
    yum install exfat-utils fuse-exfat
    
    mount.exfat /dev/sdb1 /root/data/udisk/
    
  • 相关阅读:
    linux 添加环境变量(php为例)
    composer install Your requirements could not be resolved to an installable set of packages
    pytesseract 验证码识别
    mac crontab时间断内随机时间执行定时任务
    Mac使用crontab来实现定时任务
    安居客滑动验证码识别
    jQuery图片点击预览遮罩层,再点击关闭效果
    linux系统必学-部分链接
    JavaScript概念总结:作用域、闭包、对象与原型链
    Web前端性能优化全攻略
  • 原文地址:https://www.cnblogs.com/wswang/p/14511888.html
Copyright © 2011-2022 走看看