saptune-3.2.0-150400.15.27.9<>,`hxp9|, O`$mգ+7P;ԫ=oL[66]]zc <ݓj܀nʭh p?|o|؎.֐uKjFcOQ9KT ?Td   X $04Mn{ !7FJHLh Mx N P n0 npsv0vXxxxyz(zf8zp,9{ ,:},=>?@ F(G<H\I|XY\P]p^*6b,jc-d-e-f-l-u-v/ w24x4Ty6tz66SSSSSSST Csaptune3.2.0150400.15.27.9Comprehensive system tuning management for SAP solutionsThe utility adjusts system parameters such as kernel parameters and resource limits to allow running various SAP solutions at satisfactory performance. The utility can be used in place of sapconf.hxh03-ch2aC0{SUSE Linux Enterprise 15SUSE LLC GPL-3.0-onlyhttps://www.suse.com/System/Managementhttps://www.suse.com/products/sles-for-saplinuxx86_64 if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : for service in saptune.service ; do sysv_service=${service%.*} if [ ! -e /usr/lib/systemd/system/$service ] && [ ! -e /etc/init.d/$sysv_service ]; then mkdir -p /run/systemd/rpm/needs-preset touch /run/systemd/rpm/needs-preset/$service elif [ -e /etc/init.d/$sysv_service ] && [ ! -e /var/lib/systemd/migrated/$sysv_service ]; then /usr/sbin/systemd-sysv-convert --save $sysv_service || : mkdir -p /run/systemd/rpm/needs-sysv-convert touch /run/systemd/rpm/needs-sysv-convert/$service fi done fi if [ $1 -ne 1 ]; then # package update if [ -f /var/lib/saptune/config/saptune ]; then # SLE16, package version 3.2 or later : elif [ -f /etc/sysconfig/saptune ]; then # SLE12/SLE15 (or update to SLE16, anything needed? TODO) NOTEDIR=/usr/share/saptune/notes if [ ! -d ${NOTEDIR} ]; then # installed package version is < 2.0, update v1 to v3 # indicated by missing directory /usr/share/saptune/notes # only change version to '1' (migration), if saptune is really used # so check, if a solution or a note is defined if (grep '^TUNE_FOR_SOLUTIONS[[:space:]]*=[[:space:]]*""' /etc/sysconfig/saptune >/dev/null 2>&1) && (grep '^TUNE_FOR_NOTES[[:space:]]*=[[:space:]]*""' /etc/sysconfig/saptune >/dev/null 2>&1); then echo "saptune NOT configured and NOT used - version will be set to '3'" else echo "ATTENTION: saptune Version 1 is currently configured and used - but this version of saptune is no longer supported. Please migrate to Version 3 after the package update is done. saptune will stop working" # to allow a migration from v1 to v3 after the installation, we need to preserve some 'old' data. touch /run/update_v1tov3_saptune_inst || : # preserve 'old' BOBJ and ASE note definition files for saptune # version 1 compatibility if [ -f /etc/saptune/extra/SAP_BOBJ-SAP_Business_OBJects.conf ]; then cp /etc/saptune/extra/SAP_BOBJ-SAP_Business_OBJects.conf /etc/saptune/extra/SAP_BOBJ_n2c.conf fi if [ -f /etc/saptune/extra/SAP_ASE-SAP_Adaptive_Server_Enterprise.conf ]; then cp /etc/saptune/extra/SAP_ASE-SAP_Adaptive_Server_Enterprise.conf /etc/saptune/extra/SAP_ASE_n2c.conf fi fi else # package version 2.0 or later # check SAPTUNE_VERSION stvers=$(grep ^SAPTUNE_VERSION= /etc/sysconfig/saptune | awk -F '"' '{ print $2 }') if [ "$stvers" == 1 ]; then # check, if saptune is really used # so check, if a solution or a note is defined if (grep '^TUNE_FOR_SOLUTIONS[[:space:]]*=[[:space:]]*""' /etc/sysconfig/saptune >/dev/null 2>&1) && (grep '^TUNE_FOR_NOTES[[:space:]]*=[[:space:]]*""' /etc/sysconfig/saptune >/dev/null 2>&1); then # saptune NOT configured and NOT used : else echo "ATTENTION: saptune currently running in Version 1 compatibility mode. Please migrate to Version 3 after the package update is done." fi fi if [ ! -d /var/lib/saptune/working/sols ]; then # installed package version is 2.x, update v2 to v3, save 'old' solution definition file cp /usr/share/saptune/solutions /var/lib/saptune/.v2_solutions fi # special fix only for 3.0.0 installations if [ -d /var/lib/saptune/working/sols ] && [ ! -f /usr/share/saptune/scripts/.updhelp ]; then touch /run/update_fix_300_saptune_inst || : fi fi # to prevent saptune related tuned error messages anytime after this # saptune package installation switch off tuned to remove the 'active' # saptune profile # 'tuned-adm off' is sadly the only possibility to remove an 'active' # saptune profile systemctl -q is-active tuned && [[ $(cat /etc/tuned/active_profile 2>/dev/null) == saptune ]] && (echo "found active tuned with saptune profile"; touch /run/saptune_is_active_in_tuned; tuned-adm off) || : # if the tuned profile is saptune, try to switch off tuned # if 'tuned-adm off' before had worked, the profile is empty # if not try again [[ $(cat /etc/tuned/active_profile 2>/dev/null) == saptune ]] && (echo "found saptune as tuned profile, try to switch off tuned"; touch /run/saptune_is_active_in_tuned; tuned-adm off || systemctl stop tuned.service; > /etc/tuned/active_profile) || : # if the tuned profile is still saptune, try to override the file [[ $(cat /etc/tuned/active_profile 2>/dev/null) == saptune ]] && (echo "found saptune as tuned profile, override /etc/tuned/active_profile"; touch /run/saptune_is_active_in_tuned; systemctl stop tuned.service; > /etc/tuned/active_profile) || : fi else # initial installation # check, if old config files from a former installation still exist if [ -f /etc/sysconfig/saptune ]; then mv /etc/sysconfig/saptune /etc/sysconfig/saptune.rpmold || : fi fi # action trigger for SLE16 initial installation # and update plain SLE15 to plain SLE16 (update from sapconf to saptune) # and update SLES4SAP15 to SLES4SAP16 (update from active sapconf to now active saptune) # check os-release, as this is only valid for >=SLE16 osvers=$(grep '^VERSION_ID[[:space:]]*=' /etc/os-release | awk -F '"' '{ print $2 }') || : if [[ "$osvers" =~ 16\..* ]]; then # check if sapconf is installed if rpm -q sapconf --quiet; then echo "found installed sapconf" touch /run/sapconf_pre_inst # check for enabled and/or active sapconf.service # to prevent a degraded systemd system status - stop and disable sapconf if systemd-detect-virt -q -r; then # running in chroot - systemctl is-active/start/stop does not # work as expected - acts as 'NOPs' and returns '0', # but enabel/disable does work ls /etc/systemd/system/multi-user.target.wants/sapconf.service >/dev/null 2>&1 && sc_enabled="enabled" || sc_enabled="disabled" if [[ $(ls /run/sapconf/active 2>/dev/null) || $(ls /run/sapconf_act_profile 2>/dev/null) ]] || ([[ $(ls /var/lib/sapconf/act_profile 2>/dev/null) ]] && [ -s /var/lib/sapconf/act_profile ]); then echo "found active sapconf.service" touch /run/sapconf_pre_actss_found || : fi else sc_enabled=$(systemctl is-enabled sapconf.service 2>/dev/null) || : sc_active=$(systemctl is-active sapconf.service 2>/dev/null) || : ([[ "$sc_active" == "activating" ]] || [[ "$sc_active" == "deactivating" ]] || [[ "$sc_active" == "active" ]]) && (echo "found active sapconf.service ($sc_active); stopping now..."; touch /run/sapconf_pre_actss_found; systemctl stop sapconf.service 2>/dev/null) || : fi ([[ "$sc_enabled" == "enabled" ]]) && (echo "found enabled sapconf.service, disable now..."; touch /run/sapconf_pre_enblss_found; systemctl disable sapconf.service 2>/dev/null) || : # check for configured saptune if [ ! -f /etc/sysconfig/saptune ] || ((grep '^TUNE_FOR_SOLUTIONS[[:space:]]*=[[:space:]]*""' /etc/sysconfig/saptune >/dev/null 2>&1) && (grep '^TUNE_FOR_NOTES[[:space:]]*=[[:space:]]*""' /etc/sysconfig/saptune >/dev/null 2>&1)); then echo "saptune not configured" touch /run/saptune_pre_not_configured || : else echo "saptune has configured notes or solutions" touch /run/saptune_pre_configured || : fi else touch /run/sapconf_not_inst fi fi touch /run/saptune_during_pkg_inst || :if [ -f /usr/share/saptune/saptuneTemplate.conf ]; then # SLE16 if [ ! -f /var/lib/saptune/config/saptune ]; then # saptune config file missing - copy from template cp /usr/share/saptune/saptuneTemplate.conf /var/lib/saptune/config/saptune fi if [ -f /etc/sysconfig/saptune ]; then # update from 12/15 to 16 # move old config file away mv /etc/sysconfig/saptune /var/lib/saptune/config/old_custom_saptune_config || : fi # update saptune config file with new entries, if needed. # Do not change existing ones # update config 12/15 to 16 (special task needed only once!) /usr/share/saptune/scripts/upd_helper updateConf || : else # SLE12/15 PNAME=saptune SUBPNAME= SYSC_TEMPLATE=/usr/share/fillup-templates/sysconfig.$PNAME$SUBPNAME # If template not in new /usr/share/fillup-templates, fallback to old TEMPLATE_DIR if [ ! -f $SYSC_TEMPLATE ] ; then TEMPLATE_DIR=/var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME$SUBPNAME fi SD_NAME="" if [ -x /bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating /etc/sysconfig/$SD_NAME$PNAME ..." mkdir -p /etc/sysconfig/$SD_NAME touch /etc/sysconfig/$SD_NAME$PNAME /bin/fillup -q /etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "/etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." fi # workaround for the missing directory. mkdir -p /etc/security/limits.d fi saptune_conf=/etc/sysconfig/saptune saptune_build=15 echo "saptune_conf $saptune_conf" echo "saptune buildvers $saptune_build" # cleanup 'typo' directory (bsc#1215969) rm -rf /varlog || : # handling of working area is the same for initial install or update # initial install or update from v1 or v2 - STAGING is 'false' by default # the entire content of package area gets copied directly to the working area # which is empty at that state. # update from v3 or later - STAGING may be 'true' staging=$(grep ^STAGING= "$saptune_conf" | awk -F '"' '{ print $2 }') if [ "$staging" == "true" ]; then # handle staging area and DON'T touch the working area touch /run/update_saptune_staging_area || : else # staging is NOT active, same behavior as with v2 # adjust the notes of an enabled solution, if needed /usr/share/saptune/scripts/upd_helper enabledSol || : if [ -f /var/lib/saptune/.v2_solutions ]; then # remove no longer needed old solution definition file rm -f /var/lib/saptune/.v2_solutions || : fi # set up working area if [ -d /var/lib/saptune/working/notes ] || [ -d /var/lib/saptune/working/sols ]; then rm -rf /var/lib/saptune/working/* || : fi mkdir -p /var/lib/saptune/working/notes || : cp /usr/share/saptune/notes/* /var/lib/saptune/working/notes || : mkdir -p /var/lib/saptune/working/sols || : cp /usr/share/saptune/sols/* /var/lib/saptune/working/sols || : # clean up of working area needed (deleted notes/sols) as the package area # still contains all notes/solutions from the old package version # removal of files no longer part of the package is done later by rpm fi if [ $1 -ne 1 ]; then # package update if [ ! -f /var/lib/saptune/config/saptune ]; then # SLE12/15 # rewrite saptune version in /etc/sysconfig/saptune as fillup will not # change variables sed -i 's/SAPTUNE_VERSION="2"/SAPTUNE_VERSION="3"/' /etc/sysconfig/saptune || : if [ -f /run/update_v1tov3_saptune_inst ]; then # update from v1 to v3, same as v1 to v2 as nothing changed in v1 # step is needed to support migration after package update /usr/share/saptune/scripts/upd_helper v1tov2pi || : else # update from v2 to v2 or higher, call update helper script in # posttrans touch /run/update_sle12tosel15_saptune_inst || : # clean up some leftover files from older saptune v2 versions /usr/share/saptune/scripts/upd_helper cleanup || : fi # special fix for update from 3.0.0 only if [ -f /run/update_fix_300_saptune_inst ]; then rm -f /run/update_fix_300_saptune_inst || : /usr/share/saptune/scripts/upd_helper fix_300 || : fi else # on SLE16 started with v3.2 # call update helper script in posttrans touch /run/update_tosle16_saptune_inst || : fi else # initial install touch /run/initial_saptune_inst || : fi if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" ]; then /usr/bin/systemctl daemon-reload || : fi for service in saptune.service ; do sysv_service=${service%.*} if [ -e /run/systemd/rpm/needs-preset/$service ]; then /usr/bin/systemctl preset $service || : rm "/run/systemd/rpm/needs-preset/$service" || : elif [ -e /run/systemd/rpm/needs-sysv-convert/$service ]; then /usr/sbin/systemd-sysv-convert --apply $sysv_service || : rm "/run/systemd/rpm/needs-sysv-convert/$service" || : touch /var/lib/systemd/migrated/$sysv_service || : fi done fisaptune_conf=/etc/sysconfig/saptune test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable saptune.service || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_STOP_ON_REMOVAL" && . /etc/sysconfig/services test "$DISABLE_STOP_ON_REMOVAL" = yes -o \ "$DISABLE_STOP_ON_REMOVAL" = 1 && exit 0 /usr/bin/systemctl stop saptune.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG=$1 if [ $FIRST_ARG -eq 0 ]; then # Package removal, not upgrade stvers=$(grep ^SAPTUNE_VERSION= "$saptune_conf" | awk -F '"' '{ print $2 }') # revert settings if (grep '^TUNE_FOR_SOLUTIONS[[:space:]]*=[[:space:]]*""' $saptune_conf >/dev/null 2>&1) && (grep '^TUNE_FOR_NOTES[[:space:]]*=[[:space:]]*""' $saptune_conf >/dev/null 2>&1); then # saptune not configured and not used - nothing to do : else # saptune configured and used - revert settings to clean up the system if [ "$stvers" == 1 ]; then saptune daemon revert >/dev/null 2>&1 || : else saptune service revert >/dev/null 2>&1 || : fi fi # to suppress error messages from tuned, if the current active profile is # the removed saptune profile (systemctl -q is-active tuned && [[ $(cat /etc/tuned/active_profile 2>/dev/null) == saptune ]] ) && (tuned-adm off; /usr/sbin/saptune daemon stop >/dev/null 2>&1) || : # if the tuned profile is saptune, try to switch off tuned # if 'tuned-adm off' before had worked, the profile is empty # if not try again [[ $(cat /etc/tuned/active_profile 2>/dev/null) == saptune ]] && (> /etc/tuned/active_profile) || : # clean up saved states left over rm -rf /run/saptune/parameter/* /run/saptune/sections/* /run/saptune/saved_state/* || : # clean up working and staging area rm -rf /var/lib/saptune/staging/latest/* /var/lib/saptune/working/* /var/lib/saptune/working/.tmbackup || : # preserve 'old' BOBJ and ASE note definition files for saptune # version 1 compatibility if [ -f /etc/saptune/extra/SAP_BOBJ-SAP_Business_OBJects.conf ]; then echo "warning: /etc/saptune/extra/SAP_BOBJ-SAP_Business_OBJects.conf saved as /etc/saptune/extra/SAP_BOBJ-SAP_Business_OBJects.rpmsave" mv /etc/saptune/extra/SAP_BOBJ-SAP_Business_OBJects.conf /etc/saptune/extra/SAP_BOBJ-SAP_Business_OBJects.rpmsave || : fi if [ -f /etc/saptune/extra/SAP_ASE-SAP_Adaptive_Server_Enterprise.conf ]; then echo "warning: /etc/saptune/extra/SAP_ASE-SAP_Adaptive_Server_Enterprise.conf saved as /etc/saptune/extra/SAP_ASE-SAP_Adaptive_Server_Enterprise.conf.rpmsave" mv /etc/saptune/extra/SAP_ASE-SAP_Adaptive_Server_Enterprise.conf /etc/saptune/extra/SAP_ASE-SAP_Adaptive_Server_Enterprise.conf.rpmsave || : fi # preserve saptune configuration, if saptune was used # so check, if a solution or a note is defined if (grep '^TUNE_FOR_SOLUTIONS[[:space:]]*=[[:space:]]*""' $saptune_conf >/dev/null 2>&1) && (grep '^TUNE_FOR_NOTES[[:space:]]*=[[:space:]]*""' $saptune_conf >/dev/null 2>&1) && (grep '^NOTE_APPLY_ORDER[[:space:]]*=[[:space:]]*""' $saptune_conf >/dev/null 2>&1); then rm -f $saptune_conf || : else if [ -f /var/lib/saptune/config/saptune ]; then # SLE16 echo "warning: /var/lib/saptune/config/saptune saved as /etc/saptune/saptune_conf.rpmsave" mv /var/lib/saptune/config/saptune /etc/saptune/saptune_conf.rpmsave || : else echo "warning: /etc/sysconfig/saptune saved as /etc/sysconfig/saptune.rpmsave" mv /etc/sysconfig/saptune /etc/sysconfig/saptune.rpmsave || : fi fi fitest -n "$FIRST_ARG" || FIRST_ARG=$1 if [ $FIRST_ARG -eq 0 ]; then # Package removal, not upgrade test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in saptune.service ; do sysv_service="${service%.*}" rm -f "/var/lib/systemd/migrated/$sysv_service" || : done fi if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_RESTART_ON_UPDATE" && . /etc/sysconfig/services test "$DISABLE_RESTART_ON_UPDATE" = yes -o \ "$DISABLE_RESTART_ON_UPDATE" = 1 && exit 0 /usr/bin/systemctl try-restart saptune.service ) || : fi fi fi:l(m1J (T9 0Hm}) 'Vt{`>l8u~d~{d%{..~`>u.`>.<5$#%AAAAA큤큤A큤A큤A큤AA큤A큤A큤AAAAAAAhwhwhwhwhwhwhwhwhxhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhxhxhw466dc65201abca405e412ef24821d908be59120755e0d0bb45ef5a61f740c7b7ed14f576f8580b4c0492a57b0440eaf9db47ec81325c3819cb21d3f4b7a7479c3da651237278d897c1683520dd5470c1f857bf83bf2093c324766fb2819cd6c5798927e6931bae8510c0b462ba16fdc794b0bb4b0d165d3be9e383e999a8fa1ba33cc97f5f24812b74caf526f89488037b16cda05fce4ececfbde0cdc913b74c2253faa452edbb43d716ae92db8179030b4cba35a77a68da6141d0c8f0ac33e3f53d656078d04228ee44c4e80d4e0be60bd2a063ffb138ba4d7d9163d7d059849d6e1ca6db3e95bb07cb247b3ab61d5cd7bf6018188656665b38c7e3bc8af5d3ceed8b1bfa8e7e13c353e43a3f55525edad0131614a19c0dade6c6f9d7b5f992c77e065576be9b62467dbf14ec943460e1cad5cbf77962ad81a9c9ac34c02f1c5db19bf1e3e644b98e2cbbb152bb3c1bfbfac70c3e14cfcfaf52a1653ac57f817c4fb8772223c6a6581d28912512538c8ef8b1afec565b880db5b1b8eb070c6f604c1e5ae8746da0979c2ccd2216d35f3ccd854c31ec90b2eb75d2bb433a6de8a72f4fe295e749ac0b436a7f4f04fb3629555462490172abad38564707a2569c9c76ce61ac0a3d0404e65425fada140752414498d4ca7fe6fcc6fc4552744630e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8559c76ce61ac0a3d0404e65425fada140752414498d4ca7fe6fcc6fc4552744630f39b26d55eccd9db247290db49f10679703901478fa813ceee48e2bd1b2b0881a595de2704fb3c1f0bfce0fcb87ceebdf7582c4a24507e7051f60178e9783d192dee9817432a5c70c88d049468f50cb8e7d1a5eb04a70528ccc1be8400c4c095beb6d7720beb8e00a95085375c90bd979140d736dd4db22bce896028e33f85ad094bf885bb5927a5191cea736e3c466f4752f9060def9a7553e96e6fe4a651ca650f746749f67dc996aad0d0712756667a83e2596de3903b40be9490f5c57bb8e74afe354eae766b4316fd6cb44d13712b26810249744bba14d04a14b04d543cace3c7f2b9cdcb8644f7eb75bccb601c670db525289b0f7f51a46c9feb51f31c0e7622b1267db9a57e6e7c22bf3c88a2629a841dacab6f2bd298150c98309f0a793d6cddef5682d4b2d62fe5ac41b2ffcfac7ec2c763aac2d28073783a71b5db9b53ada11eba289a89d5c932e1a4a3ba950737398857a19832a0bd5b7094e65545fbd673d5d44d34e312a2cb4e61667d7b9e57a09acea42e64413cb8aebcb5bf70b47af0689c99db893f50937af136225e204f037a59cd7b1f5dc6bd23b5ec4bac633a4cdf528d2899e55c320b1af27c242ab0200449a7b941bd258fda21687d2371049432f2fa3a1c07a9b0c786850a8ac1e16ab23a65c97fac98b198778a1b9bebbe81ff08129c87e220420d78b5716e9c20d2205cb7bc0cb92a634cabe046e840a131fcf8786d76a083a48410b2410b1a228a155b7d5afab88f118aae48bcd0728fabf66a0c1160b773d79260bfc1001f0b621279f249ac16b41344997aeca61c294d724bbf567f8ea49cb1fa9730786e3d990626f2c34d64ce6fb9cc2925a329ab9393480ee288ce28a9ad52792f93d430023573a8d0e610a5ad905472266ccbfeb4adcd30ea512c0da5b183ae8e085c32490b7a71509091102bf9a2959dbeb451ef625b5e279344b4d85b9c3e02de73e00eeaccf473f706161cca522ef95d83234df04604e094557d7b2180d932f20765c3ec68ae96f7e8a8e79485f3a657e760d532dc85b1f1f815ada813fc71c9fa737f554dd661f942dcae5f916a6f7c99f20e7b3afd9ba1ebcf19cb790e057d7a76505fac175114b8833b8c5f49cee6c5180d3db989e6ec5a91fb9c76a63d4369a1b9f9d0e95e73fe4a55a73ebf380a16f7eb370a3aeac0d112988d29adeeee865389fb54269edfd788197aa6ecdc7b509aacbbc82068be5e4f3ef09c9c2a1858a3db7a4278236ad3f5604279a753c232abf7cc01d74b879382ff4b623ac1bc6f90489f33784424e6bdf0422ac3adfa8cbbca94289b366397a93a1c1988971120ca9aacbe29a279fb12b314739bb0a776f90152cbdd7d1f5164d082eec8c40494b27c5eb51e7b5ab5c93a1ced93f866974fe470994353a99fc5a4bf4641c8a553d1bf69adb44dc1dddb08659e284ae3b23864d7e12b06a46053b99565569b0934b2c8585fceda159671e49c82539ca6fb3a7d1d3c69fe740224c8a3149a13208cb27064341583dba608422eefea1b2f5250194dee28d7ece4404a52bb6fd1053bbf6bfa06649a91d03df8cc53b67e51bb0d9393b23a13a12e5ac7cee942589c2b372b11cf587557a1b296c60320cd7ba7eca81a140c8c47defdd8e869f617ace2a385efc57e10da9e5a73ecd832a1227454d4ccf3fa479bf077a7a2f3cddb9d3b1cd2546761089d2d286eb9d1f3711a979508ebbbbe2bbff635638810f53e0d7f2aca19b989ad5f2b4fd43ae7b6ee647076eb60802f66fd07a5f32e0f99aaf9086b4fafa0418fa01ad71ad6e05ed8cd2394e466d410eb51542bc7563f740ab2ee0eea934eedd26d79c6addd3d26f6434a8f30a8693dee62fdd2fdb6e012dd27bd9bc7ace73cb07d77dbbf7621f8aa162abaf511d3c89b5ca9da9693a278f4d0a140708513d5327c3ce4e7c152f5a11fe5bd3b3c40f23462e6718cb796c179349ac0db2ef00ff570db28628a584715c5488f83bdf271b560d0aaf7d6b7aa1e16977f707b1073b15abc71f2ea3ffabd4e03a4ae6a4d19c81ab89e62db0fc92b023fd81edc35d61c5cf2b991b8505003ed4d979ba222a4fcdc0bd726d7b031e2d09525413203f27111e5ed618dbd4e85ed4d979ba222a4fcdc0bd726d7b031e2d09525413203f27111e5ed618dbd4e851f3499892e45092aaaa19be899a3b204dae436cf9a2a6157eae21cd01c701fc8d645fe42d21d7f2205c871ebd248a614212f604f71aaa7e4c5f63085ec587e0b0e58c4cb7fee519eef1250fa247e8ca0c3e92b57c0bcf0d107af2d358536bdd8682f0398fad7952732ff30b180be6b7967b12f1c15e8ca0e8fcf1ce078da210028cfe69eddef7aa43f8d711913cd9e3eec02ae287fec018951dacc9664e827a21f8c394024103ded05f277c147cff87ae86a92ef13600e177bdc3cc0f033b83dc6ec08cf371738f3d8febe101085b66edad8220392f3486428a26261bc6f22487704da0b0490f026cbba3e8b6a3eb993c179797457637b669d95738e47dec0b08139ebb49b1613e8bb670c8398331db76891b32e4664b441fb8be6bfd34d031de1d5640ce938bddb2fd4cb0b4f3176c5bc599833854ab1d3779b28da6386bb76fd2ce7d047babc794d2ef5bac77c7a325d1b398950054ffd66056aff6874c5ad57e760d532dc85b1f1f815ada813fc71c9fa737f554dd661f942dcae5f916a6f27eceaf2b30e822cf885e23ffbd929266ba65137e67ee3d6cd5e544af67ea09c322639b22cdac9fc09b81a8f9b4faea692ca52c217b432f3f6eb3e788a198e2d316050bcde054202f885f0c0f7014857c8510ca3fd3d993ff1a4c0aaa2664e74f2f3ae32ba1a6627c8cf8c312248ddf2a1ab35e1b4c43619e2cc6d99e125e84e90f02e9acde06b8fe5ee3803f85df3b37358f93a4a95d0af637e92b5a7351433f871917fac9f0955b1394fea829af3abeb62afe6065ccdb0c4890c72381b24139ba817d9935f3179c13e66b6132e93ed732c01675b5bdf15227cf96eb951a77e74768067dd68daf6b1bd015da87b4e85ab3bf82e9a41d5447af3344521b448cb5a63c36a73aeb772d666f2cf918d53512bbd04f31494dc2555415674c6b425e3936e3fe84597e8c5da581f205eeaf987415df857026469248580c78537264f2ad666f7c9a1c34dbca35c1e2308076c7421edf0174c6124847f7d7aeda17ed73719f9e8ea1312c8bfd1567df3b71200b38e9aec4ba98380a4e534395511081fb72ad52b322104368243c42f51d27ec9d05510ed0043612e44f8e2768fbf01b142bb73168f28a5910795483a4664726ab05b27baff804b7882a607f8ed1abf0a90ed4d979ba222a4fcdc0bd726d7b031e2d09525413203f27111e5ed618dbd4e85d82a9db46df2461c8872cd4eef2e4670611ab9e709bedab1d50a75556facd5b5d3d1040bfd8d777c887a08a25cf0b4190116929eeb841dcef3439b7583f22e909a53af82f2308ea848eecb545d69bb48dd12e40ada828701d5421fcfbbcdfbc34f4bf2daae98f1c1d41c1ae083c067d7743949dfc9b0057a1ffc0dff56bdcfd2685eb085c3fb5c4291dd84ef8e0cf50c2bbe4ac66017b342115226027ee46c39699707645af7d51706698de867190567fe2d748f4b94d568a7850772cc46a81366c9704c571ddf11993c23a1c11fcffc780afd9b60ce7d77b4e3aa037f9deb53b77435543815885d53a5b1d17604154bb3a342fd50101c35dd0fb827e8dca23957e760d532dc85b1f1f815ada813fc71c9fa737f554dd661f942dcae5f916a6fed4d979ba222a4fcdc0bd726d7b031e2d09525413203f27111e5ed618dbd4e859d1dc42ad6ba5bcdd020b4595b2ab97fca7efcb435be1bde188db3530c557ee033bdaf9e2d6bcbde2e4e613e865e403f8fe21fc621078d34c30b0bdc7f68d90396c3ba9c3e82b30b4a85892eba214f5bfe51d1bf0fbbd4ddc5ab20d13d12263be0bc9f24664d2d40081a776bf0956ee4d8b5883fdc81c04629db671ed9c792f7aca1ca85e1a143b67c08994a460dfc2d30d4b9429eed3dda6b875f4dd8464505c2e86cd543164f6cef8e0875da501b15eb66b2153f5b21d5463619ec5988e4590307c7c98f749a714e61eef72dd73a130ead5a3631acbf72af427af778a080acb403867c7456e434728993aceeb6048858bd09965d0fb80aa5a17e3e3e6fbdeb848ad8c81e2ca099080424895fd32f2198803148ae9527057478b6ecfeb7e5c60e886d3da5cfac25167e8649845c43e462bd7a8b8eb33b6cc351be12607302b590362ddd12131a4a472db74c9f5753c54b6122993d69d19f8497e59bdb616a27a2b9d45c2fe764cc84e60270794178535d8cdc165150a4abb551d4a2494abbcf71a003f5d5656f9d9350a56df4237dcf33735d2e67b42034c31a33cc21d278f36c49fd25530eb0e046a764630ae7d89c679ae9e75e9c79032c3d15d21aac3cf6service@@rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootsaptune-3.2.0-150400.15.27.9.src.rpmconfig(saptune)saptunesaptune(x86-64) @ @     /bin/bash/bin/bash/bin/sh/bin/sh/bin/sh/bin/sh/usr/bin/envconfig(saptune)coreutilscpupowerlogrotaterpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)sysctl-loggersysstatsystemdsystemdsystemdsystemdsystemduuiddvim3.2.0-150400.15.27.93.0.4-14.6.0-14.0-15.2-1234-24.424.14.3hqhw@gx@gRgIf~f-e̫@eB=d/@aaba?=@^U @^@^ @]N@]X]@]@]4@]1]\-@[Ѱ@Z@Z|;Z3@Z1@Z.s@ZY|Y@YRHYY@X @X)@X @W@WWzOWQq@W!@abriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comgboiko@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comhguo@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comhguo@suse.comhguo@suse.comhguo@suse.comhguo@suse.comhguo@suse.comhguo@suse.comhguo@suse.com- Fix missing build parameter for saptune 3.2.0, was removed by accident (bsc#1246999)- update package version of saptune to 3.2.0 * saptune version 3.2 new features and SLE16 support (jsc#PED-8163) * SLE16 - Optimized out-of-the-box experience for SAP workloads SLES for SAP Applications should have by default all tunings enabled and packages started that are common for SAP workloads. (jsc#PED-10984) * SLE16 - Tune common values for SAP workloads per default (jsc#PED-10072) * SLE16 - OS tuning for SAP with saptune on SLE 16 (jsc#SAPSOL-526) * SLE16 - preparing a SAP Solution 'SAP_Base' with one Note '1275776' to support base tuning on SLES and SLES4SAP 16. (jsc#SAPSOL-530) * SLE16 - implement new start behavior for saptune on 16. If the saptune package gets installed (by pattern or manually) it calls 'saptune solution apply SAP_Base' to initiate the base tuning. A customer can change this base tuning after package installation by 'saptune solution change ' or by 'saptune revert all' and 'saptune solution apply ' See man page saptune(7) for details (jsc#SAPSOL-533) * SLE16 - remove saptune-migrate man page (jsc#SAPSOL-347) * SLE16 - remove saptune daemon commands (jsc#SAPSOL-343) * SLE16 - remove saptune simulate commands (jsc#SAPSOL-345) * SLE16 - remove support for setting PAM limits (jsc#TEAM-10049, jsc#TEAM-8744) * SLE16 - Support dot releases for os tags and rpm version check (jsc#SAPSOL-568) * SLE16 - remove support for the v1 Custom Note name format (jsc#SAPSOL-532) * SLE16 - remove support for the comment-style version header format in vendor/custom Notes (jsc#SAPSOL-604) * SLE16 - drop support for the comment-style version headers (jsc#SAPSOL-605) * SLE16 - adapt saptune_check script to the new main configuration file location (bsc#1244077) * Enhanced the saptune supportconfig plugin, added 'saptune status', 'saptune note verify', /var/log/zypp, 'saptune note list', 'saptune solution list', 'saptune --format json saptune check', 'saptune --format json note list', 'saptune --format json solution list', 'saptune --format json status' and 'saptune --format json note verify' (jsc#SAPSOL-169) * Refresh changed Note parameter. This action is currently in state 'experimental' (jsc#TEAM-3943) * Add detection of offline CPUs when setting/verify governor or force_latency settings (bsc#1221020, jsc#TEAM-8427) * Enhance CPU handling with additional warnings and skip governor settings, if intel_idle and intel_pstate are disabled (jsc#TEAM-3759, jsc#TEAM-8427) * Set energy perf bias (EPB) even if secure boot is enabled, if the used cpupower command supports the operation. (bsc#1224801) * Fix Nvme disk detection (bsc#1233126) * Fix an index error in the rpm section code and explain the compliance/uncompliance state of a rpm version in the man page (bsc#1239841) * Check if orphaned overwrites exist. If an override file exists in /etc/saptune/override, but no related Note definition file or solution definition can be found in the working area /var/lib/saptune/working/ or in the custom/vendor directory /etc/saptune/extra, a warning message is printed and logged. Additional a line about orphaned overrides is added to the bottom of the 'saptune status' output. (jsc#TEAM-6598) * saptune alternatives should not listed as non-compliant (jsc#TEAM-8719) * Remove '(no change)' leftover for 'saptune note verify' (jsc#TEAM-9136) * Add json support to 'saptune check' Enhance json schema and update to version 1.1 (jsc#TEAM-8959) * Force colored output by using the global option '--force-color' With that it will be possible to override the color-suppressing, if a pipe has been detected as there are use cases (e.g. piping into less) where the color codes can be useful. (jsc#TEAM-9205) * Add new command 'saptune configure ' to change values in the saptune config file. (jsc#TEAM-8703) * Add new command 'saptune configure reset' to reset the saptune configuration. This will revert the tuning (revert all) and reset the saptune configuration file back to the installation default. (jsc#SAPSOL-331) * Add new command 'saptune configure TrentoASDP ' to configure the discovery interval for saptune on Trento. (jsc#SAPSOL-117) * Tag handling clarification in the man page. The same tag cannot be used multiple times with different values in one section of a Note definition file, because all tags of a section are concatenated by AND (and not OR). (jsc#TEAM-9243) * Add new tag 'pmu_name' for CPU platform selection. May be helpful for special FORCE_LATENCY settings depending on the used CPU platform to get optimal performance. As the values are taken from /sys/devices/cpu/caps/pmu_name, it's an Intel CPU only feature for now. (jsc#TEAM-7073) * Add new tag 'virt' for virtualization type selection. Valid values are 'vm', 'chroot' and 'container' as reported by '/usr/bin/systemd-detect-virt -v|-c|-r' (jsc#TEAM-6070) * Add IBM Cloud VPC (not IBM Cloud Classic) detection used for tag 'csp' (jsc#SAPSOL-224) * Add additional actions for 'verify' 'saptune note verify applied' and 'saptune verify applied' (jsc#TEAM-9204) * For internal used calculations increase the logging information for the used parameters, values and results (jsc#SAPSOL-168) * Adjust return code from 1 to 128 if a wrong saptune version is detected. (jsc#SAPSOL-209) * Add systemd hardening to the saptune systemd service file starting 15SP4 (jsc#TEAM-7425) * Add new global option '--fun'. If set, the 'yes', 'no' in the compliant column of 'saptune note verify' is replaced by a smiley. (jsc#SAPSOL-236) * start reducing duplicate warning and info messages (jsc#SAPSOL-669) * Adapt man page and help output for global option '--fun' (jsc#SAPSOL-272) * Add list of exit codes to man page saptune(8) (jsc#TEAM-9836) * man pages - add warning about race condition of systemd units during system boot. saptune-note.5 already contained a description, now saptune.8 was enhanced as well. (bsc#1190508) * Add new man page saptune-solution(5) (jsc#TEAM-9870) * Add new man page saptune(7) describing the new tuning behavior during package installation (jsc#SAPSOL-533) * SLE16 - add new SAP Note 3565382 and 3577842 * SLE16 - add Note 3577842 to all HANA related solutions (bsc#1240598) * SLE16 - remove Note 1771258 (jsc#TEAM-10049) * SLE16 - remove ASE Solution and Notes 1680803 and 1805750 (jsc#SAPSOL-531) * SLE12/15 - deprecate Notes 1680803,1805750 and Solution SAP-ASE The Note and the Solution might get removed in a future saptune version (jsc#SAPSOL-419) * SLE12/15 - deprecate Note 1771258 (jsc#TEAM-8744) * SAP Note 2684254 and 2205917 Intel architecture related settings (currently section 'cpu' and 'grub') are now tagged with 'arch=x86_64' in the Note definition file to no longer confuse customers on other architectures with 'useless' warnings and footnotes. And by adding the additional tag 'virt=bare-metal' users of virtual machines will also no longer be confused by these footnotes and warnings. (jsc#TEAM-9235) * SAP Note 1984787 updated to Version 43 SAP Note 2578899 updated to Version 53 SAP Note 3024346 updated to Version 14 but without parameter value changes, only house keeping of the version section and comment updates - add obsoletes/provides for sapconf to support the update/move from sapconf to saptune on plain SLES - change Requires: /usr/bin/cpupower to Requires: cpupower and Requires: /usr/bin/md5sum to Requires: coreutils (jsc#TEAM-8743) - add support for SLE16 Installation and activation of SAP base tuning Update to SLE16- build with -buildmode=pie (bsc#1239942)- update package version of saptune to 3.1.5 * on Azure cloud create a saptune service drop-in file to start saptune after cloud-final.service (bsc#1235824, jsc#SAPSOL-523) * fix NVMe device detection and update man page saptune-note.5 (bsc#1233126) * fix wrong error handling, if system limits.conf file is missing and skip reading system limits.conf file on SLES 16 as it can not contain customer changes (bsc#1236232) * fix value for grub transparent_hugepage entries in Note 2684254 (bsc#1235579)- update package version of saptune to 3.1.4 * update man page 'saptune.8'. add warning about race condition of systemd units during system boot. (bsc#1190508) * for all note definition files we changed the link location for the related SAP Notes from 'launchpad.support.sap.com' to the new 'me.sap.com' location. (bsc#1232212) * SAP Note 1656250 updated to Version 69 SAP Note 1805750 updated to Version 10 SAP Note 2993054 updated to Version 3 but without parameter value changes, only house keeping of the version section (bsc#1232212) * SAP Note 1680803 updated to Version 28 SAP Note 2382421 updated to Version 47 SAP Note 2578899 updated to Version 50 SAP Note 2684254 updated to Version 24 SAP Note 3024346 updated to Version 12 (bsc#1232212) * With SAP Note 2684254 updated to Version 24 the setting of transparent hugepages (THP) will change from 'never' to 'madvise' for systems running 15SP5 and higher.- update package version of saptune to 3.1.3 * remove note 1868829 from solution S4HANA-APPSERVER as it is a HANA DB note and was added by accident (bsc#1226093) * for verify and simulate output table - wrap content of the columns 'actual', 'expected' and 'override', if they exceed a width of 30 characters (e.g. net.ipv4.ip_local_reserved_ports) * support inline comments in /etc/sysconfig/saptune * change handling of the performance options. Check, if the settings are supported in the get-Functions too. This should fix the problem with some special Azure VMs (E20d_v5) on newer SLES SPs (jsc#SAPSOL-110) * SAP Note 2578899 updated to Version 48 setting kernel.pid_max to 4194304 and start sysctl-logger service- add require of package sysctl-logger for 15SP4 and 15SP5 too (jsc#PED-6220)- update package version of saptune to 3.1.2 * to support setups with saptune monitoring and heavy automation we limited the setting of our saptune lock to commands having the potential to change anything in the system. (bsc#1219500) * fix timestamp in log messages of saptune * remove redundant version information in header comment of note definition files * SAP Note 1656250 updated to Version 63 SAP Note 1771258 updated to Version 8 SAP Note 2382421 updated to Version 45 SAP Note 3024346 updated to Version 10 but without parameter value changes, only house keeping of the version section and comment updates * SAP Note 1984787 updated to Version 42 SAP Note 2578899 updated to Version 47 - add require of package sysctl-logger for 15SP6 (jsc#PED-5025)- update package version of saptune to 3.1.1 * typo in logfile directory name creates /varlog/saptune instead of /var/log/saptune (bsc#1215969) * SAP Note 2382421 fix missing handling for Azure systems regarding parameter 'net.ipv4.tcp_timestamps'. This exclude setting was left out during the last SAP Note update by mistake. * add parameter IGNORE_RELOAD to /etc/sysconfig/saptune to prevent saptune from stopping and starting the system tuning during package update Related to sapconf bug bsc#1209408. - create a flag file in preinstall and remove it in posttrans of the package installation to inform saptune that currently a package installation/update takes place so that some special situations can be handled as expected.- update package version of saptune to 3.1.0 * machine readable interfaces for saptune add json output support related json v1 schemas can be found after installation on the system at /usr/share/saptune/schemas/1.0/ (jsc#PED-2194, jsc#PED-2195, jsc#SLE-23696) * enhance the identification of the cloud service provider (jsc#SLE-23779) * add a command line syntax check * colorized and filtered output for 'saptune note verify' It is now possible to uses a 'color scheme' for the output to highlight the non-compliant parameter or to limit the verify output to show only non-compliant parameter. (jsc#SLE-23727) * add action 'saptune solution change' to switch to a new solution even that another solution was already applied. It's basically a 'revert OLDSOLUTION' && 'apply NEWSOLUTION'. This will change the Note order in case of additional applied Notes, but this is intended. The confirmation for the revert of the old solution can be suppressed by '--force' (jsc#PED-2196) * introduce a Trento naming convention for custom solutions in the saptune man page to support trento checks. (jsc#PED-4118) * deprecate action 'saptune note|solution simulate'. The action might get removed in a future saptune version (jsc#PED-2199) * deprecate support for the v1 vendor or custom specific Note definition file format (jsc#SLE-23725) * detect virtualization environment by 'systemd-detect-virt' and add the information to 'saptune status'. (jsc#SLE-23885) * enhance saptune with the new action 'check' to directly call the external check script '/usr/sbin/saptune_check'. (jsc#SLE-23726) * de-deprecate the MAXDB solution definition. It is still active supported by SAP. And add solution NETWEAVER+MAXDB (jsc#SLE-23724) * support inline comments in the Note definition files (jsc#SLE-23729) * rework Note representation in 'saptune status' output (jsc#SLE-24530) * fix problem with 'verify' output, if a sysctl parameter is empty on the system (bsc#1199527) * add hint to the manual page of saptune(8) regarding 'missing' line feed for 'saptune note applied' and 'saptune note enabled' It's intended. (bsc#1193714) * rework the version section to make it clear, which information needs to be provided (jsc#SLE-23722) * add more information to 'saptune status': differ between 'enabled' and 'applied' Solutions and add the related Notes. differ between Notes and Solutions in the staging area. rename 'system state' line to 'systemd system state' to prevent misunderstandings. add virtualisation information. * add tuning state to 'saptune status' output. The check of the tuning state (an internal 'verify' operation) can be skipped by using the flag '--non-compliance-check'. In this case the tuning state will be reported as unknown (checking disabled) 'saptune status' will exit with a return code of '4', if the saptune service is enabled, the system is tuned, but the tuning state is 'not compliant'. (jsc#SLE-24928) * add support for the IBM Power architecture to the vendor and model section tagging (jsc#SLE-23824) * add new SAP Note 1868829 to set fs.aio-max-nr and add it to the HANADB related solutions for SLE12 and SLE15. * SAP Note 3024346 updated to Version 6 SAP Note 1557506 updated to Version 16 SAP Note 1656250 updated to Version 46 SAP Note 1805750 updated to Version 9 SAP Note 2161991 updated to Version 28 SAP Note 2205917 updated to Version 63 SAP Note 2382421 updated to Version 45 SAP Note 2534844 updated to Version 15 SAP Note BOBJ updated to Version 1 but without parameter value changes, only house keeping of the version section and comment updates * SAP Note 1984787 updated to Version 40 SAP Note 2578899 updated to Version 46 SAP Note 2684254 updated to Version 23 SAP Note 1680803 updated to Version 27 includes version 3.1 of 'SAP Applications on SAP Adaptive Server Enterprise - Best Practices for Migration and Runtime' * Solution 'SAP-ASE' changed - remove SAP Note 1410736. The best practice document (version 3.1) for ASE was changed and the SAP Note 1410736 is no longer referenced. Instead the parameter 'net.ipv4.tcp_keepalive_time' is set in SAP Note 1680803 (the ASE SAP Note) directly. * introduce an additional parameter 'SKIP_SYSCTL_FILES' in the /etc/sysconfig/saptune configuration file, which contains a comma separated list of sysctl.conf files or directories containing sysctl.conf files, which should be excluded from the 'additional defined' WARNING messages. Default is SKIP_SYSCTL_FILES="/boot" to skip the WARNINGS for '/boot/sysctl.conf-' - check in preinstall and posttrans of the package installation, if the active tuned profile is still 'saptune', even that this profile no longer exists. If yes, try to remove it. (bsc#1194688)- update package version of saptune to 3.0.2 - avoid excluding LVM slaves when getting valid block devices (bsc#1194299) - fix 'not compliant' state for energy_perf_bias on Power systems and suppress misleading error message regarding missing 'mokutil' (bsc#1193435) - fix wrong behaviour of 'saptune revert all', if the saptune service was stopped between the two commands 'apply' and 'revert all' - 'saptune service enablestart|disablestop' now always perform both actions and does no longer stop working, if the service is already started|stopped. (bsc#1193241) - restrict the sys section of the AWS note 1656250 to the availability of a nvme block device to support AWS x1e instances too. sys section definition of Note 1656250 changed. (bsc#1192029) - abandon the dependency to 'mokutil' by relying on sysfs to detect a secure boot environment. Related to bsc#1193435 - support /etc/fstab entries with 4 instead of 6 fields as these are valid entries. Change error handling from 'panic' to error log messages. (bsc#1193580) - enhance man page 'saptune.8'. Add entry 'configured Note' and some more descriptions of the entries from 'saptune service status' (bsc#1192697) - as the Power systems (hardware architecture 'ppc64le') does not support files in '/sys/class/dmi' (this directory is not available on the 'ppc64le' hardware architecture) some of our section 'tags' will not work. Add some additional log messages to identify the cause and add a hint to the man page. - fix block device settings (e.g. NRREQ) for multipath devices (bsc#1193576) - 'saptune verify' will now report a non existing sysctl or sys parameter as 'not available on the system' (footnote) and this parameter will not affect the compliance state. But a warning is displayed to raise attention to may be typos in the parameter name. - 'saptune status' now reports the 'real' unit state, no mapping of not running (inactive) service to simply 'stopped' any more. (bsc#1194334)- update package version of saptune to 3.0.1 - fix the scheduler settings for multi path devices and suppress missleading warning messages regarding vendor and model information during block device detection (bsc#1192460) - fix override of custom solutions (bsc#1192062) - add missing update function for enabled solutions and add a special fix to correct the 3.0.0 behavior (bsc#1192053) - saptune_check - degraded system is no longer considered an error (bsc#1192272) - log missing model and vendor information to the saptune log file (bsc#1190509)- update package version of saptune to 3.0.0 This will be additional reflected in the saptune version found in /etc/sysconfig/saptune (SAPTUNE_VERSION) So now we will have saptune version 3 - saptune version 3 Strengthen configuration process with staging, checks of external changes and expansion of automation to new platforms (Azure, AWS) and hardware specifics (jsc#SLE-21029 and jsc#SLE-20985) - remove saptune version 1 (jsc#SLE-10823 and jsc#SLE-10842) - remove usage of tuned from saptune Add an own systemd service file for saptune to start/stop tuning of parameter values during a reboot of the system. Add a new saptune action 'service' to handle the saptune.service supporting start/stop/enable/disable/status a.s.m. The saptune action 'daemon', which handled tuned.service in the past, is now flagged as 'deprecated' and internally linked to the new action 'service' (jsc#SLE-5589, jsc#SLE-5588, jsc#SLE-6457) - add a sanity check to detect Note definition files which do not exist anymore, because they were renamed or deleted, but without reverting them before. saptune will now print an error message, remove the Note from the tracking variables in /etc/sysconfig/saptune and try to revert the related parameter settings. (bsc#1149205) - check, if json input file is empty and handle some left-over files from the migration from saptune v1 to saptune v2 (bsc#1167618) - To support system parameters only relevant for specific SLES releases, service packs and/or hardware architectures saptune now supports 'tagged' sections inside the Note definition files. (jsc#SLE-13246, jsc#SLE-13245) - new kernel requirement for Power added to SAP-Note 2205917 and 2684254 SAP Note 2205917 updated to Version 61 SAP Note 2684254 updated to Version 15 (bsc#1167416) - SAP Note 2382421 updated to Version 37 and move all 'not-well-defined' parameters from the 'reminder' section into the 'sysctl' section, but with 'empty' values. Use an override file to define the values fitting your system requirements (bsc#1170672) - support empty parameter values in the Note definition files and not only in the override file. This is needed for the support of SAP Notes like 2382421, so that the customer is able to simply use an override file to define some special parameters instead of using a customer specific Note definition file. needed for bsc#1170672 (jsc#TEAM-1702) - report an 'error' instead of 'info' and set the exit code to '1', if we reject the apply of a solution (bsc#1167213) - Skip perf bias change if secure boot is enabled When a system is in lockdown mode, i.e., Secure Boot is enabled, MSR cannot be altered in user-space. So check, if Secure Boot is enabled using the mokutil utility and skip setting the perf bias in case it is. (bsc#1176243) - rework the internal block device handling to speed up the apply of block device related tunings on systems with a high number of block devices. (bsc#1178207) - change block device handling to handle multipath devices correctly. Only the DM multipath devices will be used for the settings, but not its paths. (bsc#1179275) - fixed wrong comparison used for setting FORCE_LATENCY (bsc#1185702) - add keyword 'all' to the 'rpm' section description in the man page saptune-note(5) (bsc#1182287) - support note definition versions containing digits, upper-case and lower-case letters, dots, underscores, minus and plus signs. (bsc#1182289) - fixed issue with 'verify' operation and parameter 'VSZ_TMPFS_PERCENT'. As this parameter is only used to calculate the value of 'ShmFileSystemSizeMB' (if it is not set to a value >0 in the Note definition file) it will not be checked and compared during the saptune operation 'verify'. A footnote is pointing this out. (bsc#1182009) - SAP Note 1771258 update nofile values (bsc#1164720) - SAP Note 2684254 updated to Version 20 SAP Note 2578899 updated to Version 39 SAP Note 1680803 updated to Version 26 - enhancements for saptune version 3 All jsc#TEAM-* entries mentioned below are related to this rework (jsc#SLE-16972) - Implement a lock to avoid multiple instances of saptune running in parallel. (jsc#TEAM-1700) - Support for non-colorized output If redirecting the output from saptune to a pipe, you no longer need to deal with the 'ugly' control sequences for the colorized output. (jsc#TEAM-1679) - Add enable/disable for systemd units and support all systemd unit types in section [service] (jsc#TEAM-1701) - remove script /usr/share/doc/packages/saptune/sapconf2saptune and the associated man page (jsc#TEAM-1707) - implement staging of Note definition file and solution definitions. The idea is to freeze the saptune configuration to avoid config changes on package update when adding/removing/changing notes or solutions within the package (jsc#TEAM-1844) - support custom solutions and override files for solutions. Partners and customers will now be able to define their own solution definitions by using files in /etc/saptune/extra or to override the shipped solution definitions by using override files in /etc/saptune/override (jsc#TEAM-1706) - support for device specific configurations only supported for the [block] section, tags are 'vendor' and 'model' to support special block devices of a dedicated hardware vendor or a dedicated hardware model (jsc#TEAM-1728) - add support for AZURE cloud (SAP Note 2993054) (jsc#TEAM-2676) - add support for AWS cloud (SAP Note 1656250) (jsc#TEAM-1754 and jsc#TEAM-1755) - add NVMe support to the block device handling to support AWS (jsc#TEAM-2675) - add SAP Note 3024346 (a NetApp note) (jsc#TEAM-3454) - rework daemon and service actions (jsc#TEAM-3154) - add support for 'read_ahead_kb' and 'max_sectors_kb' to the [block] section (jsc#TEAM-1699) - add a warning to the reminder section of SAP Note 2382421 regarding iSCSI devices and setting of 'net.ipv4.tcp_syn_retries' (jsc#TEAM-1705) - for the actions 'note customise' and 'note create' check, if the customer has changed something during the editor session. If not, remove the temporary created note definition file. (jsc#TEAM-825) - add support for [sys] section and handle double configurations for parameters defined in the [sys] section (jsc#TEAM-3342) - check system sysctl config files as mentioned in the comments of /etc/sysctl.conf and in man page sysctl.conf(5) for sysctl parameters currently set by saptune notes. Print a warning and a footnote for 'verify' and 'customize'. (jsc#TEAM-1696) - add support for [filesystem] section only check filesystem mount options, not modify. Starting with filesystem type 'xfs' (jsc#TEAM-4093) - add SAP Note 900929 for SAP Netweaver workloads. It's the equivalent to the HANA Note 1980196. (jsc#TEAM-4386) - mv state files from /var/lib/saptune to /run/saptune to solve the problem of state files surviving a reboot. - add /sbin/saptune_check - add the description of the solution definitions shipped with saptune to the man page saptune(8) (jsc#TEAM-4260)- update version of saptune v2 to 2.0.3 - changes to the UserTasksMax handling in saptune In SLE15 the limit is removed from the systemd login manager and therefore the setting is no longer supported in SLE15 by saptune. On a system running SLE12 we do not restart the logind service, but try to reload the new configuration after creating or removing the drop-in file for UserTasksMax by using 'systemctl reload-or-try-restart systemd-logind' as display managers do not like a restart of the logind service. (bsc#1161791) - add commands for listing enabled Notes/Solutions to saptune (bsc#1160564) - correct typo in the year in the man page headline of man page saptune-note(5) - SAP Note 1410736 updated to Version 6 correct typo net.ipv4.tcp_probes to net.ipv4.tcp_keepalive_probes- if a parameter is not supported by the system, the note action 'verify' will no longer report this as an error even if the value is not compliant. Additionally if there is a non compliant 'grub' parameter, which has a compliant 'alternative' setting availabel (see man page saptune-note(5) for details), the note action 'verify' will no longer report this as an error (bsc#1159671)- remove no longer needed and now misleading message at the end of note action 'revert'. - check, if sapconf service is available before disabling this service during 'saptune daemon start' (bsc#1156049)- add action 'delete' to the 'note' operation to delete a customer or vendor specific Note definition file including the corresponding override file if available. A confirmation is needed to finish the action. add action 'rename' to the 'note' operation to rename a customer or vendor specific Note definition file to a new name. If a corresponding override file is available, this file will be renamed too. A confirmation is needed to finish the action. If the Note is already applied, the action will be terminated with the information, that the Note first needs to be reverted before it can be deleted or renamed. (jsc#SLE-9283)- Inform the customer that - by intention - the command 'saptune note customise ' does not apply changes immediately. It just changes the configuration in the 'override' file. These changes have to be applied in a second step. This is explained in the man page saptune_v2(8) and a message is printed in the logs and on the screen to inform the customer. (bsc#1142467)- Add warning to man page, not to rename/remove/modify active configurations (bsc#1149002)- update version of saptune v2 to 2.0.2 - support multi-queue I/O scheduler for block devices (bsc#1152598)- check, if the directory /etc/security/limits.d exists before writing the limits drop-in file. If not, create it. - add the '--no-pager' option to 'systemctl --list-unit-files' to get all services at once. - add missing search pattern to the update helper script to find all old and superfluous notes during upgrade from SLE12 to SLE15 For the daemon operations do not exit with an error, if a note definition file does not exist. Instead only log and print an error message, but continue with applying the other notes (bsc#1142526)- on 12SP1 and 12SP2 the directory /etc/security/limits.d may not exist. So create the missing directory during postinstall of the package.- update version of saptune v2 to 2.0.1 - update version of saptune v1 to 1.1.9 for migration purposes - resetting all values to clean the system during package removal - bugfixing saptune version 1: fix saptune issues with /etc/security/limits.conf (bsc#1124485) add deprecated message to the description of some notes set scheduler for note SUSE-GUIDE-01 correctly (bsc#1123808) No additional improvements or upgrades planned for saptune v1 For new features or current SAP Note settings please migrate to saptune v2. - support migration from saptune v1 to saptune v2 ship both versions of saptune in one package to support a smooth migration controlled by the customer. see man saptune-migrate(5) for more information - support note name changes and note deletion during update of saptune v2 from SLE12 to SLE15 - support different SAP Note definitions and solution definitions related to the used operation system version (distinguish between SLE12 and SLE15 at the moment) - Remove calculation of optimized values, only set the values from the configuration file irrespective of the current system value. Current system value can be increase or decrease. ATTENTION: saptune no longer respects higher system values. Use the override option to change the values of the Note definition files, if needed (bsc#1124488) - mark the Notes SUSE-GUIDE-01 and SUSE-GUIDE-02 as deprecated in saptune v1 and remove these Note definitions from saptune v2 (bsc#1116799) - add support helper script sapconf2saptune and the man page - add new man pages saptune_v1.8, saptune_v2.8, saptune-note.5 and saptune-migrate.7 rewrite man page saptune.8 - add bash-completion for saptune - add action 'show' to the 'note' operation to print content of the note definition file to stdout - add new action 'create' to support the customer/vendor while creating a vendor or customer specific file in /etc/saptune/extra using the template file /usr/share/saptune/NoteTemplate.conf - simplify file name syntax for the vendor files available in /etc/saptune/extra. Old file names still valid and supported. Add header support (version, date, description) for the vendor files available in /etc/saptune/extra as already available for the note definition files in /usr/share/saptune/notes - no longer write or remove entries from /etc/security/limits.conf. Instead add or remove drop-in files in /etc/security/limits.d The filename syntax for the drop-in files /etc/security/limits.d is saptune---.conf The limits entry syntax inside the Note definition files changed to support more than one limits settings in the definition file (bsc#1128322) - preserve comment sections of the security limits file /etc/security/limits.conf. Especially, if this is the only content of the file. (bsc#1124485) - work with the current Note definition file to define the pagecache settings and not with the default file rename PAGECACHE_LIMIT_IGNORE_DIRTY to the correct sysctl name vm.pagecache_limit_ignore_dirty (bsc#1126220) - setting of UserTaskMax is not done in the postinstall of the package. It's now done by applying the related SAP Notes. (bsc#1124489) - starting to support severities INFO, WARNING, ERROR and DEBUG for the logging and add a defined format for the log messages - remove saptune as active tuned profile during action 'saptune daemon stop' - start/stop services, if requested by SAP Notes, but do not enable/disable these services (bsc#1128325) - adapt the parameter oriented save state file handling (store and revert) to the special needs of the security limits parameter (bsc#1124485) - disable parameter settings using an override file (bsc#1124486) - store the order of the note as they are applied to get the same system tuning result after a system reboot as before - correct the revert of the vm.dirty parameters by handling their counterpart parameters in addition. (bsc#1124487) - adjust operation customize to the new configuration files and override location and enable customize option for vendor and customer specific files in /etc/saptune/extra (bsc#1124487) - Change output format of the operations list, verify and simulate (bsc#1124487) - Display footnotes during 'verify' and 'simulate' (bsc#1124487) - print current applied note order at the end of 'saptune note list' and 'saptune note verify' - remove Netweaver formula for page cache calculation. Use the HANA approach '2% system memory' for both - display a warning message, if a [block] section is found in the Note definition file because on systems with a huge number of block devices this operation may take some time - Add force_latency handling to 'cpu' section. Use the files in /sys/devices/system/cpu/cpu* instead of /dev/cpu_dma_latency. Remove the parameter from the tuned.conf file and add it to the SAP note files '1984787' and '2205917' - Add action 'saptune revert all' and add parameter based saved state files to support proper revert functionality (bsc#1124487) - Add override file handling for the solution definition using /etc/saptune/override/solution (bsc#1124486) - Read solution definition from file /usr/share/saptune/solution instead of static coding inside of saptune. (bsc#1124486) - tag deprecated solutions during list operation - allow only ONE solution to be applied - new solution definitions as discussed with SAP and Alliance team - support solution names with '+' - make sure a note, which is part of an applied solution definition, but was reverted manually later, will NOT applied again after a system reboot. - One configuration file per SAP Note (bsc#1124486) - add new SAP Notes and adapt content of SAP Notes - Handle different locations of the new configuration files (/usr/share/saptune/note, /etc/saptune/extra) (bsc#1124486) - Allow parameter override by the customer (bsc#1124486) - Expand section handling of the 'ini file' handler to handle the new configuration file entries. Supported sections: version, reminder, login, mem, vm, block, limits, sysctl, pagecache, cpu, service, rpm, grub (bsc#1124486)- remove new line from println arg list of main.go to support newer go versions. (bsc#1120741) - update version to 1.1.8- never ever stop or disable uuidd.socket in saptune (bsc#1100107) - update version to 1.1.7- correct content of /etc/systemd/logind.conf.d/sap.conf. (bsc#1089864) - improve error messages and exclude special block devices from 'number of request' settings. Improve the verify option for the block devices. (bsc#1079599)- Fix a typo in package description. (bsc#1053374) - Update from version 1.1.3 to 1.1.4- Start to support multiqueue schedulers. Writing a message to the log file, if a block device does not support the choosen scheduler. (bsc#1072562)- Check, if pagecache limit is available at the system. If yes, add SAP note 1557506 to the note list and the solution definition of saptune. If not, skip SAP note 1557506 silently (bsc#1071539, fate#323778)- Skip using tuned-adm command inside of saptune. Instead write 'saptune' profile directly to /etc/tuned/active_profile and enable and start the tuned service Remove the workaround for the tuned problem with section [cpu] (bsc#1060514)- workaround for a tuned problem with section [cpu] (bsc#1060514)- support customer entries in /etc/security/limits.conf containing values like 'unlimited' instead of an integer value. (bsc#1060469) - change error handling and redirect error messages to stderr instead of stdout. (bsc#1050521)- Fix a typo in package description. (bsc#1053374)- Amend logind's behaviour (bsc#1031355, bsc#1039309, bsc#1043844)- update man page to reflect the changes for bsc#1026172- add solution SAP ASE (Sybase) and SAP Business OBJects (BOBJ) according to fate#320359.- Support of vendor specific tune files located in /etc/saptune/extra (bsc#1026172).- Tune a PowerPC little endian system in a way similar to x86 system. Bump version to 1.0.5 to fix (bsc#1009529).- Fix processing of CLI parameter "--help" (bsc#1006114). - Fix startup failure caused by absence of sapconf package (bsc#1006187).- Avoid conflicting with sysconfig path of sapconf. (bsc#988186) Bump versin to 1.0.3.- Remove conflict against sapconf to resolve bsc#988186. Bump version to 1.0.2.- Exclusively build on X86_64 and PPC64le. Continue with fate#320360, fate#320361, fate#320362, fate#320633.- Remove ExclusiveArch. - Control uuidd as part of the tuning process. - Minor changes in the wording of CLI program output. - saptune conflicts with sapconf. - Bump version to 1.0.1. - fate#320360, fate#320361, fate#320362, fate#320633.- First revision. Implement fate#320360, fate#320361, fate#320362, fate#320633./bin/sh/bin/sh/bin/sh/bin/shh03-ch2a 1755028344  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~3.2.0-150400.15.27.93.2.0-150400.15.27.93.2.0-150400.15.27.9 saptunesaptuneextraoverridesupportconfigpluginssaptunesaptune.servicercsaptunesaptunesaptune_checksaptunesysconfig.saptunesaptune-note.5.gzsaptune-solution.5.gzsaptune-migrate.7.gzsaptune.7.gzsaptune.8.gzsaptuneNoteTemplate.confSolutionTemplate.confdeprecated168080317712581805750SAP-ASE.solnotes14107361656250168080317712581805750186882919801962161991238242125348442578899268425429930543024346900929941735SAP_BOBJschemas1.1saptune_check.schema.jsonsaptune_configure.schema.jsonsaptune_configure_reset.schema.jsonsaptune_configure_show.schema.jsonsaptune_daemon_start.schema.jsonsaptune_daemon_status.schema.jsonsaptune_daemon_stop.schema.jsonsaptune_help.schema.jsonsaptune_invalid.schema.jsonsaptune_lock_remove.schema.jsonsaptune_log_set.schema.jsonsaptune_log_status.schema.jsonsaptune_note_applied.schema.jsonsaptune_note_apply.schema.jsonsaptune_note_create.schema.jsonsaptune_note_customise.schema.jsonsaptune_note_customize.schema.jsonsaptune_note_delete.schema.jsonsaptune_note_edit.schema.jsonsaptune_note_enabled.schema.jsonsaptune_note_list.schema.jsonsaptune_note_refresh.schema.jsonsaptune_note_rename.schema.jsonsaptune_note_revert.schema.jsonsaptune_note_revert_all.schema.jsonsaptune_note_revertall.schema.jsonsaptune_note_show.schema.jsonsaptune_note_simulate.schema.jsonsaptune_note_verify.schema.jsonsaptune_note_verify_applied.schema.jsonsaptune_refresh_applied.schema.jsonsaptune_revert_all.schema.jsonsaptune_service_apply.schema.jsonsaptune_service_disable.schema.jsonsaptune_service_disablestop.schema.jsonsaptune_service_enable.schema.jsonsaptune_service_enablestart.schema.jsonsaptune_service_reload.schema.jsonsaptune_service_restart.schema.jsonsaptune_service_revert.schema.jsonsaptune_service_start.schema.jsonsaptune_service_status.schema.jsonsaptune_service_stop.schema.jsonsaptune_service_takeover.schema.jsonsaptune_solution_applied.schema.jsonsaptune_solution_apply.schema.jsonsaptune_solution_change.schema.jsonsaptune_solution_create.schema.jsonsaptune_solution_delete.schema.jsonsaptune_solution_edit.schema.jsonsaptune_solution_enabled.schema.jsonsaptune_solution_list.schema.jsonsaptune_solution_rename.schema.jsonsaptune_solution_revert.schema.jsonsaptune_solution_show.schema.jsonsaptune_solution_simulate.schema.jsonsaptune_solution_verify.schema.jsonsaptune_staging_analysis.schema.jsonsaptune_staging_diff.schema.jsonsaptune_staging_disable.schema.jsonsaptune_staging_enable.schema.jsonsaptune_staging_is-enabled.schema.jsonsaptune_staging_list.schema.jsonsaptune_staging_release.schema.jsonsaptune_staging_status.schema.jsonsaptune_status.schema.jsonsaptune_verify_applied.schema.jsonsaptune_version.schema.jsonscripts.updhelpupd_helperupd_mansolsBOBJ.solHANA.solMAXDB.solNETWEAVER+HANA.solNETWEAVER+MAXDB.solNETWEAVER.solS4HANA-APP+DB.solS4HANA-APPSERVER.solS4HANA-DBSERVER.solSAP-ASE.solsaptunestaginglatestworkingnotessolssaptune/etc/logrotate.d//etc//etc/saptune//usr/lib//usr/lib/supportconfig//usr/lib/supportconfig/plugins//usr/lib/systemd/system//usr/sbin//usr/share/bash-completion/completions//usr/share/fillup-templates//usr/share/man/man5//usr/share/man/man7//usr/share/man/man8//usr/share//usr/share/saptune//usr/share/saptune/deprecated//usr/share/saptune/notes//usr/share/saptune/schemas//usr/share/saptune/schemas/1.1//usr/share/saptune/scripts//usr/share/saptune/sols//var/lib//var/lib/saptune//var/lib/saptune/staging//var/lib/saptune/working//var/log/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:39868/SUSE_SLE-15-SP4_Update/f78b3a36fe1305629a0c09946a9de9ac-saptune.SUSE_SLE-15-SP4_Updatedrpmxz5x86_64-suse-linux  ASCII textdirectoryBourne-Again shell script, ASCII text executableELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e0daf2d42a4b2e654be48a5202f05f2a76fac23c, strippedBourne-Again shell script, UTF-8 Unicode text executable, with very long linestroff or preprocessor input, ASCII text, with very long lines (gzip compressed data, max compression, from Unix)troff or preprocessor input, UTF-8 Unicode text (gzip compressed data, max compression, from Unix)emptyUTF-8 Unicode textWindows setup INFormation, ASCII textRRRRj+xF{Ht=?# Use a real bash script with an explicit "exit 0" at the end to be by default fail safe # an explicit "exit 1" must be use to enforce package install/upgrade/erase failure where needed # Begin refresh systemd units and clean up possibly obsolete systemd units # The following is a generic way how to refresh and/or clean up systemd units. # A systemd unit may need a refresh after updating a package when the new package # had installed a changed systemd unit file for an enabled systemd unit. # A systemd unit may become obsolete by updating a package (see bnc#904215). # A systemd unit is considered to have become obsolete when the systemd # symlink /etc/systemd/system/.../unit_name -> /path/to/unit_file is broken. # When during package update the new package does no longer provide a unit file # then the systemd symlink becomes broken after the files of the old package # had been actually removed by RPM. # According to /usr/share/doc/packages/rpm/manual/triggers and according # to https://en.opensuse.org/openSUSE:Packaging_scriptlet_snippets#Scriptlet_Ordering # and http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Scriptlet_Ordering # from the new package only "posttrans of new package" is run after "removal of old package" # so that the new package must do the clean up as RPM posttrans scriptlet. if systemctl --quiet is-enabled saptune.service 2>/dev/null; then # Refresh still valid enabled systemd units and clean up possibly obsoleted systemd units: # Enforce systemd to use the current unit file which is usually the unit file of the new package # but also in case of custom units (that use other unit files) a "reenable" won't hurt because # "reenable" does not implicitly stop a running service which is "the right thing" because # a RPM package installation must not automatically disrupt (restart) a running service. # Using "--force reenable" is essential to clean up possibly conflicting/broken symlinks. # (without "|| :" build fails with "Failed to get D-Bus connection: No connection to service manager. posttrans script ... failed"): systemctl --quiet --force reenable saptune.service 2>/dev/null || : else # Refresh still valid disabled systemd units and clean up possibly obsoleted systemd units: # First using "--force reenable" is essential to clean up possibly conflicting/broken symlinks # because there is no "--force disable" that would clean up possibly conflicting/broken symlinks # see https://bugzilla.opensuse.org/show_bug.cgi?id=904215#c34 # so that first the unit has a clean state and then it is set back to disabled (as it was before). # If a disabled systemd unit has become obsoleted, "systemctl --force reenable" will clean it up # which means the unit gets removed and the subsequent "systemctl disable" will do nothing. # (without "|| :" build fails with "Failed to get D-Bus connection: No connection to service manager. posttrans script ... failed"): systemctl --quiet --force reenable saptune.service 2>/dev/null || : systemctl --quiet disable saptune.service 2>/dev/null || : fi rm -f /run/saptune_during_pkg_inst if [ ! -f /var/lib/saptune/config/saptune ]; then # only for SLE12/15 if [ -f /run/update_v1tov3_saptune_inst ]; then rm -f /run/update_v1tov3_saptune_inst || : # get back custom note definition files for BOBJ and/or ASE # needed for migration, if customer had applied these notes /usr/share/saptune/scripts/upd_helper v1tov2pt || : else # cleanup of old saptune v1 sysconfig files # leftover from customer migration for file in saptune-note-SUSE-GUIDE-01 saptune-note-1275776 saptune-note-SUSE-GUIDE-02 saptune-note-1557506; do if [ -f /etc/sysconfig/${file} ]; then rm -f /etc/sysconfig/${file} fi done fi fi if [ -f /run/update_sle12tosel15_saptune_inst ]; then rm -f /run/update_sle12tosel15_saptune_inst || : # check for SAP Note name changes between SLE12 and SLE15 /usr/share/saptune/scripts/upd_helper sle12to15pt || : fi if [ -f /run/update_tosle16_saptune_inst ]; then rm -f /run/update_tosle16_saptune_inst || : # check for SAP Note name changes between SLE12/15 and SLE16 /usr/share/saptune/scripts/upd_helper sleto16pt || : fi if [ -f /run/update_saptune_staging_area ]; then rm -f /run/update_saptune_staging_area || : # handle staging area and DON'T touch the working area, needs to run # after 'upd_helper sle12to15pt' and 'upd_helper sleto16pt' /usr/share/saptune/scripts/upd_helper staging || : fi if [ -f /var/lib/saptune/config/saptune ]; then # SLE16 # add base tuning, if we are in initial install and not update. if [ -f /run/initial_saptune_inst ]; then # package initial install saptuneBaseTuning=true # check sapconf state if [ -f /run/sapconf_pre_inst ]; then # sapconf package was installed before if [ ! -f /run/sapconf_pre_enblss_found ] && [ ! -f /run/sapconf_pre_actss_found ]; then echo "Attention: sapconf was installed, but sapconf service was not active and not enabled before, don't activate saptune base tuning" saptuneBaseTuning=false fi if [ -f /run/sapconf_pre_enblss_found ] || [ -f /run/sapconf_pre_actss_found ]; then echo "sapconf service was active/enabled before, activate saptune base tuning" fi fi if [ -f /run/sapconf_not_inst ]; then echo "Attention: sapconf was not installed, activate saptune base tuning" fi echo "saptune initial installation (on 16)" else # package update saptuneBaseTuning=false if ([ -f /run/sapconf_pre_enblss_found ] || [ -f /run/sapconf_pre_actss_found ]) && [ -f /run/saptune_pre_not_configured ]; then echo "sapconf service was active/enabled before and saptune was not configured, activate saptune base tuning" saptuneBaseTuning=true echo "saptune update installation (to 16)" fi fi # check, if saptune base tuning is desired if [ "$saptuneBaseTuning" == "true" ]; then echo "activate saptune base tuning - apply SAP_Base solution" systemctl start saptune.service || : saptune solution apply SAP_Base >/dev/null 2>&1 || : fi else # SLES12/15 if [ -f /run/saptune_is_active_in_tuned ]; then # cleanup 'saptune with tuned is active' indicator rm -f /run/saptune_is_active_in_tuned || : # if saptune with tuned support was used/active (in v2 mode) # stop and disable tuned service # enable and start saptune service # (jsc#SLE-10987 decision) (systemctl stop tuned.service; systemctl disable tuned.service; systemctl enable saptune.service; systemctl start saptune.service) || : fi # bsc#1194688 - sometimes the tuned active profile is still 'saptune' even that # the profile no longer exists. Try to clear. [[ $(cat /etc/tuned/active_profile 2>/dev/null) == saptune ]] && (> /etc/tuned/active_profile) || : fi # cleanup rm -f /run/initial_saptune_inst /run/sapconf_not_inst /run/sapconf_pre_inst || : rm -f /run/sapconf_pre_enblss_found /run/sapconf_pre_actss_found || : rm -f /run/saptune_pre_not_configured /run/saptune_pre_configured || : exit 0/bin/bashsystemd-sysvcompatutf-8d9028c2d6b3d332d9161be777b7e6818d8895e0d9dffeb2d5da4bac3b7535524?P7zXZ !t/w]"k%{dC3 #D>ݕfnp#jRS9? 1 ^;.bI#P18 '3|. rt~)01UjZyjk)<q,̒!m'L81+nC?*'#o"@:|RjHp>WkS偊UB`A_dnbt}"FAx&L Fg+,@jcͩr&FS#{Jad 4lr1 1gO++᷊@b'#^M<~h3dY e :6“\Wv}a%{D* Aԋ<ΥGIQOɨm:U.,Iaݙ (}UġZ-< L.4-RgP- Kg>1iRX폩oKI>J ?:*+C$lr90I ᒼ*&.%l`r3$DGSTnl$ɿ<}4}`d*3Bͯajh~P02bq1d=aC(8u ct&b6j6rQ?=X)a$aEړ}g/}<Һӕp#aDK-3K&]6Q:ӡH>kӤhE/q56ّDu/xAJagE@uYv@$h]f9qPǿ/`bʼn&'*2O̸cA+p."^ \ m_uW7.FeHX0}+*#;tD7*X'Bq.SQ/>[!B7TZ1U؂ktjhGR'$Etvw&@zzeۋH=8y>Yg82aP>ro&8^zJ=ۥ7Zf+`dQCgɉQA,+;0:h2-_/!-/_8_ HL_ ݿkM9>=<f!rD {)+7FngL9@hEYqXqqz*nV>W9eo.MoMP'̃/,`CpΚB+WoG1t4R958.}9%q/^<&pTޟ5➽"?yx~"_a+Rf{?`HxXѷdy)adA|w7x=y׽DJo Y; ))0?%#Z3%(Jvx7I'gbHWw.'~p,扗*OYM` N;- ܷW16NHA Ȼj\ Jdc0bM]yZfCNՓN\\q2t ?ӷU:}$ jÊ kĬd [U{˿2ks,Td