bonjour! je viens de cloner un syst RHEL6 sous VMware il y a deux semaines. Le lendemain, le système cloné m'a envoyé un message comme ceci
"setterm: $TERM is not defined.
setterm: $TERM is not defined.
/etc/cron.hourly/mcelog.cron:
setterm: $TERM is not defined."
et ç'est encombrant de le voir tous les heures! Est-ce que quelqu'un aurait une solution?
Merci!
# c'est marqué dessus
Posté par NeoX . Évalué à 5.
faut juste le definir et tu n'auras plus le message d'alerte.
[^] # Re: c'est marqué dessus
Posté par VASHIA . Évalué à 0.
Merci NeoX! mais le problème c'est COMMENT DEFINIR $TERM?
[^] # Re: c'est marqué dessus
Posté par nono14 (site web personnel) . Évalué à 2.
man bash et plus particulièrement la section ENVIRONNEMENT
Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités
[^] # Re: c'est marqué dessus
Posté par VASHIA . Évalué à 0.
Après avoir lu le manuel de bash hier, j'ai essayé cette commande:
declare -x TERM="xterm",
mais ce matin je reçois toujours le même message:
setterm: $TERM is not defined.
[^] # Re: c'est marqué dessus
Posté par NeoX . Évalué à 3.
il faut connaitre le profil qui lance le cron, et configuré son environnement.
si tu fais
declare -x TERM="xterm"
dans ton terminal ou ton ssh courant, il ne sera pas pris en compte pour les autres utilisateurs ou pour le systeme.regardes du coté des fichiers /etc/profile, /etc/bashrc
oui bien simplement ouvre le script (probablement mcelog.cron) qui fait le
setterm $TERM
et remplace le par
setterm xterm
ousetterm vt100
[^] # Re: c'est marqué dessus
Posté par VASHIA . Évalué à -1.
Encore meri NeOx!
Je n'ai pas trouvé le profil qui lance mcelog.cron mais voici un bout de code du fichier /etc/bqshrc
if [ "$PS1" ]; then
if [ -z "$PROMPT_COMMAND" ]; then
case $TERM in
xterm*)
…..
et le fichier /etc/profile ne contient pas de terme qui se reférencie à $TERM.
Comment dois-je procéder à définir la valeur de $TERM?
Merci
[^] # Re: c'est marqué dessus
Posté par NeoX . Évalué à 2.
ouvre ton fichier mcelog.cron
et remplace la ligne
setterm $TERM
par
setterm xterm
ca devrait bien suffire
[^] # Re: c'est marqué dessus
Posté par VASHIA . Évalué à 0.
je vous remercie tous pour votre attention,
Je reformule le problème:
A est le système originale
B est le clone de A
après le clonage, B envoie tous les heures un erreur comme ceci:
_setterm: $TERM is not defined.
setterm: $TERM is not defined.
/etc/cron.hourly/mcelog.cron:
setterm: $TERM is not defined.
_
j'ai passé beaucoup de temps a comparer les fichiers suivant pour A et B:
_
mcelog.cron
- /etc/profile
- /etc/bashrc_
mais je ne vois aucune différence entre ces fichiers!
j'ai redéfini la variable $TERM
#declare -x $TERM="xterm"
mais ça ne marche toujours pas!
[^] # Re: c'est marqué dessus
Posté par NeoX . Évalué à 3.
je reitere mes reponses
ou as tu fais cette declaration ?
le diese suppose deux possibilités :
- sur la ligne de commande de root
- dans un script mcelog.cron, bashrc, profile ?
si c'est sur la ligne de commande, je doute que l'environnement ainsi declaré soit celui dont ce sert mcelog.cron
si c'est dans un script, le # va le mettre en commentaire et la ligne ne sera tout simplement pas executé.
de plus en shell (bash, sh) on declare un variable sans le $ et on l'utilise avec.
il faudrait donc faire
declare -x TERM="xterm"
[^] # Re: c'est marqué dessus
Posté par VASHIA . Évalué à -1.
Ah Oui!!!, c'est vrai j'ai oublie de le préciser: j'ai redéfini la variable TERM en ligne de commande (session root)
Et un grand merci pour le remarque de la déclaration de variable. J'ai oublie cette notion!
Je vais testé!
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.