zoukankan      html  css  js  c++  java
  • 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

     

  • 相关阅读:
    Spring格式化注解
    Mysql 慢查询和慢查询日志分析
    jQuery中的end()方法
    webService学习笔记
    让Hibernate和触发器协同工作
    JavaScript中的setInterval用法
    jQuery中事情的动态绑定
    mongoDB如何处理多对多关系
    新生儿信息管理系统在线帮助
    MySQL数据库安装与配置详解
  • 原文地址:https://www.cnblogs.com/dream397/p/13298953.html
Copyright © 2011-2022 走看看