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
|
#!/bin/bash
|
||||||
|
|
||||||
version=2.69.0
|
version=2.70.0
|
||||||
date="18/12/2017"
|
date="18/12/2017"
|
||||||
projet="simpledeb"
|
projet="simpledeb"
|
||||||
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues/"
|
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
|
# 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
|
local depart=1 i
|
||||||
|
|
||||||
echo -e "\n$RED $script $version, erreur critique: $1 $STD"
|
echo -e "\n$RED $script $version, erreur critique: $1 $STD"
|
||||||
|
@ -104,15 +104,15 @@ f__error(){ # 4/12/2017
|
||||||
echo -e " $BLUE${!i}$STD"
|
echo -e " $BLUE${!i}$STD"
|
||||||
done
|
done
|
||||||
echo
|
echo
|
||||||
if [ "$opType" == "upgrade" ]; then f__log "$script $version: $1"; fi
|
[ "$opType" == "upgrade" ] && f__log "$script $version: $1"
|
||||||
exit 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é
|
# 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
|
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 )"
|
[ "$1" == "log" ] && f__log "$(sed -E 's/\\t//;s/\\n// ' <<< $2 | xargs )"
|
||||||
for (( i=$depart ; i<=$# ; i++ )); do
|
for (( i=$depart ; i<=$# ; i++ )); do
|
||||||
echo -e " $BLUE${!i}$STD"
|
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
|
# $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
|
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 ?
|
# sudo --shell bash équivalent su ?
|
||||||
if sudo -v &>/dev/null && [ $EUID -ne 0 ] ; then
|
if sudo -v &>/dev/null && [ $EUID -ne 0 ] ; then
|
||||||
sudo="sudo su --shell $toBash --preserve-environment -c "
|
sudo="sudo su --shell $toBash --preserve-environment -c "
|
||||||
|
@ -1222,7 +1222,7 @@ fi_ip_pub(){ #v 14/12/2017
|
||||||
done
|
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 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 info_ucode text nb_lignes=25
|
||||||
local alert_jctl_persist alert_firmBug
|
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 --no-pager --no-hostname -b0 -p 4 -n$nb_lignes > $file-last ; \
|
||||||
LC_ALL=C journalctl --disk-usage > $file-size ; \
|
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 ; \
|
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-*"
|
chown $fu_user: $file-*"
|
||||||
if [ "$?" != "0" ]; then
|
if [ "$?" != "0" ]; then
|
||||||
f__info "\n les commandes$GREEN journalctl$RED ont échoué $BLUE(droits root requis, échec authentification?)" \
|
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
|
# 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 dm_list="cdm entranced gdm3 gdm qingy kdm ldm lightdm lxdm mdm nodm orthos sddm slim wdm xdm"
|
||||||
local idm ps systemctl x11
|
local idm ps systemctl x11
|
||||||
|
|
||||||
|
@ -3245,7 +3245,7 @@ figet_dm(){ #v1 14/12/2017
|
||||||
fg_dm_actif="(startx)"
|
fg_dm_actif="(startx)"
|
||||||
fi
|
fi
|
||||||
fg_dm_actif=${fg_dm_actif^}
|
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=$(grep 'Main PID' <<< $(systemctl status display-manager))
|
||||||
fg_dm_actif=${fg_dm_actif##* } # conservation dernier champs ifs ' '
|
fg_dm_actif=${fg_dm_actif##* } # conservation dernier champs ifs ' '
|
||||||
fg_dm_actif=${fg_dm_actif/\(/} # suppression (
|
fg_dm_actif=${fg_dm_actif/\(/} # suppression (
|
||||||
|
@ -3981,7 +3981,7 @@ fipaste_curl_markdownshare(){ # à tester/finir
|
||||||
fscript_cronAnacron(){ # 4/12/2017
|
fscript_cronAnacron(){ # 4/12/2017
|
||||||
local dirAnacron dirSpool fileAnacron
|
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"
|
dirAnacron="/home/$fu_user/.config/anacron"
|
||||||
dirSpool="$dirAnacron/spool"
|
dirSpool="$dirAnacron/spool"
|
||||||
fileAnacron="$dirAnacron/$script.anacrontab"
|
fileAnacron="$dirAnacron/$script.anacrontab"
|
||||||
|
@ -4002,7 +4002,7 @@ fscript_cronAnacron(){ # 4/12/2017
|
||||||
# crontab pour activation horaire anacron
|
# crontab pour activation horaire anacron
|
||||||
echo "@hourly $fu_user /usr/sbin/anacron -t $fileAnacron -S $dirSpool" >> /etc/crontab
|
echo "@hourly $fu_user /usr/sbin/anacron -t $fileAnacron -S $dirSpool" >> /etc/crontab
|
||||||
fi
|
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"
|
"certains systèmes semblent poser poser problème, merci de rapporter ce bug à $projet, $contact"
|
||||||
;;
|
;;
|
||||||
remove )
|
remove )
|
||||||
|
@ -4018,7 +4018,7 @@ fscript_get_version(){ # 5/12/2017
|
||||||
local var_temp
|
local var_temp
|
||||||
|
|
||||||
f__info "raw" "version script en cours: $GREEN$version"
|
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 [ "$versionScript" ]; then
|
||||||
if [ "$version" != "$versionScript" ]; then
|
if [ "$version" != "$versionScript" ]; then
|
||||||
[ "$1" == "update" ] && var_temp=", mise à jour en cours" || var_temp=", mise à jour possible"
|
[ "$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
|
# installation du script dans le système
|
||||||
fscript_install(){ # 4/12/2017
|
fscript_install(){ # 4/12/2017
|
||||||
|
|
||||||
if grep -q 'bin' <<< "$(dirname $0)" ; then
|
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 )"
|
f__info "$RED""l'installation dans le système doit se faire depuis un script local $GREEN(./$script -i )"
|
||||||
return 1
|
return 1
|
||||||
|
@ -4043,11 +4044,11 @@ fscript_install(){ # 4/12/2017
|
||||||
f__sudo "exec $0 -i"
|
f__sudo "exec $0 -i"
|
||||||
return $?
|
return $?
|
||||||
fi
|
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
|
f__requis "wget anacron cron" || exit 1
|
||||||
# install /opt
|
# install /opt
|
||||||
mkdir -p /opt/bin/
|
mkdir -p /opt/bin/
|
||||||
cp -d "$(basename $0)" "$scriptInstall"
|
cp -d "$( basename $0 )" "$scriptInstall"
|
||||||
ln -s "$scriptInstall" "/usr/bin/$script" &>/dev/null
|
ln -s "$scriptInstall" "/usr/bin/$script" &>/dev/null
|
||||||
chmod 775 "$scriptInstall" # rwx rwx r-x, proprio fu_user
|
chmod 775 "$scriptInstall" # rwx rwx r-x, proprio fu_user
|
||||||
# cron/anacron install
|
# cron/anacron install
|
||||||
|
@ -4056,12 +4057,13 @@ fscript_install(){ # 4/12/2017
|
||||||
touch "$scriptLogs"
|
touch "$scriptLogs"
|
||||||
chmod 664 "$scriptLogs" # rw- rw- r--, proprio fu_user
|
chmod 664 "$scriptLogs" # rw- rw- r--, proprio fu_user
|
||||||
chown "$fu_user:" "$scriptLogs" "$scriptInstall"
|
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 ./)"
|
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
|
# suppression du script dans le système
|
||||||
fscript_remove(){ # 4/12/2017
|
fscript_remove(){ # 4/12/2017
|
||||||
|
|
||||||
if ! grep -q 'bin' <<< "$(dirname $0)" ; then
|
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)"
|
f__info "$RED""cette fonction doit être appelée depuis le script installé dans le système $GREEN($script -r)"
|
||||||
return 1
|
return 1
|
||||||
|
@ -4075,7 +4077,7 @@ fscript_remove(){ # 4/12/2017
|
||||||
f__sudo "exec $0 -r"
|
f__sudo "exec $0 -r"
|
||||||
return $?
|
return $?
|
||||||
fi
|
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
|
# suppression de /opt
|
||||||
rm "$scriptInstall" &>/dev/null
|
rm "$scriptInstall" &>/dev/null
|
||||||
unlink "/usr/bin/$script" &>/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
|
# mise à jour script si dispo, v2, +update spécifique
|
||||||
fscript_update(){ # 6/12/2017
|
fscript_update(){ # 18/12/2017
|
||||||
local dirTemp="/tmp/$script-$RANDOM"
|
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
|
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)"
|
f__info "$RED""cette fonction doit être appelée depuis le script installé dans le système $GREEN($script -u)"
|
||||||
return 1
|
return 1
|
||||||
|
@ -4100,7 +4102,7 @@ fscript_update(){ # 6/12/2017
|
||||||
fi
|
fi
|
||||||
mkdir -p "$dirTemp"
|
mkdir -p "$dirTemp"
|
||||||
wget -q --tries=2 --timeout=15 -O "$dirTemp/$script" "$urlScript"
|
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
|
if grep -q '#!/bin/bash' "$dirTemp/$script" && grep -q '^### END CONTROL' "$dirTemp/$script"; then
|
||||||
cp -d "$dirTemp/$script" "$scriptInstall"
|
cp -d "$dirTemp/$script" "$scriptInstall"
|
||||||
chmod 775 "$scriptInstall" # rwx rwx r-x, proprio fu_user
|
chmod 775 "$scriptInstall" # rwx rwx r-x, proprio fu_user
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
# changelog getInfo
|
# 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
|
## getInfo 2.69.0 18/12/2017
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue