problème locale UTF-8 ISO-8859-1

Bonsoir,

J’ai voulu changer les valeurs de locales parce que j’avais un problème d’accent circonflexe et de tréma dans libreoffice… Elles étaient définies comme ça :

darko@eos:~$ locale locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory LANG=en_US.ISO-8859-1 LANGUAGE=en_US:en LC_CTYPE="en_US.ISO-8859-1" LC_NUMERIC="en_US.ISO-8859-1" LC_TIME="en_US.ISO-8859-1" LC_COLLATE="en_US.ISO-8859-1" LC_MONETARY="en_US.ISO-8859-1" LC_MESSAGES="en_US.ISO-8859-1" LC_PAPER="en_US.ISO-8859-1" LC_NAME="en_US.ISO-8859-1" LC_ADDRESS="en_US.ISO-8859-1" LC_TELEPHONE="en_US.ISO-8859-1" LC_MEASUREMENT="en_US.ISO-8859-1" LC_IDENTIFICATION="en_US.ISO-8859-1" LC_ALL=

J’ai donc tapé, en sudo :

export LANGUAGE=en_US.UTF-8 export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8 locale-gen en_US.UTF-8 dpkg-reconfigure locales

Problème, mon système se bloque désormais pendant le boot. Je n’ai plus accès qu’au compte root “de maintenance”. J’ai essayé de revenir à la situation de départ en tapant :

export LANGUAGE=en_US.ISO-8859-1 export LANG=en_US.ISO-8859-1 locale-gen en_US.ISO-8859-1 dpkg-reconfigure locales

Malheureusement, le changement ne semble pas pris en compte quand je reboot. À votre avis, puis-je faire quelque chose, à part réinstaller, ce qui serait quand même idiot ?

Depuis le compte du superutilisateur (root) :
Mais comme tu utilise “sudo” pour obtenir ces privilèges :

Salut,

[quote=“MicP”]Mais comme tu utilise “sudo” pour obtenir ces privilèges :

N’est-ce pas là, ce qu’il fait d’ailleurs …

[quote=“darko”]J’ai donc tapé, en sudo :

[mono]dpkg-reconfigure locales[/mono][/quote]

Réinstallé ta Debian le serait.

[quote=“darko”]darko@eos:~$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory[/quote]

Et si tu réinstallé simplement les locales, en simulation (-s) …

S’il ne te crie pas dessus, fais sauter l’option -s

Suivit d’une recherche des résidus et d’un nettoyage.

Et l’opération inverse.

Et peut être un [mono]$ sudo dpkg-reconfigure locales[/mono] à la suite.

[quote=“BelZéButh”]… N’est-ce pas là, ce qu’il fait d’ailleurs …[/quote] D’accord, je constate qu’il a entré la commande, mais je ne vois pas du tout ce qu’il fait dans les choix proposés suite à “dpkg-reconfigure locales”. Alors je cherche à savoir ce que ça lui retourne ou ce qu’il a choisi, ou si il n’y avait aucun retour.
de mon côté, “dpkg-reconfigure locales” m’a toujours retourné :

Peut-être devrait-il tout simplement réinstaller le paquetage (comme tu le lui conseille, d’ailleurs.)

MicP, je n’ai pas de choix à la suite de dpkg-reconfigure locales, seulement une suite de “ok” pour chaque langue, ensuite la commande se termine.

BelZéButh, j’ai suivi ta manip à la lettre, aucun problème avec aptitude, suppression des fichiers de configuration et réinstallation, mais la situation est exactement la même qu’avant, impossible de lancer X. D’ailleurs quelque chose que je n’avais pas remarqué, j’ai ces retours :

[code]…

  • Starting Mount filesystem on boot [fail]

    *Starting load fallback graphique devices [fail]
  • Starting startpar bridge for notification of upstart job start/stop [OK]
  • Stopping startpar bridge for notification of upstart job start/stop [OK][/code]
    et ensuite la séquence de boot s’arrête définitivement. Qu’est-ce que je pourrais tenter ?

