View previous topic :: View next topic |
Author |
Message |
morsafr n00b
Joined: 11 Jan 2003 Posts: 74 Location: France
|
Posted: Fri Aug 15, 2003 10:05 am Post subject: [portage] Messages lors de la mise à jour |
|
|
Salut à tous,
Lorsque je fais une mise à jour du style "emerge -u world", il se peut qu'emerge affiche différents messages pour avertir de manipulations à effectuer après la mise à jour du système. Par exemple, lors de l'install des pilotes nVidia, emerge indique qu'on peut changer la version d'OpenGL pour utiliser celle fournie par nVidia...
Pour être honnête, je dois avouer que je ne reste pas des heures devant mon PC à attendre la fin de la mise à jour.
Ma question est donc la suivante : y a t-il un moyen de consulter ces messages après que la mise à jour ait eu lieu ?
Merci d'avance. |
|
Back to top |
|
|
Tucs n00b
Joined: 24 Sep 2002 Posts: 45
|
Posted: Fri Aug 15, 2003 1:32 pm Post subject: |
|
|
normalement tu as les infos dans le .ebuild que tu as "emergé" |
|
Back to top |
|
|
morsafr n00b
Joined: 11 Jan 2003 Posts: 74 Location: France
|
Posted: Fri Aug 15, 2003 5:41 pm Post subject: |
|
|
Ok merci pour l'info |
|
Back to top |
|
|
DuF Advocate
Joined: 09 Dec 2002 Posts: 2687 Location: Paris
|
Posted: Sat Aug 16, 2003 10:03 am Post subject: |
|
|
Et sinon ce serait bien de faire le sujet de ton thread comme tous les autres, de la forme [CLASSE] problème |
|
Back to top |
|
|
yaubi Apprentice
Joined: 15 Jan 2003 Posts: 194 Location: Oxford, UK
|
Posted: Mon Aug 18, 2003 7:57 am Post subject: |
|
|
Si ton fichier /etc/make.conf contient une ligne de la forme PORT_LOGDIR=/var/log/portage, chaque installation laissera un fichier d'évènements dans le répertoire indiqué. Dans le cas d'un emerge world, ce n'est pas très pratique.
Une autre solution consiste à utiliser script (packet sys-apps/util-linux) avant ton emerge. Script lance une nouvelle instance de ton shell et enregistre tout ce qui s'y passe. Par défaut, le fichier résultant est ./typescript. On peut sortir de la session script en tapant exit ou avec la combinaison de touches Ctrl+d.
La méthode que j'emploie est de lancer l'emerge dans un screen (packet app-misc/screen)avec l'option -L, qui lui demande de logguer tout ce qui se passe sur l'écran. Le fichier résultant est ./screenlog.0. L'avantage de screen par rapport à script est que s'y tu lances ton emerge à distance et que la connection est perdue (à cause d'une déconnection quotidienne par exemple). L'inconvénient de screen est qu'il redéfinit quelques raccourcis clavier bien pratiques utilisés par readline, comme Ctrl+a par exemple (= revenir au début de la ligne de commande) et qu'il devient alors impossible de remonter dans la console avec Shift+PageUp.
<OFF>
Tant que l'on parle de petits utilitaires de ce genre, laissez-moi vous présenter splitvt (packet app-misc/splitvt). Celui-là permet de découper une console en deux horizontalement, avec possibilité de naviguer entre les deux, de modifier le rapport de taille. C'est très pratique lorsqu'on veut avoir une page de manuel ouverte devant les yeux en même temps qu'un interpréteur de commande.
</OFF> |
|
Back to top |
|
|
yuk159 Veteran
Joined: 18 Apr 2003 Posts: 1802 Location: noumea ,nouvelle-caledonie
|
Posted: Mon Aug 18, 2003 11:26 am Post subject: |
|
|
yaubi wrote: | Une autre solution consiste à utiliser script (packet sys-apps/util-linux) avant ton emerge. Script lance une nouvelle instance de ton shell et enregistre tout ce qui s'y passe. Par défaut, le fichier résultant est ./typescript. |
Merci pour l'astuce yaubi je connaissais pas
Ya toujours la possibilte de rediger les sorties standards vers des fichiers (d'accord c'est un peut archaique mais c'est tres simple ) _________________ The box said: "Requires Windows 98/2000/XP/NT, or better."
So, I installed LINUX!
Instagram |
|
Back to top |
|
|
TGL Bodhisattva
Joined: 02 Jun 2002 Posts: 1978 Location: Rennes, France
|
Posted: Mon Aug 18, 2003 1:53 pm Post subject: |
|
|
Thanks Yaubi, bon post.
yaubi wrote: | Si ton fichier /etc/make.conf contient une ligne de la forme PORT_LOGDIR=/var/log/portage, chaque installation laissera un fichier d'évènements dans le répertoire indiqué. Dans le cas d'un emerge world, ce n'est pas très pratique. |
Pas tres pratique c'est vrai :
- y'a plein de fichiers, prefixes par des numeros ce qui rend pas la recherche du "bon" fichier tres pratique
- les messages " * un info capitale" contiennent des caracteres d'echappement qui rendent les grep peu pratiques
Du coup, je me suis fait un ch'tit script qui :
- sans arguments, affiche les einfos et autres ewarnings de tous les logs
- avec un argument, affiche juste ceux des paquets dont le nom matche l'argument
Ca donne ca : Code: | thomas@gromit gentoo $ ./portlog-info baselayout
########## baselayout-1.8.6.10 ##########
* Checking if we need to tweak CONFIG_PROTECT_MASK
* Building utilities...
* Building sysvinit...
* Installing utilities...
* Installing sysvinit...
* Removing invalid backup copies of critical config files...
* Please be sure to update all pending '._cfg*' files in /etc are updated,
* else things might break at your next reboot! You can use 'etc-update'
* to accomplish this:
* # etc-update
* Please note that /sbin/update-modules moved to /sbin/modules-update
* for consistency reasons. |
Et voila le script ("portlog-info" chez moi) : Code: | #!/bin/bash
PORTLOGDIR="/var/log/portage"
cd ${PORTLOGDIR}
nocolor() {
sed -e s:'[^[:print:]]'::g \
-e s:'\[3.;01m'::g \
-e s:'\[0m'::g $1
}
for logfile in *$1*
do
if [ 0 -ne "`nocolor ${logfile} | grep -c "^\ \*\ "`" ]
then
echo
echo -n "########## "
echo -n ${logfile} | sed -e s:"^[0-9]*-":: -e s:".log$"::
echo " ##########"
nocolor ${logfile} | sed -n -e "
/^\ \*\ /{
i
p
n
:block
/^\ \*\ /{
p
n
b block
}
}"
fi
done | En gros, il vire les couleurs des fichiers, trouve ceux qui ont le bon nom et des lignes en " * qqch", et affiche ces lignes en essayant de garder separes les blocs de lignes. C'est ameliorable (on pourrait surement conserver les couleurs), mais bon, la flemme, c'est un peu chaud le sed comme ca la rentree...
<semi-off>
Ah, et puis je devie, mais tant qu'on parle de ce repertoire de logs... Il est pas gerable avec les scripts de rotation de logs classique (multitude de petits fichiers au lieu d'un seul gros fichier), donc moi ce que je fait c'est que je le nettoie avec "tmpreapper". Cf. la derniere ligne de mon "/etc/cron.daily/tmpreaper": Code: | #!/bin/sh
/usr/sbin/tmpreaper --mtime-dir --symlinks 7d \
--protect '/tmp/.X*-{lock,unix,unix/*}' \
--protect '/tmp/.ICE-{unix,unix/*}' \
/tmp
/usr/sbin/tmpreaper --mtime-dir --symlinks 7d /var/tmp
/usr/sbin/tmpreaper --mtime-dir --symlinks 14d /var/log/portage | (enfin bon, le "clean" de portage vide deja les vieux logs, donc c'est pas indispensable, mais je sais pas, j'aime pas les vieux fichiers moi...)
</semi-off>
<off>
Desole pour les accents, ma touche Compose marche plus, bizarre... flemme de chercher pourquoi.
</off> |
|
Back to top |
|
|
yuk159 Veteran
Joined: 18 Apr 2003 Posts: 1802 Location: noumea ,nouvelle-caledonie
|
Posted: Mon Aug 18, 2003 5:17 pm Post subject: |
|
|
Puree, faudrait carrement le mettre en tips ce thread _________________ The box said: "Requires Windows 98/2000/XP/NT, or better."
So, I installed LINUX!
Instagram |
|
Back to top |
|
|
TGL Bodhisattva
Joined: 02 Jun 2002 Posts: 1978 Location: Rennes, France
|
Posted: Tue Aug 19, 2003 1:09 pm Post subject: |
|
|
Allez, le même, mais qui conserve les couleurs: Code: | #!/bin/bash
# Usage: "portlog-info [pkg-name]"
PORT_LOGDIR="`sed -n s:^PORT_LOGDIR=::p /etc/make.conf`"
if [ -d "${PORT_LOGDIR}" ]
then
cd ${PORT_LOGDIR}
else
echo "PORT_LOGDIR not found."
exit 1
fi
for logfile in $( ls *$1* 2> /dev/null )
do
if [ 0 -ne "`cat -v ${logfile} | grep -c "^\ \^\[\[..;01m\*"`" ]
then
echo -n "########## "
echo -n ${logfile} | sed -e s:"^[0-9]*-":: -e s:".log$"::
echo " ##########"
sed -n -e "
/^\ \o033\[..;01m\*/{
i
p
n
:block
/^\ \o033\[..;01m\*/{
p
n
b block
}
}" ${logfile}
echo
fi
done |
|
|
Back to top |
|
|
yuk159 Veteran
Joined: 18 Apr 2003 Posts: 1802 Location: noumea ,nouvelle-caledonie
|
Posted: Sun Sep 07, 2003 4:15 pm Post subject: |
|
|
Merci encore m'sieur TGL pour ce script je viens encore de m'en servir et c'est tres pratique _________________ The box said: "Requires Windows 98/2000/XP/NT, or better."
So, I installed LINUX!
Instagram |
|
Back to top |
|
|
TGL Bodhisattva
Joined: 02 Jun 2002 Posts: 1978 Location: Rennes, France
|
Posted: Sun Sep 07, 2003 4:44 pm Post subject: |
|
|
J'ai une version plus complète sur le feu, mais c'est pas pour tout de suite, j'ai peu de temps ces jours ci. Les "features" seront en gros (copy/paste d'une vieille TODO):
Code: | # - des options pour dire quoi afficher:
# -e, --errors
# -w, --warnings
# -i, --infos
# -p, --portage (les message portage "!!! blabla" et autres)
# (et on prend tout par défaut)
# - match + précis des noms de paquets (et version précise si spécifiée ?)
# (regexp sur le nom, et '.*' par défaut)
# - option pour dire depuis quand les logs nous intérressent:
# -s[x][u], --since=[x][u]
# avec [x] un nombre et [u] une unité (h, d, m, y)
# - option pour accepter les logs monochrome: -m, --monochrome
# (resultats ? si bon, alors virer option et conserver par défaut)
# - afficher la date du log |
Si vous avez d'autres idée, c'est le moment. |
|
Back to top |
|
|
yuk159 Veteran
Joined: 18 Apr 2003 Posts: 1802 Location: noumea ,nouvelle-caledonie
|
Posted: Mon Sep 08, 2003 5:40 pm Post subject: |
|
|
Bin deja t'as pense a plus de choses que moi
Mais effectivement, le script et deja bien pratique mais la ca deviendrait carrement royal _________________ The box said: "Requires Windows 98/2000/XP/NT, or better."
So, I installed LINUX!
Instagram |
|
Back to top |
|
|
TGL Bodhisattva
Joined: 02 Jun 2002 Posts: 1978 Location: Rennes, France
|
Posted: Tue Dec 09, 2003 10:48 am Post subject: |
|
|
Voilà donc, après un petit oubli et un salutaire rappel de yuk dans un autre thread, une version plus évoluée du script "portlog-info". Vu qu'il a grossi considérablement, je l'ai mis en téléchargement.
En éspèrant que ce sera effectivement «royal», mais j'ai comme un doute...
PS: il est nul ce nom, "portlog-info", y'a pas qlq'un qui aurait une meilleure idée ? |
|
Back to top |
|
|
yuk159 Veteran
Joined: 18 Apr 2003 Posts: 1802 Location: noumea ,nouvelle-caledonie
|
Posted: Sat Dec 13, 2003 2:53 pm Post subject: |
|
|
Pourquoi pas portlog-tout-court ?
Merci en tout cas TGL _________________ The box said: "Requires Windows 98/2000/XP/NT, or better."
So, I installed LINUX!
Instagram |
|
Back to top |
|
|
ercete Guru
Joined: 11 Dec 2003 Posts: 426 Location: France, Avignon
|
Posted: Fri Feb 20, 2004 6:17 pm Post subject: |
|
|
Bon un ptit up parce qu'on en parle ces temps-ci
et pour le nom:
emerlog --bof
emerde --ouais ok
logaport ? _________________ Oh look... is it a stockbroker? Is it a quantity Surveyor? Is it a church warden?
NO! It's Bicycle Repair Man!
jadis raoulchatigré |
|
Back to top |
|
|
yoyo Bodhisattva
Joined: 04 Mar 2003 Posts: 4273 Location: Lyon - France
|
Posted: Mon Feb 23, 2004 10:18 am Post subject: |
|
|
TGL wrote: | En éspèrant que ce sera effectivement «royal», mais j'ai comme un doute... |
J'utilise "portlog-info" depuis quelque temps déja et je le trouve "princier".
Il serait "royal" (), s'il était possible de spécifier une date (par exemple) comme argument, afin qu'il n'affiche que les logs du dernier "emerge world" par exemple. _________________ La connaissance s'accroît quand on la partage.
JCB |
|
Back to top |
|
|
cylgalad Veteran
Joined: 18 Apr 2003 Posts: 1327 Location: France
|
Posted: Mon Feb 23, 2004 11:42 am Post subject: |
|
|
raoulchatigre wrote: | Bon un ptit up parce qu'on en parle ces temps-ci
et pour le nom:
emerlog --bof
emerde --ouais ok
logaport ? |
emerde, il y a déjà un truc qui s'appelle comme ça :
http://emerde.freaknet.org/ en gros c'est portage pour slackware
Sinon portlog-info, très pratique (un peu lent toutefois ) |
|
Back to top |
|
|
TGL Bodhisattva
Joined: 02 Jun 2002 Posts: 1978 Location: Rennes, France
|
Posted: Mon Feb 23, 2004 12:29 pm Post subject: |
|
|
yoyo wrote: | Il serait "royal" (), s'il était possible de spécifier une date (par exemple) comme argument, afin qu'il n'affiche que les logs du dernier "emerge world" par exemple. |
Le --since (-s) ne fait pas l'affaire pour ça ? Moi je fait généralement des "-s1d" par exemple pour voir ce qui s'est fait dans la journée. Je vois pas exactement ce que tu voudrais, si tu peux détailler, je suis preneur. Mais bon, ce qu'il faudrait vraiment c'est exploiter le emerge.log aussi, ça permettrai par exemple d'avoir une option --last qui donne juste les infos relatives au dernier appel d'emerge, des trucs comme ça. Ce qui m'embête, c'est que ça va commencer à faire un truc compliqué pour du bash, faudrait que je le refasse en python. Enfin, un soir de désoeuvrement, pourquoi pas... Ah ouais, et puis si, y'a le problème que le emerge.log moi je le logrotate, et je suis probablement pas le seul. Comme logrotate est un peu crétin et fait les rotations sur des fichiers complets au lieu de les faire sur des demi-fichiers (ce qui assurerait qu'on a toujours du log à se mettre sous la dent), il faudrait que je feinte en allant aussi chercher dans le emerge.log.1.gz quand il existe, ou qqch comme ça.
Sinon, pour le nom, j'aimais bien "emerde" (j'ai passé le WE avec le dévelopeur de la "libcaca", ça influence...), c'est dommage que ce soit déjà pris ça. Je piocherai dans vos autres suggestions pour la prochaine release (quand y'en aura une...). Peut être qu'un truc commençant par "e" serait bien, vu que c'est +/- la convention pour les utilitaires gentoo. "elog" serait peut-être le nom le plus logique en fait, mais c'est un peu bateau... |
|
Back to top |
|
|
yoyo Bodhisattva
Joined: 04 Mar 2003 Posts: 4273 Location: Lyon - France
|
Posted: Mon Feb 23, 2004 12:53 pm Post subject: |
|
|
TGL wrote: | Le --since (-s) ne fait pas l'affaire pour ça ? Moi je fait généralement des "-s1d" par exemple pour voir ce qui s'est fait dans la journée. Je vois pas exactement ce que tu voudrais, si tu peux détailler, je suis preneur. | Ça, c'est déja excellent, c'est clair ... En fait, ce que je souhaiterai, c'est afficher les logs d'une date précise (pas forcément les derniers).
Je sais, c'est du chippotage alors ne te prends pas la tête pour ça (il est déja excellent comme ça ton soft) !!!
Sinon, pour le nom, tu peux jouer sur l'othographe et l'appeler "emmerde" mais comme c'est un soft qui permet justement de les éviter en accédant aux logs qu'on ne regarde pas forcément pendant l'emerge, j'aurais plutôt pensé à quelque chose du style "emmerde-free". _________________ La connaissance s'accroît quand on la partage.
JCB |
|
Back to top |
|
|
Mickael Advocate
Joined: 05 Sep 2005 Posts: 2387 Location: ~Belfort! - France - EU
|
Posted: Wed Dec 07, 2005 12:31 pm Post subject: |
|
|
Salut,
j'ai une petite question de débutant.
Dans le script de TGL on retrouve la ligne de code faisant référence à PORT_LOGDIR dans le fichier /etc/make.conf.
Ma question est:
Doit-on remplacer dans le script la ligne suivante:
Code: |
# Change this if you want to force PORT_LOGDIR
PORT_LOGDIR="$(/usr/lib/portage/bin/portageq envvar PORT_LOGDIR)"
|
par:
Code: |
PORT_LOGDIR=/var/log/portage
|
ou par:
Code: |
PORT_LOGDIR="`sed -n s:^PORT_LOGDIR=::p /etc/make.conf`"
|
Voilà. Question qui peut vous paraître stupide mais je n'ai jamais écrit de script bash.
Merci
EDIT1: @TGL Je viens de tester et..... C'EST tout simplement EXCELLENT!!!!!!!!
EDIT2:@TGL Juste une remarque: je n'ai rien touché.
Last edited by Mickael on Wed Dec 07, 2005 5:33 pm; edited 2 times in total |
|
Back to top |
|
|
TGL Bodhisattva
Joined: 02 Jun 2002 Posts: 1978 Location: Rennes, France
|
Posted: Wed Dec 07, 2005 12:57 pm Post subject: |
|
|
MickTux wrote: | Doit-on remplacer dans le script la ligne suivante: Code: | # Change this if you want to force PORT_LOGDIR
PORT_LOGDIR="$(/usr/lib/portage/bin/portageq envvar PORT_LOGDIR)" | |
Bah en fait en principe y'a pas besoin de la remplacer par quoi que ce soit.
Essaye donc ça dans ta ligne de commande : Code: | % /usr/lib/portage/bin/portageq envvar PORT_LOGDIR | Si ça marche, c'est à dire si ça te renvoie un truc du genre /var/log/portage, alors touche à rien, tu es bon.
Si ça ne marche pas, alors c'est dans ton /etc/make.conf que tu as du changement à faire : là, il faut que tu ajoutes la définition du répertoire de log, genre : Code: | PORT_LOGDIR=/var/log/portage |
Et après vérifie si la commande précédente (portageq) fonctionne. |
|
Back to top |
|
|
p0uLp3 n00b
Joined: 26 May 2005 Posts: 14 Location: /dev/proc
|
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|