예
(macOS 11.7부터. macOS 12.6.1에도 나타납니다. 이것이 제가 테스트할 수 있는 유일한 시스템입니다.)
$ pushd "$(mktemp -d /tmp/makewhatis-XXXXXXX)"
$ mkdir man
$ ln -s man sman
$ mkdir man/man1
$ cp /usr/share/man/man1/true.1 man/man1/
$ /usr/libexec/makewhatis -v -o /dev/null man
man directory man
man/man1
reading man/man1/true.1
$ /usr/libexec/makewhatis -v -o /dev/null sman
man directory foo
makewhatis: foo: Not a directory
문맥
man -k
디렉터리를 찾을 수 없다는 stderr의 일부 출력으로 인해 검색이 실패했을 때 이 사실을 발견했습니다. 특히, 저는 Mac용 TeX Live 배포판(?)이 매뉴얼 페이지용으로 설치하는 심볼릭 링크 makewhatis
에 매우 만족하지 않습니다 . /Library/TeX/texbin/man
나는 최근에야 man
심볼릭 링크를 통과하는 것이 잘 작동하는 것을 보기 시작했습니다. 즉, man -w latex
인쇄 /Library/TeX/texbin/man/man1/latex.1
하지만 man -k latex 2>&1 | cat
(내 시스템에서는) 인쇄합니다.
pod2latex(1) - convert pod documentation to latex format
makewhatis: /Library/TeX/texbin/man: Not a directory
coq-tex(1) - Process Coq phrases embedded in LaTeX files
Pod::LaTeX(3pm) - Convert Pod data to formatted Latex
pod2latex(1) - convert pod documentation to latex format
이것이 Apple에만 해당되는지는 잘 모르겠습니다(그렇다면 AskDiffernt로 이동해 보겠습니다).
왜 이런 일이 발생하는지 알고 싶습니다. 하지만 더 중요한 것은 설치 프로그램에서 생성한 심볼릭 링크를 건드리지 않고 문제를 해결할 수 있는 방법입니다.
답변1
Paltrey는 이 질문에 답했지만 다음 명령을 실행하여 단기적으로(Ventura에서) 문제를 해결했습니다.
sudo /usr/libexec/makewhatis /usr/local/texlive/2022/texmf-dist/doc/man
또한 해당 경로를 /etc/manpaths.d/Tex에 추가하여 설치 프로그램이 여기에 배치한 명목상의 범용 경로를 주석 처리했습니다. 데이터베이스를 재구축하기 위해 무엇을 해야 할지 잘 모르겠습니다. 아마도 업그레이드 중에 이런 일이 발생할 수 있습니까?
이 경로를 따르면 TeX를 업데이트할 때 TeX 업데이트를 약속하게 될 것입니다.