User Tools

Site Tools


update

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
update [2023/05/09 21:06] steveupdate [2026/02/20 19:46] (current) steve
Line 3: Line 3:
 <code bash Update> <code bash Update>
 #!/bin/bash #!/bin/bash
-+/usr/local/bin/Update 
-# This allows updating software by a single common command on all my machines +# This allows updating software by a single common command on all my machines. 
 + 
 Logs=~/.Logs/$(date +"%Y/%m/%d") Logs=~/.Logs/$(date +"%Y/%m/%d")
 mkdir -p ${Logs} mkdir -p ${Logs}
-LogFile=${Logs}/$(hostname)-$(date +"%T.txt"+LogFile=${Logs}/$(hostname -s)-$(date +"%T.txt"
 + 
 ############################################################################# #############################################################################
 ### SRJ 2015-03-27   This script allows a user to update the local        ### ### SRJ 2015-03-27   This script allows a user to update the local        ###
 ### machine without further credentials, it requires that a file be       ### ### machine without further credentials, it requires that a file be       ###
-### created in /etc/sudoers.d/update with the lines below;                ### +### created in /etc/sudoers.d/Update with the lines below;                ### 
-###   ## Installation and management of software                          ### +### See; https://wiki.cyli.org/doku.php?id=auto_update_without_password   ###
-###   Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, \                 ### +
-###   /usr/bin/yum, /usr/bin/rkhunter, /usr/bin/needs-restarting          ### +
-###   %wheel ALL NOPASSWD: SOFTWARE                                     ### +
-###      -or this, as appropriate-                                        ### +
-###   Cmnd_Alias SOFTWARE_UPDATE = /usr/local/bin/apt, /usr/bin/apt-get   ### +
-###   %sudo ALL = NOPASSWD: SOFTWARE_UPDATE                               ### +
-### This allows all users in the 'wheel' group to update the server.      ###+
 ############################################################################# #############################################################################
 + 
 source /etc/os-release source /etc/os-release
 + 
 case ${PRETTY_NAME} in case ${PRETTY_NAME} in
         "NethServer 7.9.2009")         "NethServer 7.9.2009")
                 System="RH"                 System="RH"
                 ;;                 ;;
- +  
-        "Linux Mint 21")+        "Linux Mint 21.3"|"Linux Mint 22"|"Linux Mint 22.1"|"Linux Mint 22.2"|"Linux Mint 22.3")
                 System="Deb"                 System="Deb"
                 ;;                 ;;
 +
 + "Debian GNU/Linux 12 (bookworm)"|"Debian GNU/Linux 13 (trixie)")
 + System="Deb"
 + ;;
 +
 + "Rocky Linux 9.7 (Blue Onyx)"|"Rocky Linux 9.8 (Blue Onyx)"|"Rocky Linux 10.0 (Red Quartz)")
 + System="NewRH"
 + ;;
  
-        *)+ *)
                 System="Unknown"                 System="Unknown"
                 echo "This system is unknown, please update this script and add a check"                 echo "This system is unknown, please update this script and add a check"
-                echo "for the pattern ${PRETTY_NAME} to ease updating."+                echo "for the pattern;" 
 +                echo "${PRETTY_NAME}"
                 echo "Then update https://wiki.cyli.org/doku.php?id=update"                 echo "Then update https://wiki.cyli.org/doku.php?id=update"
                 exit 127                 exit 127
                 ;;                 ;;
         esac         esac
 + 
 if [[ ${System} == "Deb" ]]; then if [[ ${System} == "Deb" ]]; then
-        sudo apt update | tee -a ${LogFile} +    echo "Updating ${PRETTY_NAME}" | tee -a ${LogFile}     
-        sudo apt upgrade -y | tee -a ${LogFile} +        sudo apt-get update | tee -a ${LogFile} 
-        sudo apt autoremove -y | tee -a ${LogFile}+        sudo apt-get upgrade -y | tee -a ${LogFile} 
 +        sudo apt-get autoremove -y | tee -a ${LogFile}
         if [ -f /var/run/reboot-required ] ; then         if [ -f /var/run/reboot-required ] ; then
                 echo 'This system needs to be rebooted!' | tee -a ${LogFile}                 echo 'This system needs to be rebooted!' | tee -a ${LogFile}
                 else echo "This system doesn't need rebooting." | tee -a ${LogFile}                 else echo "This system doesn't need rebooting." | tee -a ${LogFile}
                 fi                 fi
 + 
    elif [[ ${System} == "RH" ]]; then    elif [[ ${System} == "RH" ]]; then
 +    echo "Updating ${PRETTY_NAME}" | tee -a ${LogFile}    
         sudo /usr/bin/yum -y update | tee -a ${LogFile}         sudo /usr/bin/yum -y update | tee -a ${LogFile}
-        sudo /usr/bin/rkhunter --propupd | tee -a ${LogFile} +        sudo /usr/bin/yum -autoremove | tee -a ${LogFile}
-        sudo /usr/bin/yum autoremove | tee -a ${LogFile}+
         Something=''         Something=''
         Something=$(sudo /usr/bin/needs-restarting)         Something=$(sudo /usr/bin/needs-restarting)
Line 63: Line 66:
                 else echo 'No restart is required.' | tee -a ${LogFile}                 else echo 'No restart is required.' | tee -a ${LogFile}
                 fi                 fi
 +
 +   elif [[ ${System} == "NewRH" ]]; then
 +    echo "Updating ${PRETTY_NAME}" | tee -a ${LogFile}    
 +        sudo /usr/bin/dnf -y update | tee -a ${LogFile}
 +        sudo /usr/bin/dnf -y autoremove | tee -a ${LogFile}
 +        Something=''
 +        Something=$(sudo /usr/bin/needs-restarting)
 +        if [[ ! -z $Something ]]; then
 +                echo 'This machine needs to be restarted!' | tee -a ${LogFile}
 +                else echo 'No restart is required.' | tee -a ${LogFile}
 +                fi
 +
 +
 fi fi
 </code> </code>
 +\\
 +The /etc/sudoers.d/Update script is [[auto_update_without_password|Auto update without a password]]
update.1683666401.txt.gz · Last modified: by steve