J’avais d’abord pensé au manque des paquetages “dialogue” et “ncurses” (il aurait pourtant fallu les avoir désinstallé…), ou même une histoire de police mal acceptée par ces deux dernier programmes, mais les messages d’erreurs suivants montrent qu’il y a bien un tout-autre problème.

... Mount filesystem on boot [fail] ...
Il faudrait le retour des commandes suivantes (en root):

cat /etc/fstab
blkid
fdisk -l

Les autres messages d’erreur doivent être la conséquence de cette erreur de “mountage”.

Je ne suis pas sûr qu’il y ait un problème de système de fichier, mais c’est vrai que cette erreur au montage est bizarre.C’est peut être dû à ce problème de locale quand même, je ne sais pas.
Je te copie les sorties à la main, vu que je n’ai qu’une console :

fstab

[quote]root@eos:~# cat /etc/fstab

UUID=f9cb… / ext4 errors=remount -ro 0 1
UUID=… /data ext4 defaults 0 2
UUID=… /home ext4 defaults 0 2
UUID=… none swap sw 0 0
[/quote]

blkid

[quote]root@eos:~# blkid
/dev/sda1 : UUID=“f9…” TYPE=“ext4”
/dev/sda5 : UUID="…" TYPE=“ext4”
/dev/sda6 : UUID="…" TYPE=“swap”
/dev/sda7 : UUID="…" TYPE=“ext4”
[/quote]

fdisk -l

[quote]root@eos:~# fdisk -l
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 … … 83 Linux
/dev/sda2 … … … 5 Extended
/dev/sda5 … … … 83 Linux
/dev/sda6 … … … 82 Linux swap/Solaris
/dev/sda7 … 226066431 … 83 Linux
[/quote]

Sans les UUID, ça devient vraiment difficile de savoir à quoi corresponds la partition qui devait être “mountée” sur le répertoire “/data”

Pour la swap on va supposer que c’est “/dev/sda6”,
et pour la partition qui devait être mountée en “/home” ça pourrais tout-aussi bien être “/dev/sda5” que “/dev/sda7”, et même pour la partition racine, c’est le gros doute.

Quoiqu’il en soit, j’ai jamais vu ces commande retourner des UUID avec 3 lettres et une suite de points ou seulement des points,
et dans le doute je préfère m’abstenir de te conseiller quoi que ce soit comme intervention, surtout quand il s’agit d’agir sur un système de fichier.

Mais qu’est-ce qui c’est passé : jamais j’ai vu ça.

Essaie de voir ce que te retourne la commande “mount” pour savoir quels sont les systèmes de fichiers qui sont effectivement “mountés”.

Il faudrait arriver à récupérer un message indiquant sur quel système de fichier s’est produite l’erreur retournée : "Mount filesystem on boot [fail]"
Il devrait y avoir des messages d’erreurs dans les messages du noyau.
Tu peux le visualiser et tu devrais pouvoir le faire défiler (haut bas) avec la commande :

Bon effectivement il y a un problème. En m’aidant d’un post sur un forum, j’ai édité certains fichiers afin que le passage à ISO-8859 soit pris en compte.
-J’ai édité /var/lib/locales/supported.d/local pour y faire figurer “en_US ISO-8859-1” (à partir de ce que j’ai pu lire dans “/usr/share/i18n/SUPPORTED”),
-J’ai lancé “dpkg-reconfigure locales”,
-J’ai édité “etc/default/locale” pour y faire figurer “LANG=en_US.ISO-8859-1”,
-J’ai rebooté.
Je suis bien passé à ISO-8859, comme je peux le voire en lançant locale. Par contre, je ne peux toujours pas booter, le lancement se bloque au même endroit qu’auparavant. Quelqu’un a-t-il une idée ?

MicP, excuse-moi, les points de suspension, c’est moi qui les ai mis. Comme je l’ai dit ce n’est pas du copié collé, vu que je n’ai plus X sur l’ordinateur qui pose problème, mais de la simple copie à la main. Je n’ai donc pas copié les valeurs des UUID, mais elles sont bien dans le fichier. Les partitions sont parfaitement à leur place. C’est moi qui ai corrigé /etc/fstab quand j’ai installé le système, rien n’a bougé.
“mount” me renvoie une sortie tout à fait normale, sda1, sda5 et sda7 sont montées.

