Что это за справочные страницы «3cxx» и как я могу удалить / исключить их из мужских вызовов?
Это все началось, потому что я хотел man-страницы по типам / функциям C ++. Я нашел репозиторий под названием Cppman, который был разработан для очистки этих страниц от cplusplus или cppreference. В этот момент man std::cout
будет отображаться ожидаемая man-страница, но man -k cout
будет сказано «ничего не подходит».
С тех пор я удалил все, кроме папки cplusplus.com, переименовал ее в «man3» и запустил mandb
(от имени root для хорошей меры, а затем и для себя), которая создала пустую папку «cat3» и «index.db». Теперь я устанавливаю MANPATH следующим образом:
old_manpath=$(manpath 2>/dev/null) export MANPATH=$HOME/.local/share/man:$old_manpath
Результат:
> man -k std::cout std::cout (3) - Standard output stream > man -k std::result_of std::result_of (3) - Result of call std::result_of (3cxx) - (unknown subject) > man 3 std::result_of # the page I expect > man 3cxx std::result_of # scrawny and malformed manpage
Если бы я мог просто скрыть эти страницы «3cxx» man [-k]
, я был бы удовлетворен. Тем не менее, я бы предпочел удалить файлы и не создавать их в первую очередь. У меня нет файлов '* .3cxx.gz'.
Где я неправ? Как и где я должен установить свою ПЗРК, если это действительно проблема?
Правка 1 - я снял много деталей с этого вопроса, но содержание справочных страниц 3cxx может показывать. Например, man 3cxx std::result_of
имеет заголовок std::result_of< _Signature >(3cxx)
( <_Signature>
отсутствует на обычной странице man); ОПИСАНИЕ пусто, за которым следует «Подробное описание» вместо «ОПИСАНИЕ». Я попытался повторить то, на что это похоже ниже (подчеркивания представляют отступ.)
Подробное описание
____ шаблон <typename _Signature>
________ класс std :: result_of <_Signature> "result_of
_______________ Определение в строке 2097 файла type_traits.
Этот паразит "
, как написано, появляется сразу после основного типа на нескольких других страницах, которые я проверял. У страниц, которые отклонялись, все еще были некоторые несоответствующие кавычки после типов далее вниз по странице, или в конце строк, даже не включая шаблоны.
Редактировать 2 - я не могу понять, как найти файл, связанный с отображаемой man-страницей, или я могу проверить / удалить весь пакет. При использовании lsof
я не вижу ничего похожего на открытую man-страницу, не то чтобы я ожидал, что файл останется открытым. Мое лучшее предположение состоит в том, что эти короткие страницы запекаются в index.db
файл базы данных "dbm / ndbm"; У меня есть python3-gdbm
пакет, поэтому я ткнул в него и обнаружил, что он имеет тип «dbm.gnu» и его «первая» запись - это b'std::list::cend\x00' => b'-\t3\t3\t1509183341\t749359924\tA\t-\t-\tgz\tReturn const_iterator to end\x00'
. Это подсказало бы мне, что index.db хранит только пары имя / описание, и, возможно, некоторые из этих чисел в заголовке будут соответствовать файлу, но даже тогда, как это больше, чем я могу надеяться выяснить, не увидев его в действии, Я думаю, что это насколько я могу управлять в одиночку.
Редактировать 3 - я расшифровал записи:
>>> from dbm.gnu import * >>> o=open('/home/john/.local/share/man/index.db', 'c') >>> def nextn(i,n): ... sum="" ... for j in range(0,n): ... sum += i.decode("utf-8") + "\n" + o[i].decode("utf-8") ... i=o.nextkey(i) ... return sum >>> all=nextn(o.firstkey(), len(o.keys())) >>> all.find('cxx') -1 # Example entry for reference: std::list::cend - 3 3 1509183341 749359924 A - - gz Return const_iterator to end
Записи расположены в хэш (квазислучайном) порядке, поэтому хороший пример их должен показать примерно столько же записей типа «3cxx», сколько и типа «3». Вместо этого они буквально все типа «3». Index.db снят с крючка, но у меня официально нет идей.
0 ответов на вопрос
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
3
Каковы различия между оконными менеджерами Linux?
-
2
ThunderBird / Синхронизация освещения с SE k770i
-
4
Файловая система Linux
-
6
Полноэкранная медленная вспышка в KDE 4