Changes

From SME Server
Jump to navigationJump to search
1,812 bytes added ,  18:25, 11 March 2017
Add a third script with UI enhancements
Line 13: Line 13:     
===Scripts===
 
===Scripts===
2 scripts are available at this time:
+
3 scripts are available at this time:
    
====script 1====
 
====script 1====
Line 118: Line 118:  
* uses "--setopts" to specify "includepkgs" for each repo during update
 
* uses "--setopts" to specify "includepkgs" for each repo during update
 
* asks for Y/N and runs the update
 
* asks for Y/N and runs the update
 +
 +
====script 3====
 +
This is similar to script 2, but modified to
 +
* accept arguments
 +
* default to "check-update -q"
 +
* be less verbose
 +
 +
<nowiki>#!/bin/bash
 +
if [ -z ${1+x} ]; then
 +
        YUMCMD="check-update -q"
 +
else
 +
        YUMCMD="$*"
 +
fi
 +
for repo in $(/sbin/e-smith/audittools/newrpms |grep \@ |awk ' {print $3}' |sort -u |sed s/@//); do
 +
 +
        # generate the list of rpm installed from the repo
 +
        for rpm in $(/sbin/e-smith/audittools/newrpms |awk -v repo_awk=@$repo 'repo_awk==$3 {print $1}'); do
 +
                rpms=$rpm' '$rpms
 +
        done
 +
 +
        if [[ ${YUMCMD} != *"-q"* ]]; then
 +
                echo -e "\n\n===";
 +
                echo -e "Repo: "$repo;
 +
                echo -e "\nIncludePkgs: "$rpms;
 +
                echo "===";
 +
        fi
 +
        # updating
 +
        yum --enablerepo=$repo --setopt="$repo.includepkgs='$rpms'" $YUMCMD
 +
 +
done
 +
 +
exit 0
 +
</nowiki>
 +
 +
Notes:
 +
* Using the default settings will list updates from the enabled repositories multiple times (once for each disabled repo with installed packages)
 +
* Since this command starts from the output of <tt>/sbin/e-smith/audittools/newrpms</tt>, it is possible to get errors.  That is, if you configure a repository, install a package from it, then remove the configuration, this script will error.
 +
* Examples (assuming you have created <tt>/usr/local/bin/yumcheck.sh</tt> containing this script and made it executable)
 +
:: <tt>yumcheck.sh</tt>
 +
::: Check for updates for all packages installed from non-standard repos.  Output info for packages that need updates
 +
:: <tt>yumcheck.sh update</tt>
 +
::: Run in verbose mode, do the updates, prompt the user after checking each repo if updates are pending
 +
:: <tt>yumcheck.sh update -q -y</tt>
 +
::: Show only those items to be updated, do the updates, and answer 'yes' to each suggested update.
    
For more details, see the topic of the forum: https://forums.contribs.org/index.php/topic,52795.0.html
 
For more details, see the topic of the forum: https://forums.contribs.org/index.php/topic,52795.0.html
    
[[Category: Howto]]
 
[[Category: Howto]]

Navigation menu