• disk image builder support ubuntu eoan


    #!/bin/bash
    # These are useful, or at worst not harmful, for all images we build.
    
    if [ ${DIB_DEBUG_TRACE:-1} -gt 0 ]; then
        set -x
    fi
    set -eu
    set -o pipefail
    
    [ -n "$ARCH" ]
    [ -n "$TARGET_ROOT" ]
    
    shopt -s extglob
    
    DIB_RELEASE=${DIB_RELEASE:-trusty}
    DIB_CLOUD_IMAGES=${DIB_CLOUD_IMAGES:-http://cloud-images.ubuntu.com/$DIB_RELEASE/current}
    #if [ $DIB_RELEASE == "eoan" ] ;then
    #    BASE_IMAGE_FILE=${BASE_IMAGE_FILE:-$DIB_RELEASE-server-cloudimg-$ARCH.squashfs}
    if [ $DIB_RELEASE != "trusty" ] && [ $DIB_RELEASE != "xenial" ]; then
        BASE_IMAGE_FILE=${BASE_IMAGE_FILE:-$DIB_RELEASE-server-cloudimg-$ARCH.squashfs}
    else
        BASE_IMAGE_FILE=${BASE_IMAGE_FILE:-$DIB_RELEASE-server-cloudimg-$ARCH-root.tar.gz}
    fi
    SHA256SUMS=${SHA256SUMS:-https://${DIB_CLOUD_IMAGES##http?(s)://}/SHA256SUMS}
    CACHED_FILE=$DIB_IMAGE_CACHE/$BASE_IMAGE_FILE
    CACHED_FILE_LOCK=$DIB_LOCKFILES/$BASE_IMAGE_FILE.lock
    CACHED_SUMS=$DIB_IMAGE_CACHE/SHA256SUMS.ubuntu.$DIB_RELEASE.$ARCH
    function set_pip()
    {
    
        root=$TARGET_ROOT
        mkdir -p  $root/home/root/.pip
        touch $root/home/root/.pip/pip.conf
    cat << EOF > $root/home/root/.pip/pip.conf
    [global]
    trusted-host =  pypi.douban.com
    index-url = http://pypi.douban.com/simple
    EOF
       cat $root/home/root/.pip/pip.conf
    }
    function get_ubuntu_tarball() {
        # Extract the base image (use --numeric-owner to avoid UID/GID mismatch between
        # image tarball and host OS e.g. when building Ubuntu image on an openSUSE host)
        #if [ $DIB_RELEASE == "eoan" ];then
        #    sudo unsquashfs -f -d $TARGET_ROOT $DIB_IMAGE_CACHE/$BASE_IMAGE_FILE
        #    #sudo tar -C $TARGET_ROOT --numeric-owner -xzf $DIB_IMAGE_CACHE/$BASE_IMAGE_FILE
        if [ $DIB_RELEASE != "trusty" ] && [ $DIB_RELEASE != "xenial" ]; then
            sudo unsquashfs -f -d $TARGET_ROOT $DIB_IMAGE_CACHE/$BASE_IMAGE_FILE
            sed -i "s/ports.ubuntu.com/mirror.tuna.tsinghua.edu.cn/g" $TARGET_ROOT/etc/apt/sources.list
            #sed -i "s/ports.ubuntu.com/ubuntu-ports/mirrors.aliyun.com/ubuntu/g" $TARGET_ROOT/etc/apt/sources.list
        else
            sudo tar -C $TARGET_ROOT --numeric-owner -xzf $DIB_IMAGE_CACHE/$BASE_IMAGE_FILE
        fi
    }
    
    (
        echo "Getting $CACHED_FILE_LOCK: $(date)"
        # Wait up to 20 minutes for another process to download
        if ! flock -w 1200 9 ; then
            echo "Did not get $CACHED_FILE_LOCK: $(date)"
            exit 1
        fi
        get_ubuntu_tarball
    ) 9> $CACHED_FILE_LOCK

     

  • 相关阅读:
    Developer 转型记:一个开发平台的“魔力”
    实践录丨如何在鲲鹏服务器OpenEuler操作系统中快速部署OpenGauss数据库
    一图看懂华为云DevCloud如何应对敏捷开发的测试挑战
    华为云GaussDB(DWS)内存知识点,你知道吗?
    在人工智能时代追逐的“后浪”
    【华为云技术分享】DLI跨源|当DLI遇见MongoDB
    授人以渔:stm32资料查询技巧
    云小课 | IPv4枯了,IPv6来了
    揭秘淘宝平台广告策略,拆解最佳投放实践
    520了,用32做个简单的小程序
  • 原文地址:https://www.cnblogs.com/dream397/p/13298953.html
Copyright © 2020-2023  润新知