Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package supportutils for openSUSE:Factory checked in at 2022-10-19 13:17:49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/supportutils (Old) and /work/SRC/openSUSE:Factory/.supportutils.new.2275 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "supportutils" Wed Oct 19 13:17:49 2022 rev:32 rq:1029876 version:3.1.21 Changes: -------- --- /work/SRC/openSUSE:Factory/supportutils/supportutils.changes 2022-03-15 19:05:49.480984920 +0100 +++ /work/SRC/openSUSE:Factory/.supportutils.new.2275/supportutils.changes 2022-10-19 13:18:22.665309242 +0200 @@ -1,0 +2,32 @@ +Tue Oct 18 18:14:07 UTC 2022 - jason.rec...@suse.com + +- Added lifecycle information (issue#140) + +------------------------------------------------------------------- +Tue Oct 18 18:01:47 UTC 2022 - jason.rec...@suse.com + +- Changes to version 3.1.21 + + Added type output with df command in fs-diskio.txt (issue#141) + + Gather all files in /etc/security/limits.d/ (issue#142) + + Fixed KVM virtualization detection on bare metal (bsc#1184689) + + Added logging using journalctl (bsc#1200330) + + Passwords correctly removed from email.txt, updates.txt and fs-iscsi.txt (bsc#1203818) + + Added system logging configuration and checking in messages_config.txt (issue#103) + + If rsyslog not installed collect more from journalctl (issue#120) + + Added systemd-status.txt for the status of all service units (issue#125) + + autofs includes files in (+dir:<path>) (issue#111) + + Get current sar data before collecting files (bsc#1192648) + + Collects everything in /etc/multipath/ (bsc#1192252) + + Collects power management information in hardware.txt (bsc#1197428) + + Checks for suseconnect-ng or SUSEConnect packages (bsc#1202337) + + Fixed conf_files and conf_text_files so y2log is gathered (issue#134, bsc#1202269) + + Update to nvme_info and block_info #133 (bsc#1202417) + + Added IO scheduler (issue#136) + + Added includedir directories from /etc/sudoers (bsc#1188086) + +------------------------------------------------------------------- +Thu Jun 2 18:07:07 UTC 2022 - Jason Record <jason.rec...@suse.com> + +- Added a listing to /dev/mapper/. #129 + +------------------------------------------------------------------- Old: ---- supportutils-3.1.20.tar.gz New: ---- supportutils-3.1.21.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ supportutils.spec ++++++ --- /var/tmp/diff_new_pack.2lFX5R/_old 2022-10-19 13:18:23.173310295 +0200 +++ /var/tmp/diff_new_pack.2lFX5R/_new 2022-10-19 13:18:23.181310311 +0200 @@ -1,7 +1,7 @@ # # spec file for package supportutils # -# Copyright (c) 2018-2021 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -23,7 +23,7 @@ %define support_libdir /usr/lib/supportconfig Name: supportutils -Version: 3.1.20 +Version: 3.1.21 Release: 0 Summary: Support Troubleshooting Tools License: GPL-2.0-only ++++++ supportutils-3.1.20.tar.gz -> supportutils-3.1.21.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supportutils-3.1.20/bin/getappcore new/supportutils-3.1.21/bin/getappcore --- old/supportutils-3.1.20/bin/getappcore 2021-11-16 16:45:51.539833173 +0100 +++ new/supportutils-3.1.21/bin/getappcore 2022-09-02 15:07:49.388154971 +0200 @@ -62,6 +62,8 @@ OS_RELEASE="/etc/os-release" ARCHIVE_PREFIX='scc_' JOURNAL_PID='' +CONTAINER_IMAGE='' +PODMAN_BIN='/usr/bin/podman' TAR_BIN_OPTIONS='' TAR_BIN_EXT='' UPLOAD=0 @@ -82,7 +84,7 @@ AWK_BIN=/usr/bin/awk BASENAME_BIN=/usr/bin/basename CAT_BIN=/bin/cat -CHKBIN_BIN=/usr/sbin/chkbin +CHKBIN_BIN=/sbin/chkbin CHMOD_BIN=/bin/chmod COREDUMP_BIN=/usr/bin/coredumpctl CURL_BIN=/usr/bin/curl @@ -137,7 +139,7 @@ # Display program help screen # # --------------------------------------------------------- # show_help() { - echo "Usage: $0 [OPTION] < -j PID | /path/to/corefile >" + echo "Usage: $0 [OPTION] -j PID | /path/to/corefile" echo echo "$SNAME creates an archive containing an application core, and all files" echo "required to analyze the application core - including the binary which" @@ -147,22 +149,30 @@ echo echo "Required parameter:" echo - echo " COREFILE The application core file, typically found in the working" - echo " directory of the application, or /" + echo " -j <PID> PID of coredump from 'coredumpctl list' to extract" + echo + echo " or" + echo + echo " COREFILE The application core file" + echo " Note: the corefile must be provided uncompressed." + echo " Since systemd creates compressed core files by default," + echo " you should almost always prefer '-j <PID>' nowadays." + echo " In pre-systemd times, the core files could be found in the" + echo " working directory of the application, or /." echo echo "Optional parameters:" echo echo " -h This screen" - echo " -b [BINARY] Binary which generated [COREFILE]" - echo " -j [PID] PID of coredump from coredumpctl list to extract" - echo " -r [SR Number] SUSE Service Request number associated with this issue" + echo " -b <BINARY> Binary which generated <COREFILE>, unnecessary with '-j'" + echo " -r <SR Number> SUSE Service Request number associated with this issue" echo " -u Automatically upload archive to the SUSE FTP server using HTTPS" echo " -f Automatically upload archive to the SUSE FTP server using FTPES" + echo " -c [IMAGE] Runs inside the container image [IMAGE]" echo " -v Enable verbose messages" echo echo "For example:" echo - echo " $SNAME -ur 00123456 -b /bin/rpm -j 2344" + echo " $SNAME -ur 00123456 -j 2344" echo " $SNAME -ur 00123456 -b /bin/rpm /core.15832" echo echo "$SNAME version $SVER ($SDATE)" @@ -481,12 +491,49 @@ echo } +# --------------------------------------------------------- # +# prepare_run_script_for_container () # +# Creates a temporary script for running getappcore inside # +# a container. # +# It installs the getappcore basic dependencies and runs # +# getappcore with the given core file # +# --------------------------------------------------------- # +prepare_run_script_for_container() { +cat <<- EOF > ${GETAPPCORE_TMP_DIR}/runincontainer +#!/bin/bash +COREFILE=$1 +zypper in -y supportutils gdb curl file systemd-coredump +/sbin/getappcore $COREFILE +EOF +chmod +x ${GETAPPCORE_TMP_DIR}/runincontainer +} + +# --------------------------------------------------------- # +# run_in_container () # +# Creates a temporary script for running getappcore inside # +# a container. # +# It installs the getappcore basic dependencies and runs # +# getappcore with the given core file # +# --------------------------------------------------------- # +run_in_container() { + if ! [ -e $PODMAN_BIN ]; then + echo "podman is required for running getappcore inside a container." + echo "Please install podman and try again." + exit 1 + fi + CONTAINER_IMAGE=$1 + [[ $JOURNAL_PID ]] && get_journal_coredump $JOURNAL_PID + if [ ! -z $COREFILE -a -e $COREFILE ]; then + prepare_run_script_for_container + $PODMAN_BIN run -it --entrypoint=/tmp/sbin/runincontainer -v ${ARCHIVE_PATH}:${ARCHIVE_PATH} -v ${GETAPPCORE_TMP_DIR}:/tmp/sbin $CONTAINER_IMAGE $COREFILE + fi +} # --------------------------------------------------------- # # main () # # Main script function # # --------------------------------------------------------- # -while getopts b:hr:ufvj: opt +while getopts b:hr:ufvj:c: opt do case $opt in \?) @@ -516,6 +563,9 @@ j) JOURNAL_PID=$OPTARG ;; + c) + CONTAINER_IMAGE=$OPTARG + ;; h) get_server_release show_title @@ -549,6 +599,12 @@ [[ -d ${ARCHIVE_PATH} ]] || mkdir -p ${ARCHIVE_PATH} +if [[ ! -z $CONTAINER_IMAGE ]]; then + echo "Running getappcore in container image: ${CONTAINER_IMAGE}" + run_in_container $CONTAINER_IMAGE + exit 0 +fi + [[ $JOURNAL_PID ]] && get_journal_coredump $JOURNAL_PID if [ ! -z $COREFILE -a -e $COREFILE ]; then @@ -563,11 +619,11 @@ verbose "File type: $MIME_TYPE" case $TYPE in x-coredump) echo Done; ERROR=0 ;; - x-zstd) CCMD='zstd -d'; PKG='zstd' ;; + x-zstd|zstd) CCMD='zstd -d'; PKG='zstd' ;; x-lz4) CCMD='lz4 -d'; PKG='lz4' ;; x-xz) CCMD='xz -d'; PKG='xz' ;; x-bzip2) CCMD='bzip2 -d'; PKG='bzip2' ;; - x-gzip) CCMD='gzip -d'; PKG='gzip' ;; + x-gzip|gzip) CCMD='gzip -d'; PKG='gzip' ;; esac if (( $ERROR )); then if [[ -n $CCMD ]]; then diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supportutils-3.1.20/bin/supportconfig new/supportutils-3.1.21/bin/supportconfig --- old/supportutils-3.1.20/bin/supportconfig 2022-02-10 19:13:23.665383112 +0100 +++ new/supportutils-3.1.21/bin/supportconfig 2022-10-18 20:14:45.978098355 +0200 @@ -1,7 +1,7 @@ #!/bin/bash -SVER='3.1.11-29.1' -SDATE='2022 02 02' +SVER='3.1.11-46.2' +SDATE='2022 10 18' ############################################################################## # supportconfig - Gathers system troubleshooting information for SUSE Support @@ -523,54 +523,74 @@ printlog "System Logs..." test $MIN_OPTION_SYSLOGS -eq 0 && { echolog EXCLUDED; return 1; } OF=messages.txt + OF2=messages_config.txt addHeaderFile $OF - if [[ $ADD_OPTION_LOGS -gt 0 ]]; then - FILES="$(ls -1 /var/log/messages-[[:digit:]]* 2>/dev/null)" - [[ -n "$FILES" ]] && log_entry $OF note "Additional Rotated Logs Included in the Tar Ball" - log_files $OF 0 /var/log/messages - for CMPLOG in $FILES - do - FILE=$(basename $CMPLOG) - FILEROOT=${LOG}/$(cut -d\. -f1 <<< ${FILE}) - cp $CMPLOG ${LOG} - FILE_TYPE=$(file --brief --mime-type $CMPLOG 2>/dev/null) - case $FILE_TYPE in - "text/plain") - ;; - "application/x-xz") - wait_trace_on "xz -d ${LOG}/$FILE" - xz -d ${LOG}/$FILE - ;; - "application/x-bzip2") - wait_trace_on "bzip2 -d ${LOG}/$FILE" - bzip2 -d ${LOG}/$FILE - ;; - "application/x-gzip") - wait_trace_on "gzip -d ${LOG}/$FILE" - gzip -d ${LOG}/$FILE - ;; - *) - continue - ;; - esac - mv ${FILEROOT} ${FILEROOT}.txt - wait_trace_off - done - else - LOGFILE="/var/log/messages" - if [[ -e $LOGFILE ]]; then + addHeaderFile $OF2 + if rpm_verify $OF2 rsyslog; then + log_cmd $OF2 "systemctl status rsyslog.service" + conf_files $OF2 /etc/rsyslog.conf + log_cmd $OF2 "rsyslogd -N 1" + fi + rpm_verify $OF2 systemd + log_cmd $OF2 "systemctl status systemd-journald.service" + JDIRS='' + for JDIR in /etc/systemd/journald.conf.d/ /run/systemd/journald.conf.d/ /usr/lib/systemd/journald.conf.d/ + do + [[ -d $JDIR ]] && JDIRS="$JDIRS $(find $JDIR -type f | grep 'conf$')" + done + conf_files $OF2 /etc/systemd/journald.conf $JDIRS + + MESSAGES_FILE="/var/log/messages" + if [[ -s $MESSAGES_FILE ]]; then + if [[ $ADD_OPTION_LOGS -gt 0 ]]; then + FILES="$(ls -1 /var/log/messages-[[:digit:]]* 2>/dev/null)" + [[ -n "$FILES" ]] && log_entry $OF note "Additional Rotated Logs Included in the Tar Ball" + log_files $OF 0 /var/log/messages + for CMPLOG in $FILES + do + FILE=$(basename $CMPLOG) + FILEROOT=${LOG}/$(cut -d\. -f1 <<< ${FILE}) + cp $CMPLOG ${LOG} + FILE_TYPE=$(file --brief --mime-type $CMPLOG 2>/dev/null) + case $FILE_TYPE in + "text/plain") + ;; + "application/x-xz") + wait_trace_on "xz -d ${LOG}/$FILE" + xz -d ${LOG}/$FILE + ;; + "application/x-bzip2") + wait_trace_on "bzip2 -d ${LOG}/$FILE" + bzip2 -d ${LOG}/$FILE + ;; + "application/x-gzip") + wait_trace_on "gzip -d ${LOG}/$FILE" + gzip -d ${LOG}/$FILE + ;; + *) + continue + ;; + esac + mv ${FILEROOT} ${FILEROOT}.txt + wait_trace_off + done + else if [[ $VAR_OPTION_MSG_MAXSIZE -eq 0 ]]; then - log_files $OF 0 $LOGFILE # override and get the entire file + log_files $OF 0 $MESSAGES_FILE # override and get the entire file else - MSGSIZE=$(stat -c%s $LOGFILE) + MSGSIZE=$(stat -c%s $MESSAGES_FILE) if [[ $MSGSIZE -gt $VAR_OPTION_MSG_MAXSIZE ]]; then - log_files $OF $VAR_OPTION_MSG_LINE_COUNT $LOGFILE # the file exceeded the max size allowed, get specified lines of the file + log_files $OF $VAR_OPTION_MSG_LINE_COUNT $MESSAGES_FILE # the file exceeded the max size allowed, get specified lines of the file else - log_files $OF 0 $LOGFILE # get the whole file + log_files $OF 0 $MESSAGES_FILE # get the whole file fi fi + fi + else + if (( $ADD_OPTION_LOGS > 0 )); then + log_cmd $OF "journalctl --no-pager --output=short-iso" else - log_cmd $OF "journalctl --no-pager --lines $VAR_OPTION_MSG_LINE_COUNT" + log_cmd $OF "journalctl --no-pager --output=short-iso --lines $VAR_OPTION_MSG_LINE_COUNT" fi fi echolog Done @@ -692,7 +712,7 @@ (( ADD_OPTION_MAXYAST > 0 )) && log_files $OF 0 $FILES || log_files $OF $VAR_OPTION_LINE_COUNT $FILES [[ -s /root/autoupg.xml ]] && FILES="/root/autoupg*xml" || FILES='' conf_files $OF /root/autoinst.xml $FILES /var/adm/autoinstall/cache/installedSystem.xml - sed -i -e 's!<user_password>.*</user_password>!<user_password>*REMOVED BY SUPPORTCONFIG*</user_password>!g' $LOG/$OF + _sanitize_file $OF echolog Done } @@ -745,7 +765,7 @@ test -e /usr/sbin/mcelog && log_cmd $OF "/usr/sbin/mcelog --ignorenodev --filter --dmi" test -s /var/log/mcelog && { log_cmd $OF "ls -l --time-style=long-iso /var/log/mcelog"; conf_files $OF /var/log/mcelog; } - log_cmd $OF 'last -xF | egrep "reboot|shutdown|runlevel|system"' + log_cmd $OF 'last -wxF | egrep "reboot|shutdown|runlevel|system"' (( SLES_VER >= 120 )) && FILES='/var/log/boot.log' || FILES='/etc/inittab' conf_files $OF /proc/cmdline /etc/sysconfig/kernel $FILES /etc/init.d/boot.local /etc/init.d/before.local /etc/init.d/after.local /etc/init.d/halt.local @@ -808,7 +828,6 @@ check_service $OF smt CONF=/etc/smt.conf conf_files $OF /etc/smt.conf - sed -i -e 's/^NUPass[[:space:]]*=.*/NUPass=*REMOVED BY SUPPORTCONFIG*/;s/^pass[[:space:]]*=.*/pass=*REMOVED BY SUPPORTCONFIG*/;s/^ProxyUser[[:space:]]*=.*/ProxyUser=*REMOVED BY SUPPORTCONFIG*/;s/^mailServerPassword[[:space:]]*=.*/mailServerPassword=*REMOVED BY SUPPORTCONFIG*/;s/^credentials[[:space:]]*=.*/credentials=*REMOVED BY SUPPORTCONFIG*/' $LOG/$OF FILES=$(find -L /etc/smt.d/ -type f 2>/dev/null) conf_files $OF $FILES log_cmd $OF 'smt-catalogs' @@ -820,6 +839,7 @@ fi FILES=$(find /var/log/ -type f | grep smt- | grep log$) test $ADD_OPTION_LOGS -gt 0 && log_files $OF 0 $FILES || log_files $OF $VAR_OPTION_LINE_COUNT $FILES + _sanitize_file $OF echolog Done else echolog Skipped @@ -854,14 +874,27 @@ fi if (( SLES_VER >= 120 )) then - if rpm_verify $OF SUSEConnect - then - rpm_verify $OF ruby2.1-rubygem-suse-connect - log_cmd $OF "SUSEConnect --status" - FILES=$(find -L /etc/zypp/credentials.d/ -type f 2>/dev/null) - conf_files $OF /etc/SUSEConnect $FILES + if rpm -q suseconnect-ng &> /dev/null; then + if rpm_verify $OF suseconnect-ng + then + log_cmd $OF "SUSEConnect --status" + FILES=$(find -L /etc/zypp/credentials.d/ -type f 2>/dev/null) + conf_files $OF /etc/SUSEConnect $FILES + fi + elif rpm -q SUSEConnect &> /dev/null; then + if rpm_verify $OF SUSEConnect + then + rpm_verify $OF ruby2.1-rubygem-suse-connect + log_cmd $OF "SUSEConnect --status" + FILES=$(find -L /etc/zypp/credentials.d/ -type f 2>/dev/null) + conf_files $OF /etc/SUSEConnect $FILES + fi fi fi + + if rpm -q zypper-lifecycle-plugin &> /dev/null; then + log_cmd $OF 'zypper lifecycle' + fi if rpm -q libzypp &> /dev/null; then QPBIN=$(rpm -ql libzypp | grep query-pool) @@ -963,6 +996,7 @@ done (( FOUND )) && log_write $OF fi + _sanitize_file $OF echolog Done } @@ -978,7 +1012,12 @@ log_cmd $OF 'getent passwd' conf_files $OF /etc/group log_cmd $OF 'getent group' + EXTRA_DIRS=$(egrep '^#includedir |^@includedir ' /etc/sudoers | awk '{print $NF}') conf_files $OF /etc/sudoers + for EXTRA in $EXTRA_DIRS + do + conf_files $OF ${EXTRA}/* + done (( SLES_VER >= 120 )) && log_cmd $OF 'loginctl --no-pager list-sessions' log_write $OF "#==[ Files in /etc/security ]=======================#" test -d /etc/security && FILES="$(find -L /etc/security/ -type f -name \*conf)" || FILES="" @@ -1119,7 +1158,9 @@ printlog "SystemD..." test $OPTION_DAEMONS -eq 0 && { echolog Excluded; return 1; } OF=systemd.txt + OF2=systemd-status.txt addHeaderFile $OF + addHeaderFile $OF2 rpm_verify $OF systemd log_cmd $OF 'hostnamectl status' log_cmd $OF 'systemctl --failed' @@ -1147,6 +1188,10 @@ log_cmd $OF "systemctl show '$i' | sort" fi done + for i in $(systemctl --no-pager list-units --type=service | grep -v "not-found" | sed 's/^[^-_:\\a-zA-Z0-9]*//' | egrep -v '^UNIT |^LOAD |^ACTIVE |^SUB |^To |^[[:digit:]]* ' | awk '{print $1}') + do + log_cmd $OF2 "systemctl status '$i'" + done log_cmd $OF 'ls -alR /etc/systemd/' log_cmd $OF 'ls -alR /usr/lib/systemd/' echolog Done @@ -1190,6 +1235,33 @@ echolog Done } +podman_info() { + printlog "Podman..." + test $OPTION_PODMAN -eq 0 && { echolog Excluded; return 1; } + OF=podman.txt + addHeaderFile $OF + PODMANSCDIR=$LOG/podman + [[ -e /usr/bin/podman ]] && PODMAN_PKG=`rpm -q --whatprovides /usr/bin/podman 2>/dev/null` + [[ -z $PODMAN_PKG ]] && PODMAN_PKG='podman' + if rpm_verify $OF $PODMAN_PKG + then + log_cmd $OF 'podman version' + log_cmd $OF 'podman info' + log_cmd $OF 'podman images' + log_cmd $OF 'podman ps --all' + log_cmd $OF 'podman network ls' + mkdir -p $PODMANSCDIR + for container in $(podman ps -a --format "{{.ID}}" 2>/dev/null); + do + CONTAINEROF=podman/"$container".txt + log_cmd $CONTAINEROF "podman top $container" + log_cmd $CONTAINEROF "podman inspect $container" + log_cmd $CONTAINEROF "podman logs $container" + done + fi + echolog Done +} + cron_info() { printlog "CRON..." test $OPTION_CRON -eq 0 && { echolog Excluded; return 1; } @@ -1328,7 +1400,8 @@ log_cmd $OF 'lspci -b' log_cmd $OF 'multipath -ll' log_cmd $OF 'ls -lR --time-style=long-iso /dev/disk/' - conf_files $OF /etc/multipath.conf /etc/multipath/wwids /etc/modprobe.conf.local /etc/sysconfig/hotplug /etc/sysconfig/kernel /etc/fstab + MPIO_FILES=$(find /etc/multipath/ -type f 2>/dev/null) + conf_files $OF /etc/multipath.conf $MPIO_FILES /etc/modprobe.conf.local /etc/sysconfig/hotplug /etc/sysconfig/kernel /etc/fstab log_cmd $OF 'lsscsi -g' log_cmd $OF 'dmsetup ls --tree' log_cmd $OF 'dmsetup table' @@ -1379,56 +1452,75 @@ } detectVirtualization() { - if echo $ARCH | egrep -v "i386|i586|i686|x86_64" &>/dev/null; then - return 5 - fi OUT=$1 log_write $OUT "#==[ System ]=======================================#" log_write $OUT "# Virtualization" NO_HYPER=1 - if [ -x /usr/sbin/dmidecode ]; then + if [[ -x /usr/sbin/dmidecode ]]; then MANUFACTURERNAME=$(/usr/sbin/dmidecode -s system-manufacturer 2>/dev/null) SYSPRODNAME=$(/usr/sbin/dmidecode -s system-product-name 2>/dev/null) - if [ -n "$MANUFACTURERNAME" ]; then + if [[ -n "$MANUFACTURERNAME" ]]; then log_write $OUT "Manufacturer: $MANUFACTURERNAME" log_write $OUT "Hardware: $SYSPRODNAME" else log_write $OUT "Hardware: See hardware.txt" fi + else + log_write $OUT "Hardware: See hardware.txt" + fi + if [[ -x /usr/bin/lscpu ]]; then + LSCPU_OUT=$(/usr/bin/lscpu 2>/dev/null | egrep -i "virtualization|hypervisor") + else + LSCPU_OUT='' fi # Xen Hypervisor - if [ -d /proc/xen ]; then + if egrep -iq "Hypervisor vendor.*Xen" <<< $LSCPU_OUT; then NO_HYPER=0 - if [ -e /proc/xen/xsd_port ]; then - log_write $OUT "Hypervisor: Xen (/proc/xen)" - log_write $OUT "Identity: Virtual Machine Server - Dom0 (/proc/xen/xsd_port)" - else - log_write $OUT "Hypervisor: Xen (/proc/xen)" - log_write $OUT "Identity: Virtual Machine - DomU (No /proc/xen/xsd_port)" - if uname -r | grep -vi xen &>/dev/null; then - log_write $OUT "Type: Fully Virtualized (no xen kernel)" + IDENT=$(egrep -i "Virtualization type" <<< $LSCPU_OUT | awk '{print $NF}') + log_write $OUT "Hypervisor: Xen" + case $IDENT in + 'none') + if systemctl is-enabled libvirtd.service &>/dev/null; then + log_write $OUT "Identity: Virtual Machine Server - Dom0" else - log_write $OUT "Type: Para Virtualized (xen kernel)" + log_write $OUT "Identity: libvirtd Disabled" fi - fi + ;; + 'full') + log_write $OUT "Identity: Virtual Machine - DomU" + log_write $OUT "Type: Fully Virtualized" + ;; + 'para') + log_write $OUT "Identity: Virtual Machine - DomU" + log_write $OUT "Type: Para Virtualized" + ;; + *) + log_write $OUT "Identity: Unknown" + ;; + esac fi # KVM Hypervisor - CPUMODEL=$(grep -i '^model name' /proc/cpuinfo | head -1) - if grep '^kvm' /proc/modules &>/dev/null; then - NO_HYPER=0 - if echo $CPUMODEL | grep -i 'QEMU Virtual CPU' &>/dev/null; then - KVMID="Virtual Machine (QEMU Virtual CPU)" - else - KVMID="Virtual Machine Server (No QEMU Virtual CPU)" + if grep -iq "Virtualization:" <<< $LSCPU_OUT; then + if grep -iq "Hypervisor vendor.*KVM" <<< $LSCPU_OUT; then + NO_HYPER=0 + log_write $OUT "Hypervisor: KVM" + log_write $OUT "Identity: Virtual Machine - DomU" + IDENT=$(egrep -i "Virtualization type" <<< $LSCPU_OUT | awk '{print $NF}') + case $IDENT in + 'full') + log_write $OUT "Type: Fully Virtualized" + ;; + *) + log_write $OUT "Identity: Unknown" + ;; + esac + elif systemctl is-enabled libvirtd.service &>/dev/null; then + NO_HYPER=0 + log_write $OUT "Hypervisor: KVM" + log_write $OUT "Identity: Virtual Machine Server - Dom0" fi - log_write $OUT "Hypervisor: KVM (kvm kernel module loaded)" - log_write $OUT "Identity: $KVMID" - elif echo $CPUMODEL | grep -i 'QEMU Virtual CPU' &>/dev/null; then - NO_HYPER=0 - log_write $OUT "Hypervisor: KVM (QEMU Virtual CPU)" - log_write $OUT "Identity: Virtual Machine (QEMU Virtual CPU)" fi # VMware Hypervisor @@ -1484,6 +1576,9 @@ detectVirtualization $OF conf_files $OF /proc/cpuinfo /proc/cmdline /proc/ioports /proc/dma /proc/devices /proc/bus/usb/devices log_cmd $OF 'lspci -b' + log_cmd $OF 'cpupower frequency-info' + log_cmd $OF 'cpupower idle-info' + log_cmd $OF 'cpupower info' if [ $MIN_OPTION_AUTOMOD -eq 0 ]; then log_write $OF "#==[ Warning ]======================================#" log_write $OF "# Autoloading kernel modules disabled. Don't use -k." @@ -1735,7 +1830,7 @@ log_cmd $OF "${NS}tc -s -d class show dev ${NIC}" log_cmd $OF "${NS}tc -s -d filter show dev ${NIC}" done - log_cmd $OF "${NS}ss -nlp" + log_cmd $OF "${NS}ss -nap" log_cmd $OF "${NS}ip ntable show" log_cmd $OF "${NS}nstat -az" if [[ $MIN_OPTION_AUTOMOD -eq 0 ]]; then @@ -1814,10 +1909,28 @@ log_write $OF fi done + + if rpm_verify $OF nftables + then + log_cmd $OF "${NS}nft list tables" + + # playing around with IFS is unfortunately necessary here for + # properly parsing the 'nft list tables' output and the standard + # IFS must be used to avoid breaking the namespace passed to log_cmd + SAVEIFS=$IFS + IFS=$(echo -ne "\n\b") + for NF_TABLE in $(${NS}nft list tables | cut -d\ -f2,3) + do + IFS=$SAVEIFS + log_cmd $OF "${NS}nft list table $NF_TABLE" + IFS=$(echo -ne "\n\b") + done + IFS=$SAVEIFS + fi + if [[ -z "${NS}" ]] ; then test -d /etc/sysconfig/network && FILES=$(find /etc/sysconfig/network/ -maxdepth 1 -type f) || FILES="" conf_files $OF /etc/sysconfig/proxy $FILES - sed -i -e 's/.*_PASSWORD[[:space:]]*=.*/*REMOVED BY SUPPORTCONFIG*/g' $LOG/$OF (( SLES_VER >= 120 )) && FILES=$(find /etc/wicked -type f 2>/dev/null | grep '\.xml$') || FILES='' conf_files $OF $FILES if [ -d /proc/net/bonding ]; then @@ -1830,6 +1943,7 @@ FILES="$FILES /var/log/NetworkManager" test $ADD_OPTION_LOGS -gt 0 && log_files $OF 0 $FILES || log_files $OF $VAR_OPTION_LINE_COUNT $FILES fi + _sanitize_file $OF } disk_info() { @@ -1838,6 +1952,7 @@ OF=fs-diskio.txt addHeaderFile $OF conf_files $OF /proc/partitions /etc/fstab + (( $IO_DELAYS )) || log_cmd $OF "df -Th" log_cmd $OF "lsblk -i -o 'NAME,KNAME,MAJ:MIN,FSTYPE,LABEL,RO,RM,MODEL,SIZE,OWNER,GROUP,MODE,ALIGNMENT,MIN-IO,OPT-IO,PHY-SEC,LOG-SEC,ROTA,SCHED,MOUNTPOINT,DISC-ALN,DISC-GRAN,DISC-MAX,DISC-ZERO'" log_cmd $OF "blkid" [[ -x /usr/bin/findmnt ]] && log_cmd $OF "findmnt" @@ -1868,8 +1983,13 @@ done log_cmd $OF 'ls -lR --time-style=long-iso /dev/disk/' + log_cmd $OF 'ls -l --time-style=long-iso /dev/mapper/' log_cmd $OF 'ls -l --time-style=long-iso /sys/block/' log_cmd $OF 'lslocks' + log_cmd $OF 'ls -l /dev/disk/by-path/' + log_cmd $OF 'ls -l /dev/disk/by-id/' + log_cmd $OF 'ls -l /dev/disk/by-uuid/' + log_cmd $OF "grep '' /sys/block/*/queue/scheduler" if [[ $ADD_OPTION_MINDISK -eq 0 ]]; then log_cmd $OF 'iostat -x 1 4' @@ -1960,7 +2080,7 @@ log_cmd $OF "btrfs filesystem show" conf_files $OF /etc/fstab [[ -x /usr/bin/findmnt ]] && log_cmd $OF "findmnt" || log_cmd $OF "mount" - (( $IO_DELAYS )) || log_cmd $OF "df -h" + (( $IO_DELAYS )) || log_cmd $OF "df -Th" log_cmd $OF "modinfo btrfs" for DEVICE in $(btrfs filesystem show | awk 'NF{ print $NF }' | grep ^/) #TODO For multi-device btrfs filesysems only use one device @@ -2036,6 +2156,7 @@ done fi fi + _sanitize_file $OF echolog Done } @@ -2044,43 +2165,39 @@ test $OPTION_NFS -eq 0 && { echolog Excluded; return 1; } OF=nfs.txt addHeaderFile $OF - if rpm -q nfs-client &>/dev/null; then - if rpm_verify $OF nfs-client + if rpm_verify $OF nfs-client + then + rpm_verify $OF rpcbind + check_service $OF nfs + check_service $OF rpcbind + conf_files $OF /etc/sysconfig/nfs + log_cmd $OF 'nfsstat' + timed_log_cmd $OF 'rpcinfo -p' + + log_cmd $OF "egrep '[[:space:]]nfs[[:space:]]|[[:space:]]nfs4[[:space:]]' /etc/fstab" + IPADDRS=$(egrep '[[:space:]]nfs[[:space:]]|[[:space:]]nfs4[[:space:]]' /etc/fstab | egrep -v '^#|^;' | cut -d\: -f1 | sort | uniq) + for IPADDR in $IPADDRS + do + ping_addr $OF 'NFS Server' $IPADDR + done + for IPADDR in $IPADDRS + do + log_cmd $OF "showmount -e $IPADDR" + done + + if rpm_verify $OF nfs-kernel-server then - rpm_verify $OF nfs-kernel-server - if (( SLES_VER >= 120 )) - then - log_cmd $OF "systemctl status nfs.service" - log_cmd $OF "systemctl status nfsserver.service" - NFS_STATUS=$? - else - check_service $OF nfs - check_service $OF nfsserver - NFS_STATUS=$? - fi - timed_log_cmd $OF 'rpcinfo -p' + check_service $OF nfsserver log_cmd $OF 'exportfs -v' - log_cmd $OF 'nfsstat' + conf_files $OF /etc/exports if timed_log_cmd $OF 'showmount' then log_cmd $OF 'showmount -e' log_cmd $OF 'showmount -a' fi - conf_files $OF /etc/exports /etc/sysconfig/nfs - log_cmd $OF "egrep '[[:space:]]nfs[[:space:]]|[[:space:]]nfs4[[:space:]]' /etc/fstab" - IPADDRS=$(egrep '[[:space:]]nfs[[:space:]]|[[:space:]]nfs4[[:space:]]' /etc/fstab | egrep -v '^#|^;' | cut -d\: -f1 | sort | uniq) - for IPADDR in $IPADDRS - do - ping_addr $OF 'NFS Server' $IPADDR - done - for IPADDR in $IPADDRS - do - log_cmd $OF "showmount -e $IPADDR" - done - echolog Done - else - echolog Skipped fi + + echolog Done else if rpm_verify $OF nfs-utils then @@ -2213,6 +2330,8 @@ FILES="/etc/nvme/*" [[ -d /etc/nvme/ ]] && conf_files $OF $FILES [[ -f /etc/nvme/discovery.conf ]] && log_cmd $OF "nvme discover" + [[ -f /etc/nvme/hostnqn ]] && log_cmd $OF "nvme hostnqn" + [[ -f /sys/module/nvme_core/parameters/multipath ]] && log_cmd $OF "nvme core" NVME_DEVICES=$(nvme list | grep /dev | awk '{print $1}') for NVME_DEVICE in $NVME_DEVICES do @@ -2386,6 +2505,10 @@ log_cmd $OF "sysctl kernel.core_uses_pid" log_cmd $OF "sysctl kernel.core_pattern" conf_files $OF "/etc/sysconfig/ulimit /etc/security/limits.conf" + if [[ -d /etc/security/limits.d/ ]]; then + LIMITS_FILES=$(find /etc/security/limits.d/ -type f -name \*.conf) + conf_files $OF $LIMITS_FILES + fi log_cmd $OF "grep -n 'ulimit -c' /etc/init.d/* 2>/dev/null" if [[ -x /usr/bin/coredumpctl ]]; then @@ -2506,19 +2629,23 @@ log_write $OF "#--[ Automount Scheme: $SCHEME ]--#" case "$SCHEME" in files) - if [ -f /etc/auto.master ]; then + if [[ -f /etc/auto.master ]]; then AFSMAPS=$(cat /etc/auto.master | grep -v ^# | awk '{print $2}' | cut -d\: -f2) FILES='' for MAP in $AFSMAPS do - if [ -e $MAP ]; then + if [[ -e $MAP ]]; then FILES="$FILES $MAP" - elif [ -e /etc/$MAP ]; then + elif [[ -e /etc/$MAP ]]; then FILES="$FILES /etc/$MAP" else FILES="$FILES $MAP" fi done + if [[ -d /etc/auto.master.d ]]; then + MASTER_FILES=$(find /etc/auto.master.d/ -type f) + FILES="$FILES $MASTER_FILES" + fi conf_files $OF /etc/auto.master $FILES else log_write $OF "Missing /etc/auto.master" @@ -2539,7 +2666,6 @@ ;; ldap) conf_files $OF /etc/autofs_ldap_auth.conf - sed -i -e 's/secret[[:space:]]*=.*/secret=*REMOVED BY SUPPORTCONFIG*/g' $LOG/$OF log_cmd $OF "ldapsearch -x \"(&(objectclass=automountMap))\"" log_cmd $OF "ldapsearch -x \"(&(objectclass=automount))\"" log_cmd $OF "ldapsearch -x \"(&(objectclass=nisMap))\"" @@ -2547,6 +2673,7 @@ ;; esac done + _sanitize_file $OF FILES="/var/log/messages" test $ADD_OPTION_LOGS -gt 0 && grep_log_files automount $OF 0 $FILES || grep_log_files automount $OF $VAR_OPTION_LINE_COUNT $FILES echolog Done @@ -2944,7 +3071,7 @@ log_cmd $OF "cat /proc/drbd" log_cmd $OF "ps aux | grep drbd | grep -v grep" [[ -x /usr/bin/findmnt ]] && log_cmd $OF "findmnt" || log_cmd $OF "mount" - (( $IO_DELAYS )) || log_cmd $OF "df -h" + (( $IO_DELAYS )) || log_cmd $OF "df -Th" if [[ -s /etc/drbd.conf ]]; then DIRLIST=$(cat /etc/drbd.conf | grep ^include | cut -d\" -f2 | sed 's!\(.*\)/.*!\1/!' | sort | uniq) FILES='' @@ -3280,8 +3407,9 @@ # Let us get alternatives output log_cmd $OF "update-alternatives --get-selections" conf_files $OF $(find -L /etc/ -type f | egrep "conf$|cfg$" | egrep -v "rhn/rhn.conf$") - [ -d /etc/logrotate.d ] && conf_files $OF /etc/logrotate.d/* + [[ -d /etc/logrotate.d ]] && conf_files $OF /etc/logrotate.d/* conf_files $OF /etc/rc.dialout /etc/ppp/options /etc/ppp/ioptions /etc/ppp/peers/pppoe /etc/motd + _sanitize_file $OF echolog Done } @@ -3301,7 +3429,7 @@ conf_files $OF $FILE done done - sed -i -e 's/.*_PASSWORD[[:space:]]*=.*/*REMOVED BY SUPPORTCONFIG*/g' $LOG/$OF + _sanitize_file $OF echolog Done } @@ -3399,8 +3527,7 @@ x_info() { local verify_list - local xserver_present=n - local drm_present=n + local CONTENT_FOUND=0 printlog "X..." test $OPTION_X -eq 0 && { echolog Excluded; return 1; } @@ -3414,7 +3541,7 @@ done if rpm_verify $OF xorg-x11-server then - xserver_present=y + CONTENT_FOUND=1 rpm_verify $OF Mesa if rpm_verify $OF sax2 then @@ -3440,7 +3567,7 @@ fi if [ -d /sys/class/drm ] then - drm_present=y + CONTENT_FOUND=1 if [ "$xserver_present" = "n" ] then [ $SLES_VER -ge 113 ] && log_cmd $OF 'mokutil --sb-state' @@ -3448,7 +3575,7 @@ fi drm_sub_info fi - if [ "$xserver_present" = "y" -o "$drm_present" = "y" ] + if (( $CONTENT_FOUND > 0 )) then echolog Done else @@ -3523,7 +3650,7 @@ [ -n "$verify_list" ] && rpm_verify $OF "$verify_list" if rpm -q xorg-x11-server &>/dev/null then - xserver_present=y + CONTENT_FOUND=1 log_cmd $OF 'bash -c "for i in /sys/class/input/input*; do echo -n \"\$i: \"; echo -n \$i/event* \" \" | sed -e \"s#\$i/##\"; cat \$i/name; done"' log_cmd $OF 'ls -al /dev | egrep "video.*"' [ $SLES_VER -ge 1130 ] && log_cmd $OF 'mokutil --sb-state' @@ -3542,13 +3669,10 @@ TMPLOG=0 fi [ -n "$xorg_conf" ] && ADD_OPTION_LOGS=$TMPLOG conf_files $OF $xorg_conf - - FILES="/var/log/Xorg.[0,1].log /var/log/Xorg.0.log.old /var/log/xdm.errors /root/.X.err /root/.xsession-errors" - test $ADD_OPTION_LOGS -gt 0 && log_files $OF 0 $FILES || log_files $OF $VAR_OPTION_LINE_COUNT $FILES fi if [[ -d /sys/class/drm ]] then - drm_present=y + CONTENT_FOUND=1 if [ "$xserver_present" == "n" ] then log_cmd $OF 'mokutil --sb-state' @@ -3556,9 +3680,13 @@ fi drm_sub_info fi - - if [ "$xserver_present" = "y" -o "$drm_present" = "y" ] + if (( $CONTENT_FOUND > 0 )) then + if (( $ADD_OPTION_LOGS )); then + log_cmd $OF "journalctl --no-pager --output=short-iso | egrep -e 'gnome|gdm|plasma|kde'" + else + log_cmd $OF "journalctl --no-pager --output=short-iso | egrep -e 'gnome|gdm|plasma|kde' | tail -${VAR_OPTION_LINE_COUNT}" + fi echolog Done else echolog Skipped @@ -3687,6 +3815,7 @@ SARSCDIR=$LOG/sar if rpm_verify $OF sysstat; then if [ -d $SARDIR ]; then + log_cmd $OF '/usr/lib64/sa/sa1 1 1' FOUND=$(ls -A1 $SARDIR) if [ -n "$FOUND" ]; then mkdir -p $SARSCDIR @@ -4093,17 +4222,18 @@ OF=email.txt addHeaderFile $OF if rpm_verify $OF postfix; then + EXCLUDE_LIST="/etc/postfix/sasl_passwd" log_cmd $OF "systemctl status postfix.service" log_cmd $OF "postconf -n" log_cmd $OF "postconf -d" log_cmd $OF "postqueue -p" log_cmd $OF "postqueue -j" log_cmd $OF 'bash -c "comm -23 <(postconf -n) <(postconf -d)"' - #FILES="/etc/sysconfig/postfix /etc/postfix/master.cf /etc/postfix/main.cf /etc/postfix/aliases /etc/postfix/openssl_postfix.conf.in" - FILES=$(find /etc/postfix/ ! -name '*.rpmnew' -type f -exec sh -c 'f=$1; file -bL --mime $f | grep -q "^text/plain" && echo $f' {} {} \; | sort) + FILES=$(find /etc/postfix/ ! -name '*.rpmnew' -type f -exec sh -c 'f=$1; file -bL --mime $f | grep -q "^text/plain" && echo $f' {} {} \; | egrep -v "${EXCLUDE_LIST}" | sort) conf_files $OF $FILES FILES="/var/log/mail.err /var/log/mail.warn /var/log/mail.info /var/log/mail" (( $ADD_OPTION_LOGS > 0 )) && log_files $OF 0 $FILES || log_files $OF $VAR_OPTION_LINE_COUNT $FILES + _sanitize_file $OF echolog Done else echolog Skipped @@ -4381,6 +4511,7 @@ sysfs_info systemd_info docker_info + podman_info cron_info udev_info lvm_info diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supportutils-3.1.20/bin/supportconfig.rc new/supportutils-3.1.21/bin/supportconfig.rc --- old/supportutils-3.1.20/bin/supportconfig.rc 2022-02-10 17:17:13.974427779 +0100 +++ new/supportutils-3.1.21/bin/supportconfig.rc 2022-10-18 20:10:51.524304037 +0200 @@ -1,7 +1,7 @@ ############################################################################## # supportconfig.rc - Resource file for supportconfig # Copyright (C) 2001-2022 SUSE LLC -RCVER='3.1.11-29.2' +RCVER='3.1.11-29.6' # # Contains supporting functions and variables used by supportconfig and # supportconfig plugins. @@ -20,7 +20,7 @@ # You should have received a copy of the GNU General Public License # along with this program; if not, see <http://www.gnu.org/licenses/>. # -# Modified: 2022 Feb 02 +# Modified: 2022 Oct 06 # Authors/Contributors: # Jason Record <jason.rec...@suse.com> # @@ -66,6 +66,7 @@ OPTION_NVME=1 OPTION_OCFS2=1 OPTION_OFILES=1 +OPTION_PODMAN=1 OPTION_PRINT=1 OPTION_PROC=1 OPTION_SAR=1 @@ -253,9 +254,9 @@ conf_text_files() { LOGFILE=$LOG/$1 shift - FILES=$@ + CONF_TEXT_FILES_INCLUDED=$@ set dummy-argument - for CONF in $FILES + for CONF in $CONF_TEXT_FILES_INCLUDED do echo "#==[ Configuration File ]===========================#" >> $LOGFILE if [[ -f $CONF ]]; then @@ -285,9 +286,9 @@ conf_files() { LOGFILE=$LOG/$1 shift - FILES=$@ + CONF_FILES_INCLUDED=$@ set dummy-argument - for CONF in $FILES + for CONF in $CONF_FILES_INCLUDED do echo "#==[ Configuration File ]===========================#" >> $LOGFILE if [[ -f $CONF ]]; then @@ -465,6 +466,15 @@ test $VAR_OPTION_SILENT -gt 0 && printf " %-40s %12s ... " "$1" "$2" >> $CSLOGFILE || printf " %-40s %12s ... " "$1" "$2" | tee -a $CSLOGFILE } +_sanitize_file() { + CLEAN_FILE=${LOG}/$1 + REPLACED='*REMOVED BY SUPPORTCONFIG*' + sed -i -e 's/\(.*[P|p]ass"\?:\).*/\1 *REMOVED BY SUPPORTCONFIG*/g;s/\(.*[P|p]assword"\?:\).*/\1 *REMOVED BY SUPPORTCONFIG*/g;s/\(.*[P|p]ass[[:space:]]*=\).*/\1 *REMOVED BY SUPPORTCONFIG*/g' $CLEAN_FILE + sed -i -e 's/\(.*[P|p]assword[[:space:]]*=\).*/\1 *REMOVED BY SUPPORTCONFIG*/g;s/\(.*PASS=\).*/\1*REMOVED BY SUPPORTCONFIG*/g;s/\(.*_PASSWORD[[:space:]]*=\).*/\1 *REMOVED BY SUPPORTCONFIG*/g' $CLEAN_FILE + sed -i -e 's!\(<user_password>\).*\(</user_password>\)!\1*REMOVED BY SUPPORTCONFIG*\2!g;s/\(^ProxyUser[[:space:]]*=\).*/\1 *REMOVED BY SUPPORTCONFIG*/g' $CLEAN_FILE + sed -i -e 's/\(^credentials[[:space:]]*=\).*/\1 *REMOVED BY SUPPORTCONFIG*/g;s/\(secret[[:space:]]*=\).*/\1 *REMOVED BY SUPPORTCONFIG*/g' $CLEAN_FILE +} + _log_cmd() { EXIT_STATUS=0 shift diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supportutils-3.1.20/man/getappcore.8 new/supportutils-3.1.21/man/getappcore.8 --- old/supportutils-3.1.20/man/getappcore.8 2021-04-15 20:57:56.511762359 +0200 +++ new/supportutils-3.1.21/man/getappcore.8 2022-09-02 15:07:49.404154582 +0200 @@ -2,14 +2,17 @@ .SH NAME getappcore - Get Application Core File .SH SYNOPSIS -getappcore [OPTIONS] < -j PID | /path/to/core/file > +getappcore [OPTIONS] -j PID | /path/to/core/file .SH DESCRIPTION Creates an archive containing an application core, and all files required to analyze it - including the binary which created the core, and all required shared libraries. Included in the archive is a logfile containing RPM version information for further investigation by SUSE. You must specify the filename or the journal PID of the application core -you want to submit. +you want to submit. The core file must be provided uncompressed. The PID +can be determined by the command "coredumpctl list". Since systemd creates +compressed core files by default, you should almost always prefer '-j <PID>' +nowadays. You can safely omit the '-b' option then. .SH OPTIONS @@ -37,10 +40,13 @@ .SH EXAMPLES .RE .RS -.B getappcore -ur 00123456 -b /bin/rpm /core.15832 +.B getappcore -j 1345 +.RE +.RS +.B getappcore -ur 00123456 -j 2344 .RE .RS -.B getappcore -ur 00123456 -b /bin/rpm -j 2344 +.B getappcore -ur 00123456 -b /bin/rpm /core.15832 .RE .SH AUTHORS .RE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supportutils-3.1.20/man/supportconfig.conf.5 new/supportutils-3.1.21/man/supportconfig.conf.5 --- old/supportutils-3.1.20/man/supportconfig.conf.5 2021-11-16 16:45:51.571832441 +0100 +++ new/supportutils-3.1.21/man/supportconfig.conf.5 2022-09-02 15:08:00.075894335 +0200 @@ -126,6 +126,9 @@ OPTION_OFILES List of all open files using lsof. \fBopen-files.txt\fR (1) .TP +OPTION_PODMAN +Podman virtualization information. \fBpodman.txt\fR (1) +.TP OPTION_PRINT Printing and CUPS related information. \fBprint.txt\fR (1) .TP diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supportutils-3.1.20/spec/supportutils.changes new/supportutils-3.1.21/spec/supportutils.changes --- old/supportutils-3.1.20/spec/supportutils.changes 2022-03-15 17:49:00.295258824 +0100 +++ new/supportutils-3.1.21/spec/supportutils.changes 2022-10-18 20:14:37.370032051 +0200 @@ -1,4 +1,36 @@ ------------------------------------------------------------------- +Tue Oct 18 18:14:07 UTC 2022 - jason.rec...@suse.com + +- Added lifecycle information (issue#140) + +------------------------------------------------------------------- +Tue Oct 18 18:01:47 UTC 2022 - jason.rec...@suse.com + +- Changes to version 3.1.21 + + Added type output with df command in fs-diskio.txt (issue#141) + + Gather all files in /etc/security/limits.d/ (issue#142) + + Fixed KVM virtualization detection on bare metal (bsc#1184689) + + Added logging using journalctl (bsc#1200330) + + Passwords correctly removed from email.txt, updates.txt and fs-iscsi.txt (bsc#1203818) + + Added system logging configuration and checking in messages_config.txt (issue#103) + + If rsyslog not installed collect more from journalctl (issue#120) + + Added systemd-status.txt for the status of all service units (issue#125) + + autofs includes files in (+dir:<path>) (issue#111) + + Get current sar data before collecting files (bsc#1192648) + + Collects everything in /etc/multipath/ (bsc#1192252) + + Collects power management information in hardware.txt (bsc#1197428) + + Checks for suseconnect-ng or SUSEConnect packages (bsc#1202337) + + Fixed conf_files and conf_text_files so y2log is gathered (issue#134, bsc#1202269) + + Update to nvme_info and block_info #133 (bsc#1202417) + + Added IO scheduler (issue#136) + + Added includedir directories from /etc/sudoers (bsc#1188086) + +------------------------------------------------------------------- +Thu Jun 2 18:07:07 UTC 2022 - Jason Record <jason.rec...@suse.com> + +- Added a listing to /dev/mapper/. #129 + +------------------------------------------------------------------- Tue Mar 15 16:48:09 UTC 2022 - Jason Record <jason.rec...@suse.com> - Spec file adjusted for usr-merge diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supportutils-3.1.20/spec/supportutils.spec new/supportutils-3.1.21/spec/supportutils.spec --- old/supportutils-3.1.20/spec/supportutils.spec 2022-03-15 17:48:00.476990473 +0100 +++ new/supportutils-3.1.21/spec/supportutils.spec 2022-10-18 20:10:51.524304037 +0200 @@ -1,7 +1,7 @@ # # spec file for package supportutils # -# Copyright (c) 2018-2021 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -23,7 +23,7 @@ %define support_libdir /usr/lib/supportconfig Name: supportutils -Version: 3.1.20 +Version: 3.1.21 Release: 0 Summary: Support Troubleshooting Tools License: GPL-2.0-only