Après quelle commande et avant quelle commande as-tu fait cette opération ? Parce /usr/share/perl enlevé cela a influé sur les résultats des commandes que je t’ai conseillé.
Je regarde le manuel de dpkg :
man dpkg
et je lis :
–configure paquet…|-a|–pending
Reconfiguration d'un paquet dépaqueté mais non
encore configuré. Si l’option -a ou --pending est utilisée au lieu de
paquet, tous les
paquets dépaquetés mais non configurés sont configurés.
J’ai
- enlevé le dossier /usr/share/perl
- essayé un apt-get upgrade
- obtenu les mêmes erreurs…
- restauré le dossier /usr/share/perl
- tenté les commandes que tu as suggéré : apt-get --reinstall install *****
sudo dpkg-reconfigure perl
[sudo] password for tricheur:
Unrecognized character \x1F; marked by <-- HERE after <-- HERE near column 1 at /usr/share/perl/5.20/warnings/register.pm line 1.
Compilation failed in require at /usr/share/perl/5.20/vars.pm line 7.
BEGIN failed–compilation aborted at /usr/share/perl/5.20/vars.pm line 7.
Compilation failed in require at /usr/share/perl/5.20/base.pm line 4.
BEGIN failed–compilation aborted at /usr/share/perl/5.20/base.pm line 4.
Compilation failed in require at /usr/share/perl5/Debconf/Log.pm line 7.
BEGIN failed–compilation aborted at /usr/share/perl5/Debconf/Log.pm line 7.
Compilation failed in require at /usr/share/perl5/Debconf/Db.pm line 7.
BEGIN failed–compilation aborted at /usr/share/perl5/Debconf/Db.pm line 7.
Compilation failed in require at /usr/sbin/dpkg-reconfigure line 11.
BEGIN failed–compilation aborted at /usr/sbin/dpkg-reconfigure line 11.
J’ai l’impression que dpkg, dpkg-reconfigure et autres apt-get dépendent de perl et ne peuvent donc plus travailler car perl n’est plus fonctionnel…
[quote=“trich, post:25, topic:69229”]
J’ai l’impression que dpkg, dpkg-reconfigure et autres apt-get dépendent de perl
[/quote]Déjà dpkg ne dépends pas de perl 
tape :
# apt-cache depends dpkg
et tape :
# apt-cache depends apt
et apt non plus 
Nous n’avons pas essayé 
dpkg --audit
Je tente une hypothèse il faut peut-être reconfigurer debconf et rsyslog avant de reconfiguer perl. Sinon tu peux tenter la reconfiguration totale :
# dpkg-reconfigure -all
mais c’est extrêmement long, il faudra que tu refasses beaucoup de choix que tu avais effectués auparavant mêmes ceux que tu avais oubliés. Et comme tu risque de les avoir oubliés, il y a de grands risques que tu fasses une configuration qui sera différente de maintenant. Détends-toi avant de faire ce grand saut ! Je te laisse pour d’autres activités !
Et bien, même tout reconfigurer, il ne veut pas…
sudo dpkg-reconfigure -all
Unrecognized character \x1F; marked by <-- HERE after <-- HERE near column 1 at /usr/share/perl/5.20/warnings/register.pm line 1.
Compilation failed in require at /usr/share/perl/5.20/vars.pm line 7.
BEGIN failed–compilation aborted at /usr/share/perl/5.20/vars.pm line 7.
Compilation failed in require at /usr/share/perl/5.20/base.pm line 4.
BEGIN failed–compilation aborted at /usr/share/perl/5.20/base.pm line 4.
Compilation failed in require at /usr/share/perl5/Debconf/Log.pm line 7.
BEGIN failed–compilation aborted at /usr/share/perl5/Debconf/Log.pm line 7.
Compilation failed in require at /usr/share/perl5/Debconf/Db.pm line 7.
BEGIN failed–compilation aborted at /usr/share/perl5/Debconf/Db.pm line 7.
Compilation failed in require at /usr/sbin/dpkg-reconfigure line 11.
BEGIN failed–compilation aborted at /usr/sbin/dpkg-reconfigure line 11.
Et voici pour le dpkg --audit :
sudo dpkg --audit
Les paquets suivants ont été dépaquetés mais ne sont pas configurés. Ils
doivent être configurés en utilisant dpkg --configure ou l’option configure
du menu de dselect pour pouvoir fonctionner :
latexmk Perl script for running LaTeX the correct number of times
mysql-server MySQL database server (metapackage depending on the lates
samba-common-bin Samba common files used by both the server and the client
smbclient command-line SMB/CIFS clients for Unix
texlive-full TeX Live: metapackage pulling in all components of TeX Li
Les paquets suivants sont à demi configurés, probablement à cause de
problèmes survenus lors de la première configuration. Il faudrait réessayer
de les configurer en utilisant dpkg --configure ou l’option
configure du menu de dselect :
debconf Debian configuration management system
debsums tool for verification of installed package files against
mysql-apt-config Auto configuration for MySQL APT Repo.
mysql-server-5.5 MySQL database server binaries and system database setup
samba-common common files used by both the Samba server and client
Il semblerait que l’interpréteur perl a du mal avec la ligne 1 du fichier /usr/share/perl/5.20/warnings/register.pm qui comme tout module perl est en clair.
Pour faire bonne mesure le petit père perl semble nous dire que la compilation de ce module est nécessaire car il étatit en train de compiler /usr/share/perl/5.20/vars.pm et que même on était à la ligne 7 de ce fichier.
Vérifions ces dires
fp2x@drhg2:~$ head /usr/share/perl/5.20/vars.pm
package vars;
use 5.006;
our $VERSION = '1.03';
use warnings::register;
use strict qw(vars subs);
sub import {
Nous avons à la ligne 7
use warnings::register;
et donc que pour interpréter/compiler cette ligne il faille lire et interpréter le fichier /usr/share/perl/5.20/warnings/register.pm me sembke on ne peut plus logique.
Voici le début de ce fichier semble-t-il corrompu dans votre système
fp2x@drhg2:~$ head /usr/share/perl/5.20/warnings/register.pm
package warnings::register;
our $VERSION = '1.03';
require warnings;
# left here as cruft in case other users were using this undocumented routine
# -- rjbs, 2010-09-08
sub mkMask
{
Le message parle d’un caractère \x1F en colonne 1, il se pourrait que ce soit une de ces cochonneries de BOM (byte order mark) liée aux encodages unicode. Par exemple si on sérialise en UTF-16 chaque caractère est codé sur deux octets mais selon le boutisme la représentation est inversée (ou pas). En lisant l’article wikipedia https://fr.wikipedia.org/wiki/Indicateur_d’ordre_des_octets je m’aperçois que cela ne donnerait pas de \x1F dans la représentation du IOO.
Je vous suggère donc de bian regarder le fichier /usr/share/perl/5.20/warnings/register.pmau fond des yeux
fp2x@drhg2:~$ head -2 /usr/share/perl/5.20/warnings/register.pm | od -c
0000000 p a c k a g e w a r n i n g s
0000020 : : r e g i s t e r ; \n \n
0000035
Comme le paquet perl est quasiment essentiel pour administrer un système Debian je compatis à votre douleur. Si la corruption du fichier concerné n’est pas facilement réparable je propose d’écraser avec une copie prise sur un système sain.
Comme règle générale je suggère de bien paramétrer le système avec une locale UTF-8 et ne pas oublier les éditeurs et autres outils.
Avec moult caractères non ASCII dans ma signature, je suis sûr que le texte est bien encodé/décodé.
Bon courage.
Cordialement,
Regards,
Mit freundlichen Grüssen,
مع تحياتي الخالصة
F. Petitjean
01 55 24 75 05
« Je préfère le vin d’ici à l’au-delà »
Pierre Dac
Effectivement, ce fichier a l’air bien corrompu :
head -2 /usr/share/perl/5.20/warnings/register.pm | od -c
0000000 037 213 \b \0 \0 \0 \0 \0 002 003 215 S K o 233 @
0000020 020 276 357 257 030 371 224 034 X 342 250 352 301 247 246 251
0000040 # [ j l + 270 R 253 * 207 5 \f 260 362 > 320
0000060 356 020 334 177 337 ] 5 N 016 251 200 Y 230 357 301
0000100 260 3 360 375 \n f 204 247 p 344 3 230 315 303 u 3
0000120 O 302 y { 3 377 024 036 ^ 320 y i \r | 346 267
0000140 < 202 { 374 271 214 T 306 263 025 l 356 036 227 214 177
0000160 205 Q 337 347 262 _ 233 355 . [ g 223 < 374 f |
0000200 \r 333 335 ~ 275 335 d 300 9 217 330 363 220 } X 177
0000220 _ F 233 236 377 334 ; | [ f 367 O 353 236 035 223
0000240 343 033 { h 364 ` | 277 213 P 222 h q D 026 003
0000260 224 326 i A 376 \f 345 5 346 G 326 G 030 277 b 202
0000300 6 316 346 350 = 033 W ( 245 302 211 m 023 J 377 207
0000320 351 346 035 | 272 304 O 357 \b 225 023 M - 363 267 036
0000340 @ 026 < \t S $ B Y 203 0 322 374 T 032 p 272
0000360 P 246 9 235 376 S 255 244 ’ i * 026 W 260 345 240
0000400 312 255 ! 4 t f 225 262 j 035 z V 241 A ’ \b
0000420 301 206 \r z 221 330 \r 222 001 < W d 213 V M 331
0000440 C 002 \n
0000443
Pouvez-vous m’envoyer une copie saine de ce fichier, pour que je puisse le remplacer ?
Un petit lien qui précise cela en détail ?
Merci beaucoup !
Merci littlejohn75 pour pour ce bond énorme dans la compréhension du problème.
à trich, pour le fichier, il faut que ce soit exactement le même. Que le résultat complet de
# apt-cache policy perl
soit le même. Et si tu ouvrais un nouveau fil de messages disant que tu recherches un fichier
/usr/share/perl/5.20/warnings/register.pm propre à ton architecture ?
Très bien, j’ouvre un nouveau sujet de ce pas.
N’est il pas possible de récupérer ce fichier directement sur les archives de Debian ou autre ?
Je vous remercie tous les deux pour l’aide apportée !
Si la réponse de littlejohn nous fait voir un peu plus clair sur le problème, j’ai tout de même 2 petites questions :
Une fois ce fichier corrompu remplacé, comment s’assurer que c’était bien le seul ?
Et comment se fait-il que debsums ne veuille pas s’installer, s’il ne dépend pas de perl ?
Merci !
bonjour, l’outil de vérification debsums dépend de perl, regarde le résultat de :
$ apt-cache depends debsums[quote=“trich, post:34, topic:69229”]
Une fois ce fichier corrompu remplacé, comment s’assurer que c’était bien le seul
[/quote]
J’ai bien peur en effet que ce ne soit pas le seul puisque dans ton message indexé sous le numéro 29 nous pouvons lire :
Compilation failed in require at /usr/share/perl/5.20/base.pm line 4.BEGIN failed–compilation aborted at /usr/share/perl/5.20/base.pm line 4.Compilation failed in require at /usr/share/perl5/Debconf/Log.pm line 7.BEGIN failed–compilation aborted at /usr/share/perl5/Debconf/Log.pm line 7
Je lis les premiers sites indiqués par :
https://ixquick.com/do/search?lui=english&language=english&cat=&query=how+to+fix+corrupted+installation+of+perl+debian+package+?
( Comment réparer un paquet debian perl corrompu ? )
Il y a une méthode intéressante de réparation avec dpkg :
http://www.debianhelp.co.uk/debianproblem.htm
Je traduis et j’adapte l’extrait important :
Réparation en utilisant dpkg
récupération ad hoc d’un dselect écrasé (APT) sur un système vraiment cassé en utilisant simplement dpkg sans APT:
# cd /var/cache/apt/archives
# dpkg -i perl*
# dpkg -i apt*
# dpkg -i paquet-cassé*
jusqu’à ce qu’il n’y ait plus de paquet cassé.
Tu pourrais déjà simuler ces actions avant de les effectuer réellement par mesure de prudence. Soit :
# cd /var/cache/apt/archives
# dpkg --simulate -i perl*
# dpkg --simulate -i apt*
Merci.
dpkg --simulate -i perl*
dpkg: erreur de traitement de l’archive perl* (–install) :
ne peut pas accéder à l’archive: Aucun fichier ou dossier de ce type
Des erreurs ont été rencontrées pendant l’exécution :
perl*
Dans ce cas, d’après ton lien, voici ce qu’il faut faire :
If a package is missing, get it from mirror sites by:
# mc # use “FTP link” pointing to Debian FTP server
As of recently, actual packages on the HTTP/FTP server may not be located under the classic /dist directory but rather under the new /pool directory.Then install by:
# dpkg -i /var/cache/apt/archives/packagefile.deb
Je ne comprends pas vraiment ce que cela veut dire… Peux-tu m’expliquer ?
Merci beaucoup !
Avant de se précipiter pour lancer des commandes pour réparer votre système, la première chose à faire est de trouver ce qui cloche, la deuxième est de trouver une solution, la troisième est de bien comprendre les effets des commandes pour avoir un enchaînement logique, …
Pour diagnostiquer la cause réelle du problème je vous ai mis sur la piste hier soir en vous suggérant de vérifier l’état du fichier /usr/share/perl/5.20/warnings/register.pm qui hélas n’a pas été réparé par e2fsck. Je n’ai pas eu le temps de vous montrer comment trouver à quel paquet appartient ce fichier.
Aujourd’hui une panne de la climatisation de ce qui sert de salle machines m’a obligé à arrêter un certain nombre de serveurs et m’a fait perdre pas mal de temps et d’énergie.
Pour trouver à quel paquet appartient un fichier je fais
dpkg-query --search /chemin/absolu/vers/fichier
Utilisation
fp2x@halc10:~$ dpkg-query --search /usr/share/perl/5.20/warnings/register.pm
dpkg-query: aucun chemin ne correspond à /usr/share/perl/5.20/warnings/register.pm
Ce n’est décidément pas votre jour de chance.
Mais un bon investigateur sait être tenace.
Dans le message 29 [quote=“trich, post:28, topic:69229”]
BEGIN failed–compilation aborted at /usr/share/perl/5.20/vars.pm line 7.Compilation failed in require at /usr/share/perl/5.20/base.pm line 4.BEGIN failed–compilation aborted at /usr/share/perl/5.20/base.pm line 4.Compilation failed in require at /usr/share/perl5/Debconf/Log.pm line 7.
[/quote]
Je remonte dans la pile des fichiers indiqués
fp2x@halc10:~$ dpkg-query --search /usr/share/perl5/Debconf/Log.pm
debconf: /usr/share/perl5/Debconf/Log.pm
C’est le paquet debconf qui est mal en point, suite à votre problème de disque.
Mais comme indiqué ailleurs ce n’est peut-être pas le seul.
Il est urgent de ne pas se précipiter. Mais une réinstallation de debconf à coup de dpkg -i debconf_truc.deb me semble à envisager, mais seulement après nous avoir donner des informations sur l’architecture de votre système et sur ce fameux .deb
fp2x@halc10:/var/cache/apt/archives$ stat debconf_1.5.56_all.deb
Fichier : « debconf_1.5.56_all.deb »
Taille : 167410 Blocs : 336 Blocs d'E/S : 4096 fichier
Périphérique : 836h/2102d Inœud : 113714 Liens : 1
Accès : (0644/-rw-r--r--) UID : ( 0/ root) GID : ( 0/ root)
Accès : 2015-10-26 16:59:20.000000000 +0100
Modif. : 2015-03-19 02:10:48.000000000 +0100
Changt : 2015-10-26 16:54:25.000000000 +0100
Créé : -
fp2x@halc10:/var/cache/apt/archives$ dpkg --print-architecture
powerpc
fp2x@halc10:/var/cache/apt/archives$
N’oubliez pas d’entourer avec un balisage triple backticks les copies des commandes que vous coller dans votre réponse.
Chaque chose en son temps, on va y arriver.
Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة
F. Petitjean
« On ne perd pas son temps en aiguisant ses outils. »
Proverbe français
Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. (R. Devos)
Bonjour,
Avec l’aide de PascalHambourg sur l’autre fil, je suis parvenu à éliminer les erreurs relatives à perl.
Désolé du contretemps, mais ce problème est désormais résolu (ouf !).
Toutefois, mon problème initial est, quant à lui, toujours bien présent : gnome ne se lance plus au démarrage du système.
Lors du boot, des lignes de log s’affichent, précédées d’un " [OK] ", quand tout va bien. Depuis l’apparition du problème, certaines de ces lignes sont précédées de " [FAILED] ".
Ca passe un peu trop vite pour que j’arrive à tout lire, mais il me semble que, entre autres, c’est LSB qui ne démarre pas correctement. Où peut on récupérer ces logs ? J’ai regardé du côté de bootlogd, mais je n’ai pas compris son fonctionnement : /var/log/boot contient ‘(Nothing has been logged yet)’
Merci
Il ne faut pas perdre le cap et :
1] configurer correctement les paquets mal configurés que tu trouveras avec : # dpkg --audit
2] vérifier si il n’y pas d’autres paquets altérés :
https://raphaelhertzog.fr/2011/09/30/garder-un-systeme-debian-propre-astuce-n°4-trouver-et-reinstaller-les-paquets-alteres/
Donc lancer # debsums --changed
puis les réparer éventuellement si il y en a. La méthode de réparation est expliquée sur le site.
3] Puis quand c’est fait :
4] Nous verrons les logs que au cas où les 3 opérations décrites plus haut ne changeraient rien vis à vis du démarrage de gnome
[quote=“trich, post:38, topic:69229, full:true”]
Bonjour,
Toutefois, mon problème initial est, quant à lui, toujours bien présent : gnome ne se lance plus au démarrage du système.
Lors du boot, des lignes de log s’affichent, précédées d’un " [OK] ", quand tout va bien. Depuis l’apparition du problème, certaines de ces lignes sont précédées de " [FAILED] ".
Ca passe un peu trop vite pour que j’arrive à tout lire, mais il me semble que, entre autres, c’est LSB qui ne démarre pas correctement. Où peut on récupérer ces logs ? J’ai regardé du côté de bootlogd, mais je n’ai pas compris son fonctionnement : /var/log/boot contient ‘(Nothing has been logged yet)’
Merci
[/quote]Je pense qu’il est préférable de tout nettoyer et réparer avant de s’occuper des logs de boot pour un démarrage avec gnome d’abord parce que cela sera de tout façon à faire et aussi parce qu’il est possible que cela règle le problème du démarrage de gnome. Pour la page weg que tu pointes ( https://wiki.debian.org/bootlogd ), tu n’es pas concerné :
If you use systemd as your init system, you may need to use systemctl to debug boot problems.
Si vous utilisez systemd comme système d’initialisation, vous devez utiliser systemcl pour débugguer les problèmes de démarrage.
Donc aller voir : https://freedesktop.org/wiki/Software/systemd/Debugging/ ce qui nettement plus compliqué à mettre en oeuvre que les les solutions précédentes. Je préfère éviter si nous pouvons nous en passer. Si tu devais en passer par là, il faudrait créer un nouveau sujet spécifique. Bonne journée de samedi !
Bonjour,
Désolé pour mon absence, je n’avais pas internet jusqu’à cet après-midi.
Reprenon dans l’ordre :
1] #dpkg --audit
J’obtiens ceci :
Les paquets suivants ont été dépaquetés mais ne sont pas configurés. Ils
doivent être configurés en utilisant dpkg --configure ou l'option configure
du menu de dselect pour pouvoir fonctionner :
latexmk Perl script for running LaTeX the correct number of times
mysql-server MySQL database server (metapackage depending on the lates
texlive-full TeX Live: metapackage pulling in all components of TeX Li
Les paquets suivants sont à demi configurés, probablement à cause de
problèmes survenus lors de la première configuration. Il faudrait réessayer
de les configurer en utilisant dpkg --configure <paquet> ou l'option
configure du menu de dselect :
mysql-server-5.5 MySQL database server binaries and system database setup
Je précise que ces paquets non-configurés l’étaient déjà avant mon problème, et je n’avais pas pris le temps de les résoudre car ils n’impactaient pas mon utilisation de ma debian…
Si je les configure avec # dpkg --configure paquet :
Paramétrage de latexmk (1:4.39-1) ...
dpkg: erreur de traitement du paquet latexmk (--configure) :
impossible de calculer le somme de contrôle MD5 pour le fichier « /etc/LatexMk » : échec de lecture (Erreur d'entrée/sortie)
dpkg: des problèmes de dépendances empêchent la configuration de mysql-server :
mysql-server dépend de mysql-server-5.5 ; cependant :
Le paquet mysql-server-5.5 n'est pas encore configuré.
dpkg: erreur de traitement du paquet mysql-server (--configure) :
problèmes de dépendances - laissé non configuré
dpkg: des problèmes de dépendances empêchent la configuration de texlive-full :
texlive-full dépend de latexmk ; cependant :
Le paquet latexmk n'est pas encore configuré.
dpkg: erreur de traitement du paquet texlive-full (--configure) :
problèmes de dépendances - laissé non configuré
Des erreurs ont été rencontrées pendant l'exécution :
latexmk
mysql-server
texlive-full
Si je tente de configurer mysql-server5.5, je dois entrer un nouveau mot de passe root, ou bien laisser vide pour conserver le mot de passe actuel. Peu importe ce que je fasse, j’obtiens cette erreur :
Paramétrage de mysql-server-5.5 (5.5.47-0+deb8u1) ...
Job for mysql.service failed. See 'systemctl status mysql.service' and 'journalctl -xn' for details.
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: erreur de traitement du paquet mysql-server-5.5 (--configure) :
le sous-processus script post-installation installé a retourné une erreur de sortie d'état 1
Des erreurs ont été rencontrées pendant l'exécution :
mysql-server-5.5
Si j’exécute les commandes comme conseillé, voici ce que j’obtiens :
# systemctl status mysql.service
● mysql.service - LSB: Start and stop the mysql database server daemon
Loaded: loaded (/etc/init.d/mysql)
Active: failed (Result: exit-code) since dim. 2016-04-24 18:17:13 CEST; 1min 46s ago
Process: 23147 ExecStart=/etc/init.d/mysql start (code=exited, status=1/FAILURE)
avril 24 18:17:13 jo mysql[23147]: Starting MySQL database server: mysqld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . failed!
avril 24 18:17:13 jo systemd[1]: mysql.service: control process exited, code=exited status=1
avril 24 18:17:13 jo systemd[1]: Failed to start LSB: Start and stop the mysql database server daemon.
avril 24 18:17:13 jo systemd[1]: Unit mysql.service entered failed state.
Et pour # journalctl -xn rien qui ne se réfère à mysql.
Concernant le paquet latexmk, je ne comprends pas l’erreur…
2] Je n’ai donc pas résolu les problèmes de configuration des paquets, mais j’ai néanmoins exécuté debsums pour réinstaller les paquets altérés… et il y en avait beaucoup !
J’ai réinstallé tous ce qui était possible, mais certaines erreurs continuent d’apparaitre, même après 2 réinstallations… tant pis.
3] J’ai reconfiguré gdm3, ceci s’est passé sans problème ! Désormais, gnome se lance automatiquement au démarrage, j’ai retrouvé un fonctionnement similaire à avant le problème.
Je considère que le problème est résolu, je modifie le fil en conséquence. Néanmoins, peux-tu me dire s’il est possible de configurer simplement/rapidement ces quelques paquets récalcitrants ? Si ce n’est pas le cas, j’ouvrirai un autre fil lorsque j’aurai un peu plus de temps, ce n’est pas urgent.
Merci beaucoup pour votre aide, @gilles2 et @littlejohn75 . Je vous suis très reconnaissant pour le temps que vous avez passé à résoudre mon problème ! Merci infiniment !