X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=env%2Fubuntu%2Fbootloader-env%2F02_clean_bootloader_package_req.sh;h=6bb3b15c2e1578bf7925d578c39b39463ea6f45b;hb=6f238a5ab869ab419a1e6a1d3ea807230f2edf5b;hp=4154b6fbd15d4c73a624eb0920b5ca0677d0b548;hpb=7d60cf26b2e6980d32e1518b17fe1ae1210113b1;p=icn.git diff --git a/env/ubuntu/bootloader-env/02_clean_bootloader_package_req.sh b/env/ubuntu/bootloader-env/02_clean_bootloader_package_req.sh index 4154b6f..6bb3b15 100755 --- a/env/ubuntu/bootloader-env/02_clean_bootloader_package_req.sh +++ b/env/ubuntu/bootloader-env/02_clean_bootloader_package_req.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -set -ex +set -eux -o pipefail source $(dirname $PWD)/../lib/common.sh source $(dirname $PWD)/../lib/logging.sh @@ -9,26 +9,28 @@ if [[ $EUID -ne 0 ]]; then exit 1 fi -if [[ $(lsb_release -d | cut -f2) != $UBUNTU_BIONIC ]]; then - echo "Currently Ubuntu 18.04.2 LTS is only supported" - exit 1 -fi +function autoremove { + rm -rf /etc/apt/sources.list.d/* +} -function clean_essential_packages() { +function clean_essential_packages { apt-get update - for package in crudini curl dnsmasq figlet golang nmap patch psmisc \ - python-pip python-requests python-setuptools vim wget; do - apt-get remove $package -y - done + for package in crudini curl dnsmasq figlet golang nmap patch psmisc \ + python3-pip python3-requests python3-setuptools vim wget; do + apt-get remove $package -y + done + update-alternatives --remove python /usr/bin/python3 + update-alternatives --remove pip /usr/bin/pip3 - apt-get autoremove -y - rm -rf /etc/apt/sources.list.d/* + autoremove } -function check_prerequisite() { +function check_prerequisite { if !(which pip); then - apt-get install python-pip -y + apt-get install python3-pip -y fi + update-alternatives --install /usr/bin/python python /usr/bin/python3 1 + update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1 if !(which curl); then apt-get install curl -y @@ -39,106 +41,64 @@ function check_prerequisite() { fi } -function clean_ironic_packages() { - for package in jq nodejs python-ironicclient \ - python-ironic-inspector-client python-lxml python-netaddr \ - python-openstackclient unzip genisoimage; do - apt-get remove $package -y - done +function clean_ironic_packages { + for package in python3-ironicclient \ + python3-ironic-inspector-client \ + python3-openstackclient genisoimage; do + apt-get remove $package -y + done } -function clean_docker_packages() { +function clean_docker_packages { curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" apt-get update + docker rmi -f $(docker image ls -a -q) apt-get remove docker-ce -y - for package in apt-transport-https ca-certificates gnupg-agent \ - software-properties-common; do - apt-get remove $package -y - done - - apt-get remove -y docker \ + apt-get remove -y docker \ docker-engine \ docker.io \ containerd \ runc \ docker-ce - - apt-get update -} - -function clean_podman_packages() { + apt-get purge docker-* -y --allow-change-held-packages apt-get update - add-apt-repository -y ppa:projectatomic/ppa - apt-get remove podman -y } -function clean_kubernetes_packages() { - #Just to make sure kubernetes packages are removed during the download - curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - - bash -c 'cat </etc/apt/sources.list.d/kubernetes.list +function clean_kubernetes_packages { + #Just to make sure kubernetes packages are removed during the download + curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - + bash -c 'cat </etc/apt/sources.list.d/kubernetes.list deb https://apt.kubernetes.io/ kubernetes-xenial main EOF' - apt-get update - apt-get remove kubelet kubeadm kubectl -y -} - -function clean_apt_cache() { - shopt -s extglob - pushd /var/cache/apt/archives - - if [ $(ls -1q . | wc -l ) -ge 3 ]; then - $(rm !("lock"|"partial")) - fi - popd - + apt-get update + apt-get remove kubelet kubeadm kubectl -y } -function mv_apt_cache() { - shopt -s extglob +function clean_apt_cache { + shopt -s extglob pushd /var/cache/apt/archives - if [ $(ls -1q . | wc -l ) -gt 2 ]; then - $(mv !("lock"|"partial") $LOCAL_APT_REPO) + if [ $(ls -1q . | wc -l ) -ge 3 ]; then + $(rm !("lock"|"partial")) fi popd -} -function check_dir() { - if [ ! -d $1 ]; then - mkdir -p $1 - fi } -function clean_dir() { - shopt -s extglob - pushd $1 - - if [ $(ls -1q . | wc -l ) -ne 0 ]; then - $(rm -r ./*) - fi - popd -} +if [ "$1" == "--only-packages" ]; then + check_prerequisite + clean_docker_packages || true + autoremove + exit 0 +fi check_prerequisite clean_apt_cache -check_dir $LOCAL_APT_REPO -clean_dir $LOCAL_APT_REPO -check_dir $PIP_CACHE_DIR -clean_dir $PIP_CACHE_DIR -check_dir $BUILD_DIR -clean_dir $BUILD_DIR -check_dir $CONTAINER_IMAGES_DIR -clean_dir $CONTAINER_IMAGES_DIR clean_kubernetes_packages -clean_podman_packages clean_docker_packages clean_ironic_packages clean_essential_packages -rm -rf $LOCAL_APT_REPO -rm -rf $PIP_CACHE_DIR -rm -rf $BUILD_DIR -rm -rf $CONTAINER_IMAGES_DIR