Откуда берутся страницы руководства по libc, если они не из glibc?

Откуда берутся страницы руководства по libc?

Они не могут быть взяты из glibc, поскольку немного отличаются от API glibc.

Одним из примеров является справочная страница mmap. Он описывает флаг MAP_UNINITIALIZED.

Но этого флага нет в glibc. Glibc не хочет поддерживать этот флаг, потому что они говорят, что это только ядро ​​. Если вы посмотрите исходный код glibc, вы также увидите, что они никогда и нигде не определяют этот макрос.

Так откуда же берутся страницы руководства по libc, если они не взяты из glibc?


60
1

Ответ:

Решено

По крайней мере, на моей странице руководства по mmap(2) вверху написано: «Руководство программиста Linux».

Если вы не хотите знать, где находится справочная страница (или программа и т. д.), позвоните whereis:

$ whereis mmap
mmap: /usr/share/man/man2/mmap.2.gz /usr/share/man/man3/mmap.3posix.gz

Если вам нужно узнать, откуда взялся этот файл, предполагая, что вы установили его с помощью apt, попробуйте apt-file:

$ apt-file search mmap.2.gz
manpages-de-dev: /usr/share/man/de/man2/mmap.2.gz
manpages-dev: /usr/share/man/man2/mmap.2.gz
manpages-fr-dev: /usr/share/man/fr/man2/mmap.2.gz
manpages-ja-dev: /usr/share/man/ja/man2/mmap.2.gz
manpages-nl-dev: /usr/share/man/nl/man2/mmap.2.gz
manpages-ru-dev: /usr/share/man/ru/man2/mmap.2.gz

Затем вы можете показать метаданные пакета с помощью apt status:

$ apt show manpages-dev
Package: manpages-dev
Version: 5.10-1
Priority: optional
Section: doc
Source: manpages
Maintainer: Dr. Tobias Quathamer <[email protected]>
Installed-Size: 4,037 kB
Depends: manpages
Suggests: man-browser
Breaks: libattr1-dev (<< 1:2.4.47-3), libbsd-dev (<< 0.8.4-1), manpages (<< 5.09-2)
Replaces: libattr1-dev (<< 1:2.4.47-3), libbsd-dev (<< 0.8.4-1)
Homepage: https://www.kernel.org/doc/man-pages/
Tag: devel::doc, made-of::man, role::documentation
Download-Size: 2,309 kB
APT-Manual-Installed: no
APT-Sources: http://deb.debian.org/debian bullseye/main amd64 Packages
Description: Manual pages about using GNU/Linux for development
 These man pages describe the Linux programming interface, including
 these two sections:
  2 = Linux system calls.
  3 = Library calls (note that a more comprehensive source of information
      may be found in the glibc-doc and glibc-doc-reference packages).

Это приведет вас к URL-адресу: https://www.kernel.org/doc/man-pages/.
Фактический репозиторий: https://git.kernel.org/pub/scm/docs/man-pages/