Re: Format de data incorrecte de «ls -l»
El 23/12/20 a les 19:24, Joan Montané ha escrit:
Hola,
Arran del correu de l'altre dia de l'automsqlbackup ja vaig indicar
l'enllaç al bug amb la solució, però per si és útil a cap dels
presents, us escric amb detalls com apedaçar Debian (i derivats)
perquè no us torneu bojos en mirar les dates fer un «ls -l». Un petit
regal de Nadal, :)
Descripció del problema:
En fer «ls -l» apareix primer la columna del mes i després el dia del
mes. El mes apareix *sense* preposció a scretch i *amb* preposició a
buster.
Solució curta:
*Amb permisos de root*, només cal el directori LC_TIME i un enllaç a
coreutils.mo. Això és:
mkdir /usr/share/locale/ca/LC_TIME
ln -s /usr/share/locale/ca/LC_MESSAGES/coreutils.mo
/usr/share/locale/ca/LC_TIME/coreutils.mo
Amb aquestes dues accions, en fer «ls -l» ja hauríeu de tenir primer
la columna del dia, i després la del mes (sense preposició, tant a
stretch com a buster)
Explicació del problema:
Fa 10 anys [1] es va suprimir l'enllaç a coretuils.mo del directori
LC_TIME. Se suposava que no servia de res, i per això se'l van
carregar. El problema és que l'ordre «ls» sí que el necessita. I
afecta un munt de locales, no només al català. Ja està solucionat a
sid [2].
Sense aquest enllaç a coreutils.mo, l'ordre «ls -l» usa la cadena
original de l'anglès per al format de data, que és "%b %e %Y" (mes
dia any). A stretch %b retorna el mes (la glibc no permetia mesos amb
preposició), però a buster, en català, %b retorna mes amb preposició,
i el problema encara és més molest. Però el problema és que usa la
cadena original, perquè no existeix l'enllaç.
Si existeix l'enllaç a coreutils.mo, aleshores «ls -l» usa la cadena
de la traducció. A stretch és "%e %b %Y" (dia mes any) i a buster "%e
%Ob %Y"(dia mes sense preposició any).
En fi, si no voleu esperar a la següent versió de Debian, i us
emprenya tant com a mi el tema del format de data, ja sabeu la solució :)
Bon Nadal i Bon Any Nou!
Joan Montané
[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=584837
<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=584837>
[2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=963513
<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=963513>
Moltes gràcies, he aplicat la solució que dius i ara les dates ja es
formaten correctament.
Però ha aflorat un altre problema: tots els mesos estan abreviats amb 4
caràcters, excepte febrer (febr.) i agost (ag.), amb 5 i 3 caràcters
respectivament. Això fa les columnes de l'ordre «ls -l» partir del mes
desquadrin:
-rw------- 1 usuar usuar 22756 22 abr. 2020 xilerc
-rw------- 1 usuar usuar 343 8 nov. 2019 xillbotsrc
-rw------- 1 usuar usuar 218 21 febr. 2019 xinfocenterrc
-rw------- 1 usuar usuar 60 14 maig 2020 xio_fishrc
-rw------- 1 usuar usuar 128 31 ag. 2019 xiorc
-rw------- 1 usuar usuar 16 24 nov. 2019 xioslaverc
No sé si m'emprenya més que les dates surtin mal formatades o que les
columnes estiguin desquadrades :)
Bones festes i bon any,
Josep Ma. Ferrer
Reply to: