'Rebuild'에 해당되는 글 1건

  1. 2008.06.10 Mac OS에서 man page와 whatis
몇몇 GNU유틸을 빌드하다가 /usr/local/man의 man page들이 man으로 볼 수 없다는 사실을 알았다. 그래서 구글링을 해 보니 MacOSFix missing man pages for self-installed utilities - macosxhints.com에서 언급을 하고 있더라. 알고보니 /usr/share/misc/man.conf의 설정에 원인이 있었다.

그리고 /usr/share/man/whatis 는 간단히 유틸들의 설명을 하는 whatis의 인덱싱파일인데 이게 /usr/local/share/man/whatis 에 또 있었다. 이 화일들이 몇몇 유틸들을 설치 후 업데이트가 안되는 듯 했다. Rebuild Mac OS X whatis database에서 Mac OS는 주마다 이 파일을 업데이트 하는 makewhatis가 /etc/periodic/weekly에 있는 실행이 된다고 한다. 그래서 강제로 한번 실행을 해 주고 확인을 해보니 /usr/local/share/man/whatis는 업데이트가 되지 않았다. 그래서 /etc/periodic/weekly에 있는 파일을 열어 보았더니 makewhatis를 실행하는 부분이 아래와 같았다.
if [ -x /usr/libexec/makewhatis.local ]; then
echo ""
echo "Rebuilding whatis database:"
if [ -d /usr/X11R6/man ]; then
MANPATH=${MANPATH:-/usr/share/man:/usr/X11R6/man:/usr/local/man}
else
MANPATH=${MANPATH:-/usr/share/man:/usr/local/man}
fi
makewhatis.local "${MANPATH}"
fi

결국 /usr/local/share/man 디렉토리가 빠져 있었던 것이다. 아마도 원래 Mac이 설치되면 /usr/local/share아래는 없어서 그런가 보다. 그래서 /usr/local/share/man를 두 부분에 추가하고 다시 스크립트를 어드민권한으로 시작해 주니 잘 된다.

ps. 맥에서 find대신 쓸만한 검색 툴이 두가지 있는데 하나는 locate란 녀석이고 하나는 spotlight이다. 둘 다 커맨드라인에서 사용이 가능하다. 단지 locate는 무지 빠르긴 한데 미리 인덱스 파일에서 찾는 것이라 인덱스파일의 업데이트가 주마다 되서 조금 사용시 잘 안될수도 있다.(The locate database). 그리고 makewhatis는 /usr/libexec에 있다.

또 man이 간략한 정보를 제공한다면 info는 자세한 매뉴얼을 제공하는 하이퍼링크를 지원하는 유틸인데 이것 또한 dir라는 이름의 인덱스파일을 만든다. 이것을 수정하는 유틸이 install-info라는 것인데 이것은 여기저기 /usr/local/info와 /usr/local/share/info 를 모두 검색해서 보여주는 듯 하다.
Posted by trip2me
,