a_rechercher
par celle-ci :a_rechercher="\t{\n\t xtype: 'box',\n\t colspan: 2,\n\t padding: '0 0 20 0',\n\t},\n\t{\n\t itemId: 'cpus',\n\t colspan: 2,\n\t printBar: false,\n\t title: gettext('CPU(s)'),\n\t textField: 'cpuinfo',\n\t renderer: Proxmox.Utils.render_cpu_model,\n\t value: '',\n\t},\n\t{\n\t itemId: 'kversion',\n\t colspan: 2,\n\t title: gettext('Kernel Version'),\n\t printBar: false,\n\t textField: 'kversion',\n\t value: '',\n\t},\n\t{\n\t itemId: 'version',\n\t colspan: 2,\n\t printBar: false,\n\t title: gettext('PVE Manager Version'),\n\t textField: 'pveversion',\n\t value: '',\n[[:blank:]]*},"
Oui je te confirme que j'ai touché le fichier.@Loutre38
Je crois avoir compris pourquoi ça ne modifie pas ton fichier.
Tu peux me confirmer que ton fichier n'a pas été altéré ou que tu ne l'as pas modifié ?
Car il y a une différence au niveau d'une tabulation ou deux selon si c'est mon fichier ou le tiens... :
Voir la pièce jointe 10134
je vais voir pour modifier le script.
Je teste quand je peux et je reviens d'informer.@Loutre38
J'ai trouvé comment faire que ça fonctionne avec nos deux fichiers. Remplace la lignea_rechercher
par celle-ci :
Bash:a_rechercher="\t{\n\t xtype: 'box',\n\t colspan: 2,\n\t padding: '0 0 20 0',\n\t},\n\t{\n\t itemId: 'cpus',\n\t colspan: 2,\n\t printBar: false,\n\t title: gettext('CPU(s)'),\n\t textField: 'cpuinfo',\n\t renderer: Proxmox.Utils.render_cpu_model,\n\t value: '',\n\t},\n\t{\n\t itemId: 'kversion',\n\t colspan: 2,\n\t title: gettext('Kernel Version'),\n\t printBar: false,\n\t textField: 'kversion',\n\t value: '',\n\t},\n\t{\n\t itemId: 'version',\n\t colspan: 2,\n\t printBar: false,\n\t title: gettext('PVE Manager Version'),\n\t textField: 'pveversion',\n\t value: '',\n[[:blank:]]*},"
Sinon reprend le script complet : https://github.com/MilesTEG1/proxmox-post-install-scripts/blob/main/4-sensors-amd-pve8.sh
Voici mon retour,@Loutre38
J'ai trouvé comment faire que ça fonctionne avec nos deux fichiers. Remplace la lignea_rechercher
par celle-ci :
Bash:a_rechercher="\t{\n\t xtype: 'box',\n\t colspan: 2,\n\t padding: '0 0 20 0',\n\t},\n\t{\n\t itemId: 'cpus',\n\t colspan: 2,\n\t printBar: false,\n\t title: gettext('CPU(s)'),\n\t textField: 'cpuinfo',\n\t renderer: Proxmox.Utils.render_cpu_model,\n\t value: '',\n\t},\n\t{\n\t itemId: 'kversion',\n\t colspan: 2,\n\t title: gettext('Kernel Version'),\n\t printBar: false,\n\t textField: 'kversion',\n\t value: '',\n\t},\n\t{\n\t itemId: 'version',\n\t colspan: 2,\n\t printBar: false,\n\t title: gettext('PVE Manager Version'),\n\t textField: 'pveversion',\n\t value: '',\n[[:blank:]]*},"
Sinon reprend le script complet : https://github.com/MilesTEG1/proxmox-post-install-scripts/blob/main/4-sensors-amd-pve8.sh
Salut,@Loutre38
Je viens de refaire les essais avec le fichier sauvegardé, donc sans modifications.
Et le script fonctionne pour la version AMD.
Tu lances bien le script depuis une invite root ?
login as: root
root@192.168.1.XXX's password:
Linux pve 6.2.16-10-pve #1 SMP PREEMPT_DYNAMIC PMX 6.2.16-10 (2023-08-18T11:42Z) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sat Sep 30 10:17:36 2023 from 192.168.1.5
root@pve:~# #!/usr/bin/env bash
# ╔══════════════════════════════════════════════════════════════════════════╗
# ║ Script pour ajouter les sondes de températures dans Proxmox VE ║
# ║ Version pour CPU AMD ║
# ╚══════════════════════════════════════════════════════════════════════════╝
# ! À lancer en root !
# chmod 764 *.sh
# ~~~~~~~~~~ Variables à modifier ~~~~~~~~~ #
backup_folder=~/"config-proxmox/backup-$(date +%Y-%m-%d--%Hh%Mm%Ss)"
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
# ~~~~~~~~~~~ Dossier de backup ~~~~~~~~~~~ #
mkdir -p "${backup_folder}"
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
printf "\n-- Script pour configurer les sondes de température dans proxmox --"
printf "\n-- 1. Mise à jour des dépôts et des paquets existants\n"
read -p "Press enter to continue"
sudo apt update && sudo apt upgrade
printf "\n-- 2. Installation des dépendances : lm-sensors\n"
read -p "Press enter to continue"
sudo apt install -y lm-sensors
printf "\n-- 3. Sauvegardes des fichiers à modifer"
cp --parents -v /usr/share/perl5/PVE/API2/Nodes.pm "${backup_folder}"
cp --parents -v /usr/share/pve-manager/js/pvemanagerlib.js "${backup_folder}"
# DEBUG
read -p "Press enter to continue #3 Backup"
# DEBUG
printf "\n-- 4. Édition du fichier '/usr/share/perl5/PVE/API2/Nodes.pm'"
# 1er fichier : /usr/share/perl5/PVE/API2/Nodes.pm
# Source : https://stackoverflow.com/a/12248998/17694638
a_rechercher="\tmy \$dinfo"
a_ajouter="\t\$res->{thermalstate} = \`sensors k10temp-pci-00c3\`;\n\n"
# Vérification que cette modification n'a pas déjà été faite
if ! grep "\$res->{thermalstate} = \`sensors k10temp-pci-00c3\`;" /usr/share/perl5/PVE/API2/Nodes.pm; then
# Modification non faite. On la fait.
sed -i "/$a_rechercher/ { N; s/$a_rechercher/$a_ajouter&/ }" /usr/share/perl5/PVE/API2/Nodes.pm
else
printf "\nLa modification du fichier '/usr/share/perl5/PVE/API2/Nodes.pm' semble déjà avoir été effectuée.\nRien ne sera modifié ici. Vérifier quand même le fichier.\n"
fi
printf "\n-- 5. Édition du fichier '/usr/share/pve-manager/js/pvemanagerlib.js'"
# 2ème fichier : /usr/share/pve-manager/js/pvemanagerlib.js
# Source : https://forum.hardware.fr/hfr/Progr...lusieurs-fichiers-sujet_148479_1.htm#t2454720
# Source : https://superuser.com/questions/112834/how-to-match-whitespace-in-sed
a_rechercher="\t{\n\t xtype: 'box',\n\t colspan: 2,\n\t padding: '0 0 20 0',\n\t},\n\t{\n\t itemId: 'cpus',\n\t colspan: 2,\n\t printBar: false,\n\t title: gettext('CPU(s)'),\n\t textField: 'cpuinfo',\n\t renderer: Proxmox.Utils.render_cpu_model,\n\t value: '',\n\t},\n\t{\n\t itemId: 'kversion',\n\t colspan: 2,\n\t title: gettext('Kernel Version'),\n\t printBar: false,\n\t textField: 'kversion',\n\t value: '',\n\t},\n\t{\n\t itemId: 'version',\n\t colspan: 2,\n\t printBar: false,\n\t title: gettext('PVE Manager Version'),\n\t textField: 'pveversion',\n\t value: '',\n[[:blank:]]*},"
a_remplacer="\t{\n\t xtype: 'box',\n\t colspan: 2,\n\t padding: '0 0 10 0',\n\t},\n\t{\n\t itemId: 'cpus',\n\t colspan: 2,\n\t printBar: false,\n\t title: gettext('CPU(s)'),\n\t textField: 'cpuinfo',\n\t renderer: Proxmox.Utils.render_cpu_model,\n\t value: '',\n\t},\n\t{\n\t itemId: 'kversion',\n\t colspan: 2,\n\t title: gettext('Kernel Version'),\n\t printBar: false,\n\t textField: 'kversion',\n\t value: '',\n\t},\n\t{\n\t itemId: 'version',\n\t colspan: 2,\n\t printBar: false,\n\t title: gettext('PVE Manager Version'),\n\t textField: 'pveversion',\n\t value: '',\n\t},\n\t{\n \titemId: 'thermal',\n \tcolspan: 2,\n \tprintBar: false,\n \ttitle: gettext('CPU Thermal State'),\n \ttextField: 'thermalstate',\n \trenderer:function(value){\n \tconst tdie = value.match(\/Tdie.*?\+([\d\.]+)\/)[1];\n \treturn \`Tdie: \${tdie} ℃ \`;\n \t}\n\t},"
printf "\n-- Script terminé --"la Web-UI"'/usr/share/pve-manager/js/pvemanagerlib.js' semble déjà avoir été effectuée.\nRien ne sera modifié ici. Vérifier quand même le fichier.\n"
-- Script pour configurer les sondes de température dans proxmox --
-- 1. Mise à jour des dépôts et des paquets existants
Press enter to continue
-bash: sudo: command not found
-- 2. Installation des dépendances : lm-sensors
Press enter to continue
-bash: sudo: command not found
-- 3. Sauvegardes des fichiers à modifer/usr -> /root/config-proxmox/backup-2023-10-01--11h49m11s/usr
/usr/share -> /root/config-proxmox/backup-2023-10-01--11h49m11s/usr/share
/usr/share/perl5 -> /root/config-proxmox/backup-2023-10-01--11h49m11s/usr/share/perl5
/usr/share/perl5/PVE -> /root/config-proxmox/backup-2023-10-01--11h49m11s/usr/share/perl5/PVE
/usr/share/perl5/PVE/API2 -> /root/config-proxmox/backup-2023-10-01--11h49m11s/usr/share/perl5/PVE/API2
'/usr/share/perl5/PVE/API2/Nodes.pm' -> '/root/config-proxmox/backup-2023-10-01--11h49m11s/usr/share/perl5/PVE/API2/Nodes.pm'
/usr/share/pve-manager -> /root/config-proxmox/backup-2023-10-01--11h49m11s/usr/share/pve-manager
/usr/share/pve-manager/js -> /root/config-proxmox/backup-2023-10-01--11h49m11s/usr/share/pve-manager/js
'/usr/share/pve-manager/js/pvemanagerlib.js' -> '/root/config-proxmox/backup-2023-10-01--11h49m11s/usr/share/pve-manager/js/pvemanagerlib.js'
Press enter to continue #3 Backup
-- 4. Édition du fichier '/usr/share/perl5/PVE/API2/Nodes.pm' $res->{thermalstate} = `sensors k10temp-pci-00c3`;
La modification du fichier '/usr/share/perl5/PVE/API2/Nodes.pm' semble déjà avoir été effectuée.
Rien ne sera modifié ici. Vérifier quand même le fichier.
-- 5. Édition du fichier '/usr/share/pve-manager/js/pvemanagerlib.js'
-- 6. Redémarrage de la Web-UI
-- Script terminé --root@pve:~#
root@pve:~#
ok je ne pense pas que ce soit putty qui déconne...Oui je lance le script depuis puTTY avec utilisateur root :
Pour cette erreur, ta machine ne doit pas avoir sudo d'installé. Ce n'est pas trop grave, mais supprime le sudo devant les commandes en question.-bash: sudo: command not found
Là j'avoue que je sèche. Tout fonctionne bien sur ma machine... je lance le script sur la machine proxmox, depuis mon mac via iTerm2.J'ai lancé le script depuis le Shell de mon pve, idem aucune modification.
Je suis sur Windows 10 pro.Mais as-tu tenté d'y accéder via un terminal ? (windows terminal)...
NonMais as-tu tenté d'y accéder via un terminal ? (windows terminal)...
Tu as mis le script comment sur ton proxmox ?
Ça pourrait venir de là.Directement copier le code de ton GitHub dans >_ shell de mon pve PROXMOX :
Voila, le problème vient très souvent de la personne devant l'écran/clavier/sourieedit : ha mais tu colles juste comme ça les lignes de code ??!
Malheureux va Pas avec un script .sh !! Fait donc vraiment la suite!
Je comprends mieux ^^Voila, le problème vient très souvent de la personne devant l'écran/clavier/sourie
Je reprends du début sur mes connaissances et mes façons de faire :
- connaissance : débutant ++
- façons de faire : pour mes PIs, Proxmox et mon NAS Syno, je passe toujours en ssh via PuTTy (application sur Windows), ligne de commande (si je ne me trompe pas de définition ) ?
Au début j'ai suivi le tuto, en ssh depuis PuTTy pour modifier les 2 fichiers avec les commandes d'EVOTK (nano/).
Petite différence j'ai CPU AMD et non INTEL.
Puis je regarde/vérifie le/les fichiers que j'ai modifié avec WinSCP.
j'ai lancé ton script via PuTTY en premier.
Je vais regarder/chercher sur internet pour lancer des scripts sur proxmox.
apt update & apt upgrade
apt install git
git clone https://github.com/MilesTEG1/proxmox-post-install-scripts.git
Super merci, les lignes de commandes sont passées dans putty.Sinon, pour récupérer le script sur ta machine proxmox, tu installes git, et tu clones mon dépôt.
Bash:
Code:apt update & apt upgrade apt install git git clone https://github.com/MilesTEG1/proxmox-post-install-scripts.git
cd proxmox-post-install-scripts
chmod +x ./*.sh
4-sensors-amd-pve8.sh
que tu lances avec :./4-sensors-amd-pve8.sh
Salut, Merci pour la lecture.@Loutre38 Tu es vraiment un débutant
Tu vas dans le dossier contenant le dépôt cloné :
Et ensuite, c'est le scriptBash:cd proxmox-post-install-scripts chmod +x ./*.sh
4-sensors-amd-pve8.sh
que tu lances avec :
Code:./4-sensors-amd-pve8.sh
Par contre, faut vraiment que tu fasses attention à ce que tu tapes en ligne de commande sous root. Ça peut provoquer de sérieux dégâts sur ton serveur...
Par exemple, lit ceci :
- https://www.hostinger.fr/tutoriels/commandes-linux
- https://openclassrooms.com/fr/cours...tiliser-la-ligne-de-commande-dans-un-terminal
- https://doc.ubuntu-fr.org/tutoriel/console_ligne_de_commande
- https://kinsta.com/fr/blog/commandes-linux/
- https://buzut.developpez.com/tutoriels/101-commandes-indispensables-sous-linux/
Yes pour le script et les lignes de commande du tuto.@Loutre38
Donc le script fonctionne ^^
Mais les modifications apportées ne fonctionnent pas. Je n'ai fait que placer les modifications données ici dans un script.
La version Intel fonctionne.
Reste plus qu'à trouver la version AMD qui fonctionne
Dès que l'un de vous la trouve, je mettrais à jour le script.
$res->{thermalstate} = `sensors k10temp-pci-00c3`;
{
itemId: 'thermal',
colspan: 2,
printBar: false,
title: gettext('CPU Thermal State'),
textField: 'thermalstate',
renderer:function(value){
const tdie = value.match(/Tctl.*?\+([\d\.]+)/)[1];
return `${tdie} °C `;
}
}