Страницы «man» в Linux в CentOS выглядят как бред

359
Mark Lakata

На моей коробке CentOS 6 все страницы руководства и некоторые инструменты, которые поддерживают, --helpпоказывают бессмысленную информацию. Например, если я наберу:

man man 

Я получаю это:

^HZ[wã¸~ǯÀjZÊèvg:=3ÌlËm’¾­¤ÞÎl<;HHBL´Z}òãSeg?ÞÜÞÍ.g"9¡ÉD2=T-Ï×®våOþíhF#j[màñr*ÝÞ|ñ­ÿP¡þâ§üm÷gÚáèë5ÅirØ×fæûÑÿ°%DNèõ¢´;×ýpAÖÕ&ÒgæeÓ)ÚÌÏ<~¾Ïþ-½¸½Bm´L¤’H]gÙéôòn~yÞößA,Á5Hà,%3%¬Âôs;­JXrá ‘Ë®&°TQ©ÍY ãBêÍn¢r¢°U gîZ‘àÈsèÒMÆÓÓy7Xt~;F7þ8õd/íPÛ®·ñuHðÆzß()M¦sÇ ]<ÒUiÔ"oÁ¤.éÍ]CsXÇÉ>ì[­ ï‘ï¨våÑÂGà#w;XÐÉÁ:Bá¼ËùõWÖu2½ý<Ö°Äb%m*w.Ðôøü®´å@sPDFq»V³ÅiHYÝPîô/µ.RâÞ°ß#@gK¦¬Ñ¿@ëTEiKà±´Qþmº±aKÛbð#XZ+Ò¸eÑ....¨mIwòþç~׸P$í̪ðlb#U©¿BÿRȾåªT[Ù_Á¤ ²¿jË~+X|&ûðvÒ/¯cóôöü|6ùï×á¹Bj?¸"æ‘]#s6EHЯçls...¶Á~¶5Ùèª^$DØ«ó-ü‘vùÊÄÑêÎrR4À´µ^ óGÕ¨ù¡k­,QBYÌÞBPÇEÕ9xqÈúñ½zT&WûBáb‘Æ9Â0ÒÀ"N¡ÙüQoøc;éФ>‘0D´dÉ[1üÁQiøÐÞIHÀl CpÞÿÍZÎûnêä@¹³u¡àm8±MÜ¡0ß.,Xöª&c#oþ^ùûÈ?È&/³q º2PÀ}ÿÇ0y¹ôhÉDqrS<vá%i¾ÒSǨÍÉ,Zz~ÒôY¹¬%Ve*åláËC9Û$©çãêAÝyy²ôsfÔgZí?äP)´.CÎè>sôû¬MÙÏñäG¥ë( úÊÙ¥Q Í"¢Y¢ÐÊßÐ6G%¬ÎÀQÍ2}°JA«ô9ÀáAQç@É’©aMFv^î²ÔnkYg;v¶hÛ0îÕnØcù8Õ«±ýÒþ.º.....ÌÔÍQ½ûËþkb«®ºHÔ‘¢U©6qNÕ³lG’¤aûi|Zz¯,<Hûáw·µcbý~iD[Ù­î½..Éu|ö~màu¾ªò²i·a¥s+£=%ì*¤¹W}JHÐ;]½xqQÑ OÀo^VÚ¶h@ä+kóÇppj>, ñÁd{¤Fì|s;þ4¿íâÊûDù-|~ÓâÍ%ðáë ÝÂ>bû0<FQbìÕuI‘{÷ËéÐ×Áãz¹4_ÚC_&³óY?/Ù³­ã FSÉÈ£º:]5Ûí..±Ù)¦NòÕ§3AsCÐCûöäô¬*dQCGÌxþK8åh’*y®>¹ùËéíÍõäfJ3!*sê~Q©¨j·è;_y‘wF|><á«éÝê3¾©ù5îÝ yH¸°"ËÃ)ÀÊg_Àjä|ø+ÿ­Ó_ôU¤«fùHÁ_sö ^Hµ7Z.#ÑÚ µAS¶¥AÎmÖÛ=UºúÀTWú*Ì<áÅËBQ!ï¬ñÉ~¶¼ñLøº’<t/ì*~t²ÕRº¥U*db9=¥=òÈ-ÓÁf³.úõ/.#߯©¶|¾<;º¡;Uk.è¸4+¹0̵-C..KhÃÿ«÷¼Nä.F*7pÏoé¿cw1Nüìð$ðë­¯³5tÇÉo$Õðð~s’µòªNÍüÞÈß/óðüGn[®5Áã(«°Jù:ûD¯f·=áoÅ:ýµzÄàHtJOOmW9Å?..ÑAy«1. 

Я не думаю, что это связано с переменными среды, но вот что у меня есть:

$ env MANPATH=/usr/share/man TERM=xterm PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin PWD=/home/UNIXHOME/mlakata SHLVL=1 HOME=/home/UNIXHOME/mlakata _pam_krb5_stash_mlakata_.COM__1_shm5=327688/23401 _=/bin/env 

Я также попробовал мой старый режим ожидания, tsetчтобы исправить поврежденные окна терминала, но это не помогло.

2

2 ответа на вопрос

1
JakeGould

I would recommend checking the contents of /etc/sysconfig/i18n:

The /etc/sysconfig/i18n file sets the default language, any supported languages, and the default system font.

There is a larger discussion on man pages and possibly corrupted characters on this site that discusses things like this. One thing of interest is the discussion of the man.config file located here:

 /etc/man.config 

I use Ubuntu—so I cannot find that file on my system; the setup of man on Ubuntu differs from CentOS—but the example shown shows two lines I believe are relevant to this:

COMPRESS /bin/gzip COMPRESS_EXT .gz 

The logic being what you are describing seems to me like the raw, compressed man file being displayed on the screen. So perhaps something in the decompression process is mucking up the works?

Благодарю. Содержимое файла, которое совпадает с содержимым в другой имеющейся у нас системе (`LANG =" en_US.UTF-8 "\ nSYSFONT =" latarcyrheb-sun16 "`) и `man`, прекрасно работает там. Mark Lakata 9 лет назад 0
@MarkLakata Ну, вы можете убрать этот пункт из списка. Я только что отредактировал свой вопрос, чтобы предоставить еще несколько потенциальных подсказок. Может случиться так, что сами страницы man не распаковываются, а то, что вы видите, представляет собой простой / сжатый файл. JakeGould 9 лет назад 0
Это наверняка выглядит как проблема сжатия. Человек обычно представляет собой цепочку команд, хотя некоторые системы объединяют ее в одну команду. Если это цепочка, то там должен быть gzip. Проще всего проверить это во втором сеансе, используя pstree. Melvyn 9 лет назад 1
Это была проблема. `/ Etc / man.config` в плохой системе содержит всего одну строчку с надписью` MANPATH / opt / intel / mic / share / man`. Дымящимся пистолетом является RPM, на котором установлена ​​система Intel MIC. Он должен был добавить эту строку, а не перезаписать файл. СПАСИБО! Mark Lakata 9 лет назад 1
@MarkLakata Рад, что это сработало! Но когда вы говорите: ** «Пистолет для курящих - это RPM, который установил Intel MIC». ** Что это будет за RPM? Может ли это быть более серьезной ошибкой, о которой следует сообщить команде CentOS? Переписать файл вместо добавления к нему - довольно большая ошибка в сценарии. JakeGould 9 лет назад 0
Я не знаю, что это за RPM. Я оставлю это на усмотрение сисадмина, чтобы выяснить, что сломалось, я просто пользователь с `sudo` ... Mark Lakata 9 лет назад 1
1
Mark Lakata

This is the contents of a "good" /etc/man.conf for CentOS6, in case anyone gets into this state (i.e. something wipes out /etc/man.conf and you are stuck because you can't read man pages!). Thank @JakeGould for pointing me in the right direction. In this case, the decompressor is lzma.

# # Generated automatically from man.conf.in by the # configure script. # # man.conf from man-1.6f # # For more information about this file, see the man pages man(1) # and man.conf(5). # # This file is read by man to configure the default manpath (also used # when MANPATH contains an empty substring), to find out where the cat # pages corresponding to given man pages should be stored, # and to map each PATH element to a manpath element. # It may also record the pathname of the man binary. [This is unused.] # The format is: # # MANBIN pathname # MANPATH manpath_element [corresponding_catdir] # MANPATH_MAP path_element manpath_element # # If no catdir is given, it is assumed to be equal to the mandir # (so that this dir has both man1 etc. and cat1 etc. subdirs). # This is the traditional Unix setup. # Certain versions of the FSSTND recommend putting formatted versions # of /usr/.../man/manx/page.x into /var/catman/.../catx/page.x. # The keyword FSSTND will cause this behaviour. # Certain versions of the FHS recommend putting formatted versions of # /usr/.../share/man/[locale/]manx/page.x into # /var/cache/man/.../[locale/]catx/page.x. # The keyword FHS will cause this behaviour (and overrides FSSTND). # Explicitly given catdirs override. # # FSSTND FHS # # This file is also read by man in order to find how to call nroff, less, etc., # and to determine the correspondence between extensions and decompressors. # # MANBIN /usr/local/bin/man # # Every automatically generated MANPATH includes these fields # MANPATH /usr/man MANPATH /usr/share/man MANPATH /usr/local/man MANPATH /usr/local/share/man MANPATH /usr/X11R6/man # # Uncomment if you want to include one of these by default # # MANPATH /opt/*/man # MANPATH /usr/lib/*/man # MANPATH /usr/share/*/man # MANPATH /usr/kerberos/man # # Set up PATH to MANPATH mapping # # If people ask for "man foo" and have "/dir/bin/foo" in their PATH # and the docs are found in "/dir/man", then no mapping is required. # # The below mappings are superfluous when the right hand side is # in the mandatory manpath already, but will keep man from statting # lots of other nearby files and directories. # MANPATH_MAP /bin /usr/share/man MANPATH_MAP /sbin /usr/share/man MANPATH_MAP /usr/bin /usr/share/man MANPATH_MAP /usr/sbin /usr/share/man MANPATH_MAP /usr/local/bin /usr/local/share/man MANPATH_MAP /usr/local/sbin /usr/local/share/man MANPATH_MAP /usr/X11R6/bin /usr/X11R6/man MANPATH_MAP /usr/bin/X11 /usr/X11R6/man MANPATH_MAP /usr/bin/mh /usr/share/man # # NOAUTOPATH keeps man from automatically adding directories that look like # manual page directories to the path. # #NOAUTOPATH # # NOCACHE keeps man from creating cache pages ("cat pages") # (generally one enables/disable cat page creation by creating/deleting # the directory they would live in - man never does mkdir) # #NOCACHE # # Useful paths - note that COL should not be defined when # NROFF is defined as "groff -Tascii" or "groff -Tlatin1"; # not only is it superfluous, but it actually damages the output. # For use with utf-8, NROFF should be "nroff -mandoc" without -T option. # (Maybe - but today I need -Tlatin1 to prevent double conversion to utf8.) # # If you have a new troff (version 1.18.1?) and its colored output # causes problems, add the -c option to TROFF, NROFF. # TROFF /usr/bin/groff -Tps -mandoc NROFF /usr/bin/nroff -c -mandoc 2>/dev/null EQN /usr/bin/geqn -Tps NEQN /usr/bin/geqn -Tutf8 TBL /usr/bin/gtbl # COL /usr/bin/col REFER /usr/bin/grefer PIC /usr/bin/gpic VGRIND GRAP PAGER /usr/bin/less -is BROWSER /usr/bin/less -is HTMLPAGER /bin/cat CAT /bin/cat # # The command "man -a xyzzy" will show all man pages for xyzzy. # When CMP is defined man will try to avoid showing the same # text twice. (But compressed pages compare unequal.) # CMP /usr/libexec/man-cmp.sh # # Compress cat pages # COMPRESS /usr/bin/lzma COMPRESS_EXT .lzma # # Default manual sections (and order) to search if -S is not specified # and the MANSECT environment variable is not set (1x-8x sections are used by # xorg packages). # MANSECT 1:1p:8:2:3:3p:4:5:6:7:9:0p:n:l:p:o:1x:2x:3x:4x:5x:6x:7x:8x # # Default options to use when man is invoked without options # This is mainly for the benefit of those that think -a should be the default # Note that some systems have /usr/man/allman, causing pages to be shown twice. # #MANDEFOPTIONS -a # # Decompress with given decompressor when input file has given extension # The command given must act as a filter. # .gz /usr/bin/gunzip -c .bz2 /usr/bin/bzip2 -c -d .lzma /usr/bin/unlzma -c -d .z .Z /bin/zcat .F .Y # # Enable/disable makewhatis database cron updates. # If MAKEWHATISDBUPDATES variable is uncommented # and set to n or N, cron scripts # /etc/cron.daily/makewhatis.cron # /etc/cron.weekly/makewhatis.cron # will not update makewhatis database. # Otherwise the database will be updated. # #MAKEWHATISDBUPDATES n MANPATH /opt/intel/mic/share/man 

Похожие вопросы