This script will check for updates on an Arch Linux machine. This could be run as a daemon with CRON.
#!/bin/bash export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus DISPLAY=:0 tmpdb=/tmp/checkup-db dbpath=/var/lib/pacman mkdir /tmp/checkup-db && ln -s "${dbpath}/local" "${tmpdb}" fakeroot -- yay -Syyb "${tmpdb}" --logfile /dev/null updates="$(yay -Qub "${tmpdb}" 2>/dev/null)" [[ -n "$updates" ]] && notify-send -t 299000 'New updates available' "$updates" |
Check Arch Linux packages against a known vulnerabilities database.
use this script function to do the actual checking.
function ud(){ printf '\e[91m\e[1m::\e[0m \e[1mRunning yay -Syyu\e[0m\n' yay -Syyu printf '\n\e[91m\e[1m::\e[0m \e[1mRunning yay -Rns $(yay -Qdtq)\e[0m\n' yay -Rns $(yay -Qdtq) printf '\n\e[91m\e[1m::\e[0m \e[1mRunning yay -Scc\e[0m' printf 'y\ny\ny\n' | yay -Scc &>/dev/null printf '\nDone.\n\n\e[91m\e[1m::\e[0m \e[1mRunning yay -Ps\e[0m\n' yay -Ps printf '\n\e[91m\e[1m::\e[0m \e[1mRunning avg-audit\e[0m\n' avg-audit -f packages,severity,type,affected,name ## Uncomment to update mirrorlist every 3 days #if ! find /etc/pacman.d/mirrorlist -mtime +3 -exec false {} +; then # printf '\e[91m\e[1m::\e[0m \e[1mMirrorlist is more than 3 days old, refreshing..\e[0m\n' # if sudo reflector -l 200 -n 20 -p https --sort rate --save /etc/pacman.d/mirrorlist; then # printf ' Done. No errors were reported.\n\n' # else # printf ' There was an error when running reflector.\n\n' # fi #fi } |
This will help ensure that your Arch Linux Linux system is up to date.