getInfo 2.26.0

This commit is contained in:
kyodev 2017-11-07 16:15:48 +01:00
parent 1cb99bd4e7
commit 4670dc7b86
2 changed files with 139 additions and 110 deletions

View File

@ -1,7 +1,7 @@
#!/bin/bash
version=2.25.6
date="06/11/2017"
version=2.26.0
date="07/11/2017"
projet="simpledeb"
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues/"
script="getInfo"
@ -320,15 +320,15 @@ f__wget_test(){ # 06/11/2017
# f_display: $1 variable à afficher, $2=var|cmd|sans (type titre) [$3 titre] [$4 commentaire en gras si cmd]
# f_display "variable" "type" "titrage" "titrage_commentaire"
# $2: cmd->`titre`, var->**titre**, sans: pas de titre
f_display(){ # 30/10/2017
f_display(){ # 07/11/2017
[ "$text" ] && echo -en "$text" >> "$fileOutput" # flush, avant fonction, de text parent
unset text
local display=""
[[ "$2" =~ sans|var|cmd ]] || display="erreur script \$2 ($1 $2 $3) \n"
[ "$2" == "var" ] && display="**$3** \n"
[ "$2" == "cmd" ] && display="\`$3\` \n"
[[ "$2" =~ sans|var|cmd ]] || display="$BOLDerreur script \$2 ($1 $2 $3)$STD \n"
[ "$2" == "var" ] && display="**$BOLD$3$STD** \n"
[ "$2" == "cmd" ] && display="\`$ITAL$3$STD\` \n"
#echo $(sed -En 's/[^/]*(\/.*)$/\1/p' <<< "$3")
[[ "$2" == "cmd" && "$4" ]] && display="\`$3\` **$4** \n"
[[ "$2" == "cmd" && "$4" ]] && display="\`$3\`"$'\xc2\xa0'$'\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0'" **$BOLD$4$STD** \n"
display+='``` \n'
display+="${!1} \n"
display+='``` \n'
@ -340,6 +340,21 @@ f_display_file_absent(){ # 03/11/2017
echo -e "* fichier **$1** non trouvé ou absent \n" >> "$fileOutput"
}
# $$=liste fichiers à greper, [$2] largeur 1ere colonne
f_display_grep(){ # 07/11/2017
local file var_temp
for file in $1; do
var_temp="$(grep -Ersv '^#|^[[:space:]]*$' $file)"
[ "$var_temp" ] && echo "$BOLD $file$STD"
if [ "$2" ]; then
gawk -v "larg=$2" '{printf "%-"larg"s",$1; s1=""; printf "%s\n",$0}' <<< "$var_temp"
else
echo "$var_temp"
fi
echo
done
}
# $1 répertoire à scanner, $2 profondeur
f_display_scandir(){ # 21/10/2017
[ "$text" ] && echo -e "$text" >> "$fileOutput" # flush avant fonction
@ -401,25 +416,23 @@ fi_batt(){ # 25/10/2017
unset text
}
fi_cpu(){ # 04/11/2017
#manuellement: lscpu (util-linux)
fi_cpu(){ # 07/11/2017
local cpu_flags text iflag var_temp text_flags="" pluriel
cpu_flags=$(sed -n 's/^flags.*: \(.*\)$/\1/p;' /proc/cpuinfo | sed -n '1p'| \
tr ' ' '\n' | sort | tr '\n' ' ' | xargs )
fi_cpu_flags # appel 'base' des tags CPU_FLAGS
fi_cpu_flags # appel 'base' des tags, obtention $CPU_FLAGS
for iflag in $cpu_flags; do
var_temp=$(grep -E "^${iflag^^}[[:blank:]]" <<< $CPU_FLAGS)
[ "$var_temp" ] && text_flags+="* $var_temp \n" || text_flags+="* $iflag\t⟷ \t? \n"
[ "$var_temp" ] && text_flags+=" ‣ $var_temp \n" || text_flags+=" ‣ $iflag\t⟷ \t? \n"
done
[ "$cpu_flags" ] && cpu_flags="$(f__wcv -w "$cpu_flags" flags) flags: $cpu_flags"
[ "$fg_cpu" ] || figet_cpu
###
[ ${fg_cpu:0:1} -gt 1 ] && pluriel="s" || unset pluriel
text="## processeur$pluriel \n\n"
text+="* manuellement voir: \`lscpu\` \n\n"
f_display "fg_cpu" "sans" # affichage proc
text="##$BOLD processeur$pluriel $STD\n\n"
f_display "fg_cpu" "cmd" "lscpu" # affichage proc
[ "$fg_uarch" ] && f_display "fg_uarch" "var" "µarchitecture processeur"
[ "$cpu_flags" ] && cpu_flags="$(f__wcv -w "$cpu_flags" flags) flags: $cpu_flags"
[ "$cpu_flags" ] && f_display "cpu_flags" "var" "flags cpu:" # flags cpu bruts
[ "$cpu_flags" ] && f_display "cpu_flags" "var" "flags cpu" # flags cpu bruts
[ "$text_flags" ] && f_display "text_flags" "sans" # flags cpu texte
printf "$text\n" >> "$fileOutput"
unset text
@ -995,10 +1008,10 @@ fi_locale(){ # 30/10/2017
local locale localectl timezone timedatectl
local xKeyboardMap keyboard alert_Rtc alert_Rtc_info alert_NTP alert_Ntp_info text
# locale
locale="$(grep -Esv '#|^[[:space:]]*$' /etc/default/locale* /etc/locale.conf)"
locale="$(f_display_grep "/etc/default/locale* /etc/locale.conf")"
[ "$(f__cmd_exist localectl)" ] && localectl=$(localectl --no-pager status)
# timezone
timezone="$(grep -Hs . /etc/timezone)"
timezone="$(f_display_grep "/etc/timezone*")"
if [ "$(f__cmd_exist timedatectl)" ]; then
timedatectl="$(timedatectl status --no-pager)"
grep -q 'RTC in local TZ: yes' <<< "$timedatectl" && alert_Rtc="Attention RTC in local TZ"
@ -1011,15 +1024,15 @@ activer le service: timedatectl set-ntp true
et/ou installer le démon Ntp: apt install ntp \n"
fi
# keyboard layout
keyboard="$(grep -EHsv '#|^[[:space:]]*$' /etc/default/keyboard*)"
keyboard="$(f_display_grep "/etc/default/keyboard*")"
[ "$(f__cmd_exist setxkbmap)" ] && xKeyboardMap="$(setxkbmap -query)"
###
text="## localisation \n\n"
text="##$BOLD localisation $STD\n\n"
# locale
[ "$locale" ] && f_display "locale" "cmd" "grep -Esv '#|^[[:space:]]*$' /etc/default/locale* /etc/locale.conf"
[ "$localectl" ] && f_display "localectl" "cmd" "localectl --no-pager status"
# timezone
[ "$timezone" ] && f_display "timezone" "cmd" "grep -Hs . /etc/timezone*"
[ "$timezone" ] && f_display "timezone" "cmd" "grep -EHsv '#|^[[:space:]]*$' /etc/timezone*"
[ "$timezone" ] || f_display_file_absent "/etc/timezone*"
[ "$timedatectl" ] && f_display "timedatectl" "cmd" "timedatectl status --no-pager"
[ "$alert_Rtc" ] && text+="$alert_Rtc_info \n"
@ -1032,7 +1045,7 @@ et/ou installer le démon Ntp: apt install ntp \n"
unset text
}
fi_log_xorg(){ # 03/11/2017
fi_log_xorg(){ # 07/11/2017
[ "$ENV_SSH" ] && return 0
local logXorg xfile extract dateFile text nb_lignes=50
# Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice,
@ -1045,20 +1058,20 @@ fi_log_xorg(){ # 03/11/2017
extract="$(grep -Es '\(WW\)|\(EE\)|\(\?\?\)' $xfile | sed '/(WW) warning, (EE) error,/d')"
extract="$(sed -n 1,"$nb_lignes"p <<< $extract)"
if [ "$extract" ]; then
logXorg+="$xfile, date de modification: $dateFile \n"
logXorg+=" $BOLD$xfile, date de modification: $dateFile $STD\n\n"
logXorg+=" (WW) **warning**, (EE) **erreur**, (??) inconnu, $nb_lignes premières lignes \n"
logXorg+="$(grep -E '\(EE\)' <<< $extract) \n"
logXorg+="$(grep -E '\(WW\)' <<< $extract) "$'\n'$'\n'
else
logXorg+="$xfile : <vide> "$'\n'$'\n'
logXorg+=" $xfile : <vide> "$'\n'$'\n'
fi
else
logXorg+="$xfile : <inexistant> "$'\n'$'\n'
logXorg+=" $xfile : <inexistant> "$'\n'$'\n'
fi
done
logXorg="${logXorg::-2}"
###
text="## journaux Xorg \n\n"
text="##$BOLD journaux Xorg $STD\n\n"
f_display "logXorg" "cmd" \
"grep -Es '\(WW\)|\(EE\)|\(\?\?\)' /var/log/Xorg.?.log /home/<user>/.local/share/xorg/Xorg.?.log" \
"(Xorg.log)"
@ -1102,7 +1115,7 @@ fi_nm(){ # 29/10/2017
unset text
}
fi_reseau(){ # 31/10/2017
fi_reseau(){ # 07/11/2017
local slots cards ip_a iwconfig interfaces route resolv canal_wifi ifx alert_wlx text pluriel
# cardsManuel="$(lspci -nnk | grep -EiA 5 'network|ethernet')"
# cardsManuel="$(lspci -nnv | grep -EiA 15 'network|ethernet')"
@ -1120,7 +1133,7 @@ fi_reseau(){ # 31/10/2017
ip_a="$(sed '/inet6.*/d' <<< $ip_a)" # filtre sur inet6)
route="$(ip route show)"
# interfaces & resolv
interfaces="$(grep -EHrsv '#|^[[:space:]]*$' /etc/network/interfaces*)"
interfaces="$(f_display_grep "/etc/network/interfaces*")"
interfaces="$(sed -E 's/wpa-psk [[:graph:]]+/wpa-psk <WPA key removed>/; s/:/: /' <<< $interfaces )"
resolv="$(grep -Esv '#|^[[:space:]]*$' /etc/resolv.conf)"
# iwconfig
@ -1149,7 +1162,7 @@ fi_reseau(){ # 31/10/2017
fi
figet_mod_net
###
text="## réseau \n\n"
text="##$BOLD réseau $STD\n\n"
#lspci
[ "$cards" ] && f_display "cards" "cmd" "lspci -nnv | grep -EiA 15 'network|ethernet"
# ip locales avec type
@ -1219,75 +1232,86 @@ fi_serial(){ # 06/11/2017
unset text
}
fi_sources(){ # 31/10/2017
fi_sources(){ #v2 07/11/2017
[ "$(f__cmd_exist dpkg)" ] || return 0
local sources dateMaj nb_packages apt text pluriel
local alert_autoremove alert_nbAutoremove alert_paquetToRemove alert_httpredir alert_httpredir_text
local alert_upgradable alert_upgradable_text alert_nbUpgradable
local alert_paquetBiz alert_paquetBiz_text0 alert_paquetBiz_text
printf "."
sources="$(grep -Ersv '^#|^[[:space:]]*$' /etc/apt/sources.list /etc/apt/sources.list.d/*.list)"
sources="$(sed 's/:deb/: deb/; s/ / /g' <<< $sources)"
local sources dateMaj nb_packages upgrade upgrade_qte remove remove_qte non_ii_qte text pluriel
local alert_httpredir alert_upgrade alert_full_upgrade alert_upgrade_titre
local alert_remove alert_remove_titre alert_non_ii alert_non_ii_titre
# sources & divers
sources=$(f_display_grep "/etc/apt/sources.list /etc/apt/sources.list.d/*.list" 8)
dateMaj="$(date -r /var/cache/apt/pkgcache.bin '+%d/%m/%Y %H:%M %z')" # /var/lib/dpkg/
nb_packages="$(dpkg -l | grep -c '^ii')"
printf "."
apt="$(LC_ALL=C apt-get autoremove --simulate)"
alert_nbAutoremove="$(grep -c 'Remv' <<< $apt)"
if [ "$alert_nbAutoremove" -ne 0 ]; then
[ "$alert_nbAutoremove" -gt 1 ] && pluriel="s" || unset pluriel
alert_autoremove="$alert_nbAutoremove paquet$pluriel installé$pluriel inutile$pluriel, "
alert_autoremove+="vous pouvez utiliser: \`apt autoremove\`"
alert_paquetToRemove="$(sed -En 's/Remv (.*)\[[0-9.-]*\]/\1/p' <<< $apt | tr '\n' ' ')"
if [ $(grep -c 'httpredir' <<< $sources) -ne 0 ]; then
alert_httpredir="ces urls sont obsolètes, préférer http://deb.debian.org/ ou un miroir local: \n\n"
alert_httpredir+="$(grep 'httpredir' <<< "$sources")"
fi
printf "."
alert_httpredir="$(grep 'httpredir' <<< $sources)"
if [ "$alert_httpredir" ]; then
alert_httpredir_text="url **httpredir**, ces urls sont obsolètes, préférer "
alert_httpredir_text+="http://deb.debian.org/debian/ ou un miroir local"
printf "‣"
# upgradable
upgrade=$(LC_ALL=C apt-get upgrade --simulate | grep -E 'Inst | newly installed' )
upgrade=$(sort <<< $upgrade)
upgrade_qte=($(gawk '/ newly installed/{print $1" "$10}' <<< $upgrade))
if [ "${upgrade_qte[0]}" -gt 0 ]; then # upgrade
[ "${upgrade_qte[0]}" -gt 1 ] && pluriel="s" || unset pluriel
alert_upgrade_titre="${upgrade_qte[0]} paquet$pluriel à mettre à jour:"
alert_upgrade=$(gawk '/Inst /{
sub(/\(/,"",$4); sub(/\/.*/,"",$5); sub(/\[/,"",$3); sub(/\]/,"",$3);
printf "%-25s source: %-25s %-20s ⇉ %-20s\n",$2,$5,$3,$4 }' <<< $upgrade)
alert_upgrade+="\n\n pour corriger: apt upgrade"
fi
alert_upgradable="$(LC_ALL=C apt list --upgradable 2>/dev/null | sed '1d')"
if [ "$alert_upgradable" ]; then
alert_nbUpgradable="$(grep -c '.' <<< "$alert_upgradable")"
[ "$alert_nbUpgradable" -gt 1 ] && pluriel="s" || unset pluriel
alert_upgradable_text="$alert_nbUpgradable paquet$pluriel à mettre à jour, "
alert_upgradable_text+='`apt list --upgradable`:'
if [ "${upgrade_qte[1]}" -gt 0 ]; then # dist-upgrade #10 upgraded, 0 newly installed, 0 to remove and 0 not upgraded"
[ "${upgrade_qte[1]}" -gt 1 ] && pluriel="s" || unset pluriel
alert_full_upgrade="${upgrade_qte[1]} paquet$pluriel à mettre à jour avec (\`apt full-upgrade\`)"
fi
printf "."
alert_paquetBiz="$(LC_ALL=C dpkg -l | gawk 'FNR>5 && ! /^i/ {print $1, $2, $3}')"
if [ "$alert_paquetBiz" ]; then
[ "$(grep -c '.' <<< "$alert_paquetBiz")" -gt 1 ] && pluriel="s" || unset pluriel
alert_paquetBiz_text0="$(grep -c '.' <<< \
"$alert_paquetBiz") paquet$pluriel dans un état non installé"
[[ ${alert_paquetBiz,,} =~ ^. ]] && alert_paquetBiz_text="* **État souhaité** "$'\n'
[[ ${alert_paquetBiz,,} =~ ^h ]] && alert_paquetBiz_text+=" * **h**old (à garder) "$'\n'
[[ ${alert_paquetBiz,,} =~ ^i ]] && alert_paquetBiz_text+=" * **i**nstall (à installer) "$'\n'
[[ ${alert_paquetBiz,,} =~ ^p ]] && alert_paquetBiz_text+=" * **p**urge (à purger) "$'\n'
[[ ${alert_paquetBiz,,} =~ ^r ]] && alert_paquetBiz_text+=" * **r**emove (à supprimer) "$'\n'
[[ ${alert_paquetBiz,,} =~ ^u ]] && alert_paquetBiz_text+=" * **u**nknown (inconnu) "$'\n'
[[ ${alert_paquetBiz,,} =~ ^.. ]] && alert_paquetBiz_text+="* **État du paquet** "$'\n'
[[ ${alert_paquetBiz,,} =~ ^.c ]] && alert_paquetBiz_text+=" * **c**onfig-files (fichiers de configuration seuls) "$'\n'
[[ ${alert_paquetBiz,,} =~ ^.f ]] && alert_paquetBiz_text+=" * hal**F**-configured-configured (semi-configuré) "$'\n'
[[ ${alert_paquetBiz,,} =~ ^.h ]] && alert_paquetBiz_text+=" * **H**alf-installed (semi-installé) "$'\n'
[[ ${alert_paquetBiz,,} =~ ^.i ]] && alert_paquetBiz_text+=" * **i**nstalled (installé) "$'\n'
[[ ${alert_paquetBiz,,} =~ ^.n ]] && alert_paquetBiz_text+=" * **n**ot-installed (non installé) "$'\n'
[[ ${alert_paquetBiz,,} =~ ^.t ]] && alert_paquetBiz_text+=" * **t**riggers-pending (en instance déclencheurs) "$'\n'
[[ ${alert_paquetBiz,,} =~ ^.u ]] && alert_paquetBiz_text+=" * **u**npacked (décompressé seulement) "$'\n'
[[ ${alert_paquetBiz,,} =~ ^.w ]] && alert_paquetBiz_text+=" * triggers-a**w**aiting (attente déclencheurs) "$'\n'
[[ ${alert_paquetBiz,,} =~ ^..r ]] && alert_paquetBiz_text+="* **Drapeaux d'erreur**\n * (réinstallation requise) "$'\n'
[ "$alert_paquetBiz_text" ] && alert_paquetBiz_text=${alert_paquetBiz_text::-1} # suppression dernier $'\n'
printf "‣"
# autoremove
remove=$(LC_ALL=C apt-get autoremove --simulate | grep -E 'Remv | newly installed' )
remove=$(sort <<< $remove)
remove_qte=$(gawk '/ newly installed/{print $6}' <<< $remove)
if [ "$remove_qte" -gt 0 ]; then
[ "$remove_qte" -gt 1 ] && pluriel="s" || unset pluriel
alert_remove_titre="$remove_qte paquet$pluriel non nécessaire$pluriel:"
alert_remove="$(sed -En 's/Remv (.*)\[[0-9.-]*\]/\1/p' <<< $remove | tr '\n' ' ')"
alert_remove+="\n\n pour corriger: apt autoremove --purge"
alert_remove+="\n\nvérifier que la liste ne contient pas des applications devenues importantes \n"
alert_remove+="au besoin, les marquer comme installés manuellement avec apt-mark \n"
alert_remove+="ou les installer manuellement avec apt install paquet"
fi
printf "‣"
# paquet non ^ii
alert_non_ii="$(LC_ALL=C dpkg -l | gawk 'FNR>5 && ! /^i/ {
printf "%-3s %-20s %-12s",$1,$2,$3; $1=$2=$3=$4=""; printf "%s \n",$0}') \n\n"
non_ii_qte=$( f__wcv -l "$alert_non_ii" )
if [ "$non_ii_qte" -gt 0 ]; then
[ "$non_ii_qte" -gt 1 ] && pluriel="s" || unset pluriel
alert_non_ii_titre="$non_ii_qte paquet$pluriel dans un état non installé:"
[[ ${alert_non_ii,,} =~ ^. ]] && alert_non_ii+=" ‣ État souhaité "$'\n'
[[ ${alert_non_ii,,} =~ ^h ]] && alert_non_ii+=" h.. hold (à garder) "$'\n'
[[ ${alert_non_ii,,} =~ ^i ]] && alert_non_ii+=" i.. install (à installer) "$'\n'
[[ ${alert_non_ii,,} =~ ^p ]] && alert_non_ii+=" p.. purge (à purger) "$'\n'
[[ ${alert_non_ii,,} =~ ^r ]] && alert_non_ii+=" r.. remove (à supprimer) "$'\n'
[[ ${alert_non_ii,,} =~ ^u ]] && alert_non_ii+=" u.. unknown (inconnu) "$'\n'
[[ ${alert_non_ii,,} =~ ^.. ]] && alert_non_ii+=" ‣ État du paquet "$'\n'
[[ ${alert_non_ii,,} =~ ^.c ]] && alert_non_ii+=" .c. config-files (fichiers de configuration seuls) "$'\n'
[[ ${alert_non_ii,,} =~ ^.f ]] && alert_non_ii+=" .f. halF-configured-configured (semi-configuré) "$'\n'
[[ ${alert_non_ii,,} =~ ^.h ]] && alert_non_ii+=" .h. Half-installed (semi-installé) "$'\n'
[[ ${alert_non_ii,,} =~ ^.i ]] && alert_non_ii+=" .i. installed (installé) "$'\n'
[[ ${alert_non_ii,,} =~ ^.n ]] && alert_non_ii+=" .n. not-installed (non installé) "$'\n'
[[ ${alert_non_ii,,} =~ ^.t ]] && alert_non_ii+=" .t. triggers-pending (en instance déclencheurs) "$'\n'
[[ ${alert_non_ii,,} =~ ^.u ]] && alert_non_ii+=" .u. unpacked (décompressé seulement) "$'\n'
[[ ${alert_non_ii,,} =~ ^.w ]] && alert_non_ii+=" .w. triggers-awaiting (attente déclencheurs) "$'\n'
[[ ${alert_non_ii,,} =~ ^..r ]] && alert_non_ii+=" ‣ Drapeaux d'erreur**\n ..r (réinstallation requise) "$'\n'
alert_non_ii=${alert_non_ii::-1} # suppression dernier $'\n'
fi
###
text="## sources liste \n\n"
text="##$BOLD gestion de paquets DPKG$STD \n\n"
f_display "sources" "cmd" "grep -Ersv '^#|^[[:space:]]*$' /etc/apt/sources.list /etc/apt/sources.list.d/*.list"
text+="nombre de paquets installés: **$nb_packages** \n\n"
text+="dernière mise à jour apt: **$dateMaj** \n\n"
[ "$alert_autoremove" ] && f_display "alert_paquetToRemove" "var" "$alert_autoremove"
[ "$alert_httpredir" ] && f_display "alert_httpredir" "var" "$alert_httpredir_text"
[ "$alert_upgradable" ] && f_display "alert_upgradable" "var" "$alert_upgradable_text"
if [ "$alert_paquetBiz" ]; then
f_display "alert_paquetBiz" "var" "$alert_paquetBiz_text0"
text+="$alert_paquetBiz_text"' \n\n'
fi
text+="* nombre de paquets installés: **$nb_packages** \n"
text+="* dernière mise à jour apt: **$dateMaj** \n\n"
[ "$alert_httpredir" ] && f_display "alert_httpredir" "var" "httpredir obsolète"
[ "$alert_upgrade" ] && f_display "alert_upgrade" "cmd" "apt list --upgradable" "$alert_upgrade_titre"
[ "$alert_full_upgrade" ] && text+="* $alert_full_upgrade \n\n"
[ "$alert_remove" ] && f_display "alert_remove" "cmd" "apt autoremove --simulate" "$alert_remove_titre"
[ "$alert_non_ii" ] && f_display "alert_non_ii" "cmd" "dpkg -l | gawk '/^rc/{print \$2}" "$alert_non_ii_titre"
printf "$text\n" >> "$fileOutput"
unset text
}
@ -1327,7 +1351,7 @@ fi_system_analyse(){ # 25/10/2017
unset text
}
fi_systeme(){ # 06/11/2017
fi_systeme(){ # 07/11/2017
local mbr uname bootImage initDaemon xorg shells lastboot uptime charge pluriel text
local alim_total alimentation
[ -d /sys/firmware/efi ] && mbr="EFI" || mbr="Legacy (mbr)"
@ -1342,7 +1366,7 @@ fi_systeme(){ # 06/11/2017
shells="$(grep -Ev '^[[:blank:]]*#|^[[:space:]]*$' /etc/shells | sed 's/\/bin\///' | tr '\n' ' ')"
if [ $(grep -c 'AC' <<< $(ls /sys/class/power_supply/ 2>/dev/null)) -gt 0 ]; then
alim_total=$(grep -cs . <<< $(ls /sys/class/power_supply/AC*/online))
alimentation=$( awk -v "alim_total=$alim_total" '
alimentation=$( gawk -v "alim_total=$alim_total" '
{ alim_on=sprintf("%d", $1); if (alim_on>1) pllo="s" }
END { if ( alim_total > 1 ) pllt="s"; printf alim_total " alimentation" pllt
if ( alim_total != alim_on ) print ", " alim_on " branchée" pllo; else print "" }
@ -1436,7 +1460,7 @@ fi_vrms(){ # 03/11/2017
}
# informations batterie(s), assigne $fg_nb_batt $fg_batt $fg_batt_serial
figet_batt(){ #v2 06/11/2017
figet_batt(){ #v2 07/11/2017
local batt_detail batt_nb batt_unit batt_capa_design batt_capa_full batt_capa_now batt_conso
local batt_volt_min batt_volt_now batt_status batt_cycle alert_batt_alarm
local batt_sante batt_restant tempo batRep ibat uevent
@ -1523,7 +1547,7 @@ figet_batt(){ #v2 06/11/2017
batt_detail+="les pleines charges et les voltages sont incohérents, batterie "
batt_detail+="mal gérée ou batterie HS? "$'\n' #[ln 5]
fi
if [ "$(awk '{printf "%d", $1}' <<< $batt_sante)" -lt 50 ] && [[ "$batt_status" == "Full" || "$batt_status" == "Unknown" ]]; then
if [ "$(gawk '{printf "%d", $1}' <<< $batt_sante)" -lt 50 ] && [[ "$batt_status" == "Full" || "$batt_status" == "Unknown" ]]; then
batt_detail+="batterie très mal chargée (moins de 50%): mauvais état? "$'\n' #[ln 5]
fi
done
@ -1753,7 +1777,7 @@ figet_de(){ # thanks neofetch, assigne $fg_de #30/10/2017
# $fg_disk_part_fixe_m, $fg_disk_part_amov_m : liste partitions montées, fixes ou amovibles
# $fg_disk_part_swap : liste partitions swap
# $fg_disk_part_fixe_nm, $fg_disk_part_amov_nm : liste partitions non montées, fixes ou amovibles
figet_disk(){ #v2 06/11/2017
figet_disk(){ #v2 07/11/2017
local size type list_id idisk lsblk vendor model rev serial
unset fg_disk_fixe fg_disk_amov
# bug printf: caractères accentués diminuent 1 caractère sur arguments suivants, ajouter autant d'espaces
@ -1809,13 +1833,13 @@ figet_disk(){ #v2 06/11/2017
fg_disk_part_fix_tot+="$(df -h --total --output=size,used,avail $(printf '/dev/%s ' $fg_disk_part_fixe_m) 2>/dev/null | tail -n-1 | xargs)"
fg_disk_part_fix_tot="$(sed 's/G/Go/g; s/M/Mo/g; s/K/ko/g' <<< $fg_disk_part_fix_tot)"
[ "$fg_disk_part_fix_tot" ] || fg_disk_part_fix_tot="n/a"
# liste des disques par type
# liste des disques par type
list_id="$(ls -l /dev/disk/by-id/ | gawk '{print $9,$11}')"
fg_disk_ata="$(sed '/^ata/!d; /part/d' <<< $list_id | awk -F '/' '{print $NF}' | tr '\n' ' ')"
fg_disk_usb="$(sed -n '/part/d; /^usb/p' <<< $list_id | awk -F '/' '{print $NF}' | tr '\n' ' ')"
fg_disk_ata="$(sed '/^ata/!d; /part/d' <<< $list_id | gawk -F '/' '{print $NF}' | tr '\n' ' ')"
fg_disk_usb="$(sed -n '/part/d; /^usb/p' <<< $list_id | gawk -F '/' '{print $NF}' | tr '\n' ' ')"
# fg_disk_mmc="$(sed '/^mmc/!d; /part/d; /\/mmcblk/!d; s/^.*\(mmcblk..*\)$/\1/' <<< $list_id | tr '\n' ' ')"
fg_disk_mmc="$(sed '/^mmc/!d; /part/d' <<< $list_id | awk -F '/' '{print $NF}' | tr '\n' ' ')"
fg_disk_nvme="$(sed '/^nvme/!d; /part/d' <<< $list_id | awk -F '/' '{print $NF}' | tr '\n' ' ')"
fg_disk_mmc="$(sed '/^mmc/!d; /part/d' <<< $list_id | gawk -F '/' '{print $NF}' | tr '\n' ' ')"
fg_disk_nvme="$(sed '/^nvme/!d; /part/d' <<< $list_id | gawk -F '/' '{print $NF}' | tr '\n' ' ')"
[ "$fg_disk_ata" ] || fg_disk_ata="-" && fg_disk_ata="$(tr ' ' '\n' <<< "$fg_disk_ata" | sort | tr '\n' ' ')"
[ "$fg_disk_usb" ] || fg_disk_usb="-" && fg_disk_usb="$(tr ' ' '\n' <<< "$fg_disk_usb" | sort | tr '\n' ' ')"
[ "$fg_disk_mmc" ] || fg_disk_mmc="-" && fg_disk_mmc="$(tr ' ' '\n' <<< "$fg_disk_mmc" | sort | tr '\n' ' ')"
@ -2534,30 +2558,30 @@ prg_2(){ # traitements principaux
f__info "des erreurs$YELLOW No protocol specified, Can't open display :0$BLUE peut indiquer un défaut de configuration système (Xorg, Wayland?)" \
"lancer le script en utilisateur pour avoir toutes les informations"
fi
printf " ."
printf " "
if [[ "$1" == all || "$1" =~ s ]]; then #systeme, matériel -cs
echo -e "# Système et matériel \n\n" >> "$fileOutput"
echo -e "#$BOLD ▷ Système $STD\n\n" >> "$fileOutput"
for i in fi_systeme fi_cpu fi_mem fi_hw fi_batt fi_graph fi_disk fi_usb ; do
$i
printf "."
printf ""
done
fi
if [[ "$1" == all || "$1" =~ c ]]; then #configuration #debian, packages -cc
echo -e "# Configuration \n\n" >> "$fileOutput"
echo -e "#$BOLD ▷ Configuration $STD\n\n" >> "$fileOutput"
for i in fi_locale fi_vrms fi_sources ; do
$i
printf "."
printf ""
done
fi
if [[ "$1" == all || "$1" =~ r ]]; then #reseau -cr
echo -e "# Réseau \n\n" >> "$fileOutput"
echo -e "#$BOLD ▷ Réseau $STD\n\n" >> "$fileOutput"
for i in fi_reseau fi_nm ; do
$i
printf "."
printf ""
done
fi
if [[ "$1" == all || "$1" =~ a ]]; then #analyse -ca
echo -e "# Analyse \n\n" >> "$fileOutput"
echo -e "#$BOLD ▷ Analyse $STD\n\n" >> "$fileOutput"
for i in fi_system_analyse fi_log_xorg fi_journal ; do
$i
done
@ -2674,7 +2698,7 @@ if [[ "$options" =~ all|-d|-h|-c|-v ]]; then
urlNotice="https://kyodev.frama.io/kyopages/scripts/getInfo/"
fi
fi
ligneRapport="Rapport du $(date '+%d/%m/%Y %H:%M %z') ● $0 $* ● [$script $version]($urlNotice)"
ligneRapport="Rapport du $(date '+%d/%m/%Y %H:%M %z') ▎$0 $* ▎[$script $version]($urlNotice)"
# traitement options menu catégories
for k in $options; do
@ -2688,7 +2712,7 @@ for j in $options; do
case $j in
-t | --test )
prg_1 "$*"
fi_batt
fi_log_xorg
exit ;; # test seulement
-c* | all )
[ "$j" == "-c" ] && exec $0 "menu"

View File

@ -1,8 +1,13 @@
# changelog getInfo
* f__wcv, f__wget_test, fscript_get_version, fscript_update
* f__wcv, f_display_grep, f__wget_test, fscript_get_version, fscript_update
## 2.26.0 07/11/2017
* révision: fi_sources v2
* révision: affichage grep files: fi_reseau, fi_locale, fi_log_xorg
## 2.25.6 06/11/2017
* nouveau: n° série comme option, batterie, disk & chassis (si root)