MacPorts를 통해 최신 버전을 설치했으며 tcpdump
이를 기본 바이너리로 만들고 싶습니다.
$ which -a tcpdump
/usr/sbin/tcpdump
/opt/local/sbin/tcpdump
이제 하나를 설정했지만 이전 문서가 표시되는 것을 alias
방지할 수는 없습니다 .man
답변1
공급업체 경로 앞에 MacPorts 경로를 나열하려면 변수 PATH
와 환경 변수를 조정해야 합니다. MANPATH
이를 위해 귀하의 것에서 다음과 같은 것을 시도 bash
하고 실행 중인 쉘을 다시 로드하십시오..bashrc
.bash_profile
exec bash
export MANPATH=/opt/local/share/man:$MANPATH
다른 편리한 명령은 현재 무엇이 있는지 확인 MANPATH
하고 MacPorts가 매뉴얼 페이지를 숨기는 가능한 모든 위치를 찾는 것입니다(모두 매뉴얼 페이지 디렉토리는 아니지만 올바른 디렉토리에는 man[0-9]
하위 디렉토리가 있어야 합니다...).
echo $MANPATH
find /opt -type d -name man
PATH
기본적으로 다음과 같습니다.
export PATH=/opt/local/sbin:/opt/local/bin:$PATH
가장 쉬운 옵션이어야 하지만 다시 exec bash
테스트해 보세요 echo $PATH
.
/usr/libexec/path_helper
그러나 Apple에는 전역 rc 파일에서 실행되는 스크립트() 가 있다는 점에 유의하십시오 grep -l path_helper /etc/* 2>/dev/null
. 맞춤설정이 이루어져야 합니다.뒤쪽에프로그램은 Apple 기본 설정으로 변경 하거나 PATH
재설정 합니다. 출력을 시작점으로 사용할 수 있습니다.MANPATH
path_helper
path_helper
/usr/libexec/path_helper -s >> ~/.bashrc
그런 다음 추가된 줄을 편집하여 원하는 경로를 원하는 순서대로 포함합니다. ( >
그렇게 사용 하지 마세요 .파괴하다파일 .bashrc
을 >>
첨부하는 중입니다...)
답변2
에서는 OS X 10.8.5
실제로 아무것도 하면 안 됩니다 bash 3.2.53(1)
.MacPorts 2.3.4
처음에는 왜 작동하지 않았는지 모르겠습니다. PATH
값은 어떤 방식으로든 저장되고 업데이트되지 않을 수 있습니다(자세한 내용은 아래 참조).
나는 노력했다
· MANPATH
제안에 따르면트리거, 그러나 그것은 작동하지 않았습니다. man
맨페이지 : "It overrides the configuration file and the automatic search path"
.
· 먼저 내 (전역) 구성 파일에서 패키지 관리자의 디렉터리를 사용합니다 export
. PATH
이것은 접두사를 세 번 붙이고 접미사를 한 번 붙입니다. 최신 바이너리/man 페이지를 기본값으로 설정하지만 이 새로운 더 긴 조합이 궁금합니다 PATH
(이전 값은 모든 디렉터리를 한 번만 포함했지만 순서는 다릅니다. 먼저 운영 체제의 기본값, 패키지 관리자).
이 주제에 대해서는 SU를 확인하세요.OS X 10.6 Snow Leopard에서 $PATH는 어디에 설정되어 있습니까?.
MacPorts
설치 프로그램 이 ~/.profile
.
# MacPorts Installer addition on 2015-10-10_at_20:55:20: adding an appropriate PATH variable for use with MacPorts.
export PATH="/opt/local/bin:/opt/local/sbin:$PATH"
# Finished adapting your PATH environment variable for use with MacPorts.
나는 이런 상황에 너무 많이 처했기 때문에 마지막 상황을 제외하고 모두 검토했습니다. 결과적으로 깨끗한 PATH
.
하지만 실제로 man
업데이트된 문서를 어떻게 얻습니까?
이 SEARCH PATH FOR MANUAL PAGES
섹션에서:
In addition, for each directory in the command search path (we'll call it a "command
directory") for which you do not have a MANPATH_MAP statement, man automatically looks for
a manual page directory "nearby" namely as a subdirectory in the command directory itself or
in the parent directory of the command directory.
You can disable the automatic "nearby" searches by including a NOAUTOPATH statement in
/private/etc/man.conf.
일시적으로 활성화하여 이를 확인했습니다 NOAUTOPATH
.
예
$ type tcpdump
tcpdump is /opt/local/sbin/tcpdump
$ ll -d /opt/local/man
lrwxr-xr-x 1 root admin 9 Oct 10 20:55:20 2015 /opt/local/man -> share/man
다른 패키지 관리자에게는 YMMV가 있지만 많지는 않을 것 같습니다.