mirror of https://framagit.org/kyodev/kyopages.git
getInfo 2.70.0
This commit is contained in:
parent
5561162a37
commit
136de39898
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in New Issue