Par contre je suis totalement incapable d’interpréter dmesg, c’est super long, et je ne sais même pas ce que je cherche !

[quote=“darko”]Bon effectivement il y a un problème. En m’aidant d’un post sur un forum, j’ai édité certains fichiers afin que le passage à ISO-8859 soit pris en compte.
-J’ai édité /var/lib/locales/supported.d/local pour y faire figurer “en_US ISO-8859-1” (à partir de ce que j’ai pu lire dans “/usr/share/i18n/SUPPORTED”),
-J’ai lancé “dpkg-reconfigure locales”,
-J’ai édité “etc/default/locale” pour y faire figurer “LANG=en_US.ISO-8859-1”,
[/quote]
'Xcellent, cette méthode a marché pour moi et a résolu mon problème de regex pour que \b prenne bien en compte le début et fin d’accent. Pas eu besoin de rebooter.

Un grand merci :slightly_smiling:

Pour mémoire, voilà ce que j’ai fait :

sudo vim /var/lib/locales/supported.d/local

j’ai rajouté cette ligne :

fr_FR.ISO-8859-1 ISO-8859-1

J’ai reconfiguré :

sudo dpkg-reconfigure locales

J’ai ensuite édité le ficher locale

sudo vim /etc/default/locale

J’ai rajouté cette ligne :

LANG="fr_FR.ISO-8859-1"

J’ai reconfiguré :

sudo dpkg-reconfigure locales

Et voili, voilou :dance:

Sinon, depuis le temps, je pense que tu as résolu ton problème de boot ?

Tiens, c’est étrange je ne trouve pas le fichier /var/lib/locales/supported.d/local sur mon serveur, je donne ma version au cas où :

lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 7.8 (wheezy) Release: 7.8 Codename: wheezy

Bon je retourne voir où il s’est caché le petit coquin :stuck_out_tongue:

[quote=“david96”][…]
'Xcellent, cette méthode a marché pour moi et a résolu mon problème de regex pour que \b prenne bien en compte le début et fin d’accent. Pas eu besoin de rebooter.

Un grand merci :slightly_smiling:

Pour mémoire, voilà ce que j’ai fait :

j’ai rajouté cette ligne :

[…][/quote]

[quote=“david96”]Tiens, c’est étrange je ne trouve pas le fichier [mono]/var/lib/locales/supported.d/local[/mono] sur mon serveur

Bon je retourne voir où il s’est caché le petit coquin :stuck_out_tongue:[/quote]
J’ai du mal à te suivre, là …

David96,

Si tu fais référence à mon problème de janvier 2014, non. J’ai fini par réinstaller le système, ne trouvant pas de solution. J’aurais dû “mettre à jour” le fil de discussion.

Dommage, en tout cas t’as solution m’a bien aidé. Je commençais à n’avoir plus de cheveux.

@BelZéButh, j’ai testé la méthode en locale et quand j’ai voulu faire de même sur mon serveur dédié, je n’ai pas trouvé le fichier /var/lib/locales/supported.d/local

Édite : ceci-dit, attention quand même : cette méthode est excellente, mais à l’inconvénient d’imposer à tout le système la locale FR_fr.ISO-8859-1… Peut provoquer des surprises si à l’origine ce dernier était en UTF-8.

Salut,

Pas plus que moi, je n’ai aucun de ces répertoires en [mono]/var/lib[/mono] (n’y ailleurs) que ce soit en local ou dédié.
Cependant, les [mono]locales¹[/mono] sont installées de part et d’autre, le contraire¹ n’est guère possible.

Oui, les locales sont installées, mais par défaut c’est l’encodage UTF-8 qui est supporté. Or, au niveau des regex la séquence \b pose un problème si tu as défini ton encodage en iso-8859-1.