getInfo 2.70.0

This commit is contained in:
kyodev 2017-12-18 22:12:44 +01:00
parent 5561162a37
commit 136de39898
2 changed files with 27 additions and 22 deletions

View File

@ -1,6 +1,6 @@
#!/bin/bash
version=2.69.0
version=2.70.0
date="18/12/2017"
projet="simpledeb"
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues/"
@ -96,7 +96,7 @@ f__dir(){ # 12/12/2017
}
# affichage $1 en rouge, $1++ optionnels en bleu, sortie script sur erreur, log $1 si $opType=upgrade
f__error(){ # 4/12/2017
f__error(){ # 18/12/2017
local depart=1 i
echo -e "\n$RED $script $version, erreur critique: $1 $STD"
@ -104,15 +104,15 @@ f__error(){ # 4/12/2017
echo -e " $BLUE${!i}$STD"
done
echo
if [ "$opType" == "upgrade" ]; then f__log "$script $version: $1"; fi
[ "$opType" == "upgrade" ] && f__log "$script $version: $1"
exit 1
}
# affichage des paramètres en bleu, si $1=raw pas de ligne vide à la fin, si $1=log alors uniquement $2 logué
f__info(){ # 15/10/2017
f__info(){ # 18/12/2017
local depart=1 i
if [ "$1" == "raw" ] || [ "$1" == "log" ]; then depart=2; fi
[[ "$1" == "raw" || "$1" == "log" ]] && depart=2
[ "$1" == "log" ] && f__log "$(sed -E 's/\\t//;s/\\n// ' <<< $2 | xargs )"
for (( i=$depart ; i<=$# ; i++ )); do
echo -e " $BLUE${!i}$STD"
@ -171,10 +171,10 @@ f__requis(){ # 4/12/2017
}
# $1=cmd si $2: nb de tentatives pour s'identifier, sinon 2 tentatives par défaut, suppose bash existant
f__sudo(){ # 4/12/2017
f__sudo(){ # 18/12/2017
local nb=2 sudo isudo toBash
[ $( type -p bash 2>/dev/null ) ] && toBash="$( type -p bash )" || return 2
type -p bash &>/dev/null && toBash=$( type -p bash ) || return 2
# sudo --shell bash équivalent su ?
if sudo -v &>/dev/null && [ $EUID -ne 0 ] ; then
sudo="sudo su --shell $toBash --preserve-environment -c "
@ -1222,7 +1222,7 @@ fi_ip_pub(){ #v 14/12/2017
done
}
fi_journal(){ # 10/12/2017
fi_journal(){ # 18/12/2017
local jctl_boot jctl_alert_k jctl_crit_k jctl_err_k jctl_warn_k jctl_warn_nok jctl_last jctl_size file
local info_ucode text nb_lignes=25
local alert_jctl_persist alert_firmBug
@ -1242,7 +1242,7 @@ fi_journal(){ # 10/12/2017
LC_ALL=C journalctl --no-pager --no-hostname -b0 -p 4 -n$nb_lignes > $file-last ; \
LC_ALL=C journalctl --disk-usage > $file-size ; \
LC_ALL=C journalctl --no-pager --no-hostname -o short-monotonic --boot 0 -k -p6 | grep -i 'microcode: .*updated early' > $file-ucode ; \
[ $( type -p dmesg 2>/dev/null ) ] && dmesg -Hk --nopager | grep -i 'Firmware Bug' > $file-firmBug ; \
type -p dmesg &>/dev/null && dmesg -Hk --nopager | grep -i 'Firmware Bug' > $file-firmBug ; \
chown $fu_user: $file-*"
if [ "$?" != "0" ]; then
f__info "\n les commandes$GREEN journalctl$RED ont échoué $BLUE(droits root requis, échec authentification?)" \
@ -3217,7 +3217,7 @@ figet_distrib(){ #v 14/12/2017
}
# display manager, assigne $fg_dm (liste) ou 'n/a', $fg_dm_actif
figet_dm(){ #v1 14/12/2017
figet_dm(){ #v1 18/12/2017
local dm_list="cdm entranced gdm3 gdm qingy kdm ldm lightdm lxdm mdm nodm orthos sddm slim wdm xdm"
local idm ps systemctl x11
@ -3245,7 +3245,7 @@ figet_dm(){ #v1 14/12/2017
fg_dm_actif="(startx)"
fi
fg_dm_actif=${fg_dm_actif^}
if [[ -z "$fg_dm_actif" && $( type -p systemctl 2>/dev/null ) ]]; then
if [ -z "$fg_dm_actif" ] && type -p systemctl &>/dev/null; then
fg_dm_actif=$(grep 'Main PID' <<< $(systemctl status display-manager))
fg_dm_actif=${fg_dm_actif##* } # conservation dernier champs ifs ' '
fg_dm_actif=${fg_dm_actif/\(/} # suppression (
@ -3981,7 +3981,7 @@ fipaste_curl_markdownshare(){ # à tester/finir
fscript_cronAnacron(){ # 4/12/2017
local dirAnacron dirSpool fileAnacron
[ "$(type -t fscript_cronAnacron_special)" ] && fscript_cronAnacron_special # test, si fonction spécifique, appel
[ "$( type -t fscript_cronAnacron_special )" ] && fscript_cronAnacron_special # test, si fonction spécifique, appel
dirAnacron="/home/$fu_user/.config/anacron"
dirSpool="$dirAnacron/spool"
fileAnacron="$dirAnacron/$script.anacrontab"
@ -4002,7 +4002,7 @@ fscript_cronAnacron(){ # 4/12/2017
# crontab pour activation horaire anacron
echo "@hourly $fu_user /usr/sbin/anacron -t $fileAnacron -S $dirSpool" >> /etc/crontab
fi
[ "$(grep "$script" /etc/crontab)" ] || echo f__error "inscription crontab" \
[ "$( grep "$script" /etc/crontab )" ] || echo f__error "inscription crontab" \
"certains systèmes semblent poser poser problème, merci de rapporter ce bug à $projet, $contact"
;;
remove )
@ -4018,7 +4018,7 @@ fscript_get_version(){ # 5/12/2017
local var_temp
f__info "raw" "version script en cours: $GREEN$version"
versionScript=$(wget -q --timeout=15 -O - "$urlScript" | grep -m1 '^version=' | cut -d'=' -f2)
versionScript=$( wget -q --timeout=15 -O - "$urlScript" | grep -m1 '^version=' | cut -d'=' -f2 )
if [ "$versionScript" ]; then
if [ "$version" != "$versionScript" ]; then
[ "$1" == "update" ] && var_temp=", mise à jour en cours" || var_temp=", mise à jour possible"
@ -4034,6 +4034,7 @@ fscript_get_version(){ # 5/12/2017
# installation du script dans le système
fscript_install(){ # 4/12/2017
if grep -q 'bin' <<< "$(dirname $0)" ; then
f__info "$RED""l'installation dans le système doit se faire depuis un script local $GREEN(./$script -i )"
return 1
@ -4043,11 +4044,11 @@ fscript_install(){ # 4/12/2017
f__sudo "exec $0 -i"
return $?
fi
[ "$(type -t fscript_install_special)" ] && fscript_install_special # test, si fonction spécifique, appel
[ "$( type -t fscript_install_special )" ] && fscript_install_special # test, si fonction spécifique, appel
f__requis "wget anacron cron" || exit 1
# install /opt
mkdir -p /opt/bin/
cp -d "$(basename $0)" "$scriptInstall"
cp -d "$( basename $0 )" "$scriptInstall"
ln -s "$scriptInstall" "/usr/bin/$script" &>/dev/null
chmod 775 "$scriptInstall" # rwx rwx r-x, proprio fu_user
# cron/anacron install
@ -4056,12 +4057,13 @@ fscript_install(){ # 4/12/2017
touch "$scriptLogs"
chmod 664 "$scriptLogs" # rw- rw- r--, proprio fu_user
chown "$fu_user:" "$scriptLogs" "$scriptInstall"
[ -e "$fileDev" ] || rm "$(basename $0)" &>/dev/null ## on efface pas si fileDev (dev)
[ -e "$fileDev" ] || rm "$( basename $0 )" &>/dev/null ## on efface pas si fileDev (dev)
f__info "log" "$script $version installé dans le système." "maintenant, appel du script par: $GREEN$script$BLUE (sans ./)"
}
# suppression du script dans le système
fscript_remove(){ # 4/12/2017
if ! grep -q 'bin' <<< "$(dirname $0)" ; then
f__info "$RED""cette fonction doit être appelée depuis le script installé dans le système $GREEN($script -r)"
return 1
@ -4075,7 +4077,7 @@ fscript_remove(){ # 4/12/2017
f__sudo "exec $0 -r"
return $?
fi
[ "$(type -t fscript_remove_special)" ] && fscript_remove_special # test, si fonction spécifique, appel
[ "$( type -t fscript_remove_special )" ] && fscript_remove_special # test, si fonction spécifique, appel
# suppression de /opt
rm "$scriptInstall" &>/dev/null
unlink "/usr/bin/$script" &>/dev/null
@ -4085,10 +4087,10 @@ fscript_remove(){ # 4/12/2017
}
# mise à jour script si dispo, v2, +update spécifique
fscript_update(){ # 6/12/2017
fscript_update(){ # 18/12/2017
local dirTemp="/tmp/$script-$RANDOM"
[ $(type -t fscript_update_special) ] && fscript_update_special # test, si fonction spécifique, appel
[ "$(type -t fscript_update_special)" ] && fscript_update_special # test, si fonction spécifique, appel
if [ -z "$updateSpecial" ] && ! grep -q 'bin' <<< "$(dirname $0)" ; then
f__info "$RED""cette fonction doit être appelée depuis le script installé dans le système $GREEN($script -u)"
return 1
@ -4100,7 +4102,7 @@ fscript_update(){ # 6/12/2017
fi
mkdir -p "$dirTemp"
wget -q --tries=2 --timeout=15 -O "$dirTemp/$script" "$urlScript"
if [ "$?" != "0" ]; then f__wget_test "$urlScript"; fi
[ "$?" -ne 0 ] && f__wget_test "$urlScript"
if grep -q '#!/bin/bash' "$dirTemp/$script" && grep -q '^### END CONTROL' "$dirTemp/$script"; then
cp -d "$dirTemp/$script" "$scriptInstall"
chmod 775 "$scriptInstall" # rwx rwx r-x, proprio fu_user

View File

@ -1,7 +1,10 @@
# changelog getInfo
f__architecture
## getInfo 2.70.0 18/12/2017
*syncro: f__archive_test, f__error, f__info, f__sudo, fscript_cronAnacron, fscript_get_version,
fscript_install, fscript_remove, fscript_update
## getInfo 2.69.0 18/12/2017