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]] |