1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #!/bin/sh
- TARGETS='updates security backports'
- TARGET=
- usage() {
- cat <<EOH
- USAGE: $(basename "$0") [OPTIONS]
- Get updates for packages managed by apt
- Options:
- -h Shows this help
- -t Target ($(echo "${TARGETS}" | sed 's/ / or /g'))
- EOH
- }
- while getopts "ht:" OPT ; do
- case "$OPT" in
- h)
- usage
- exit 0
- ;;
- t)
- TARGET="$OPTARG"
- ;;
- esac
- done
- if [ -z "${TARGET}" ]; then
- printf "[ERR] Target is missing\n"
- usage
- exit 1
- fi
- if ! echo "${TARGET}" | egrep -q "^($(echo "${TARGETS}" | sed 's/ /|/g'))$"; then
- printf "[ERR] info '${TARGET}' not available in [$(echo "${TARGETS}" | sed 's/ /, /g')]\n"
- usage
- exit 1
- fi
- DISTRO=$(lsb_release -c -s)
- case "${TARGET}" in
- updates)
- apt-get -s -o Debug::NoLocking=true upgrade | grep -c '^Inst'
- ;;
- security)
- apt-get -s -o Debug::NoLocking=true upgrade | egrep -c "^Inst [^ ]+ \[[^]]+\] \([^ ]+ .*(Debian-Security|${DISTRO}-security)"
- ;;
- backports)
- apt-get -s -o Debug::NoLocking=true upgrade | egrep -c "^Inst [^ ]+ \[[^]]+\] \([^ ]+ .*(Debian Backports|${DISTRO}-backports)"
- ;;
- esac
- exit 0
|