Plus de serveur X suite à e2fsck [résolu]

  1. Voila le résultat :

Lecture des listes de paquets… Fait
Construction de l’arbre des dépendances
Lecture des informations d’état… Fait
0 mis à jour, 0 nouvellement installés, 2 réinstallés, 0 à enlever et 2 non mis à jour.
10 partiellement installés ou enlevés.
Il est nécessaire de prendre 0 o/546 ko dans les archives.
Après cette opération, 0 o d’espace disque supplémentaires seront utilisés.
E: Internal Error, No file name for debconf:amd64

  1. j’ai enlevé /usr/share/perl pour suivre les indications de limax, mais ça n’a pas fonctionné et j’ai restauré le dossier.

total 28
10356376 drwxr-xr-x 3 root root 4096 août 15 2015 .
10354689 drwxr-xr-x 391 root root 12288 avril 21 13:18 …
10356111 lrwxrwxrwx 1 root root 6 mai 3 2015 5.20 -> 5.20.2
10356083 drwxr-xr-x 55 root root 12288 avril 1 18:43 5.20.2

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 :blush:
tape :
# apt-cache depends dpkg
et tape :
# apt-cache depends apt
et apt non plus :smile:

Nous n’avons pas essayé :slight_smile:
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

1 J'aime

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 !