[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: