Skip to content
Snippets Groups Projects
Select Git revision
  • 486a0e1db89033c918c6394c97bfe0127f7fc6a9
  • master default protected
  • simple-task/7248-eol-check-add-node-22
  • 6877_check_iml_deployment
4 results

check_eol

Blame
  • apt.sh 1.75 KiB
    #!/bin/bash
    # ===============================================================
    #
    # PACKAGE MANAGER: APT
    # Debian, Ubuntu
    #
    # included by ../check_packages2install
    #
    # ---------------------------------------------------------------
    # ah <axel.hahn@unibe.ch>
    # 2022-06-03  v1.0  ah  first version
    # 2022-06-07  v1.1  ah  remove text "Nothing to install"
    #                       rename functions
    # 2022-10-21  v1.3  ah  remove grep: warning: stray \ before white space
    # 2023-10-20  v1.4  ah  harden sudo command execution
    # ===============================================================
    
    
    # ---------------------------------------------------------------
    # command to list of updates
    function apt.getUpdates(){
        sudo -n apt-get -u upgrade --assume-no
    }
    
    # ---------------------------------------------------------------
    # extract list of packages 2 install
    # global  string  packagemanOut  output of update lister command
    function apt.getPackageList(){
    
        # detect number of line containing "The following packages will be upgraded:"
        typeset -i local iStart
        iStart=$( echo "$packagemanOut" | grep -n '^The following packages will be upgraded:' | cut -f 1 -d ':' )
    
        if [ $iStart -gt 0 ]; then
            # show packages = text starting with 2 spaces below start line
            # packages are delimited with space -> replace with new line
            echo "$packagemanOut" | sed -n $iStart,\$p | grep "^  " | sed "s#^\ \ ##g" | tr " " "\n"
        fi
    }
    
    # ---------------------------------------------------------------
    # get status line on apt based systems (debian, ubuntu)
    # global  string  packagemanOut  output of update lister command
    function apt.getStatusLine(){
      echo "$packagemanOut" | grep "upgraded.*installed"
    }
    
    # ---------------------------------------------------------------