사람이 찾는 설치된 명령 이름은 무엇입니까?

사람이 찾는 설치된 명령 이름은 무엇입니까?

Lubuntu 18.04에서 기본값은 입니다 awk. 주어진 manpag를 mawk찾았습니다.man awkmawk

그런 다음 그것을 설치했고 gawk그게 awk전부였습니다 gawk. 그리고 man awkmanpag가 주어졌습니다 gawk.

일반적인 경우인지 궁금합니다. 즉, man특정 명령 이름을 실행할 때 항상 해당 명령 이름과 현재 연결된 설치에 대한 맨페이지를 제공합니까?

감사해요.

답변1

이것은대안 업데이트마법.

일부 명령이 동일한 이름(이 예에서와 같이) gawk및 을 갖고 mawk둘 다 name 으로 사용 가능해야 하는 경우 작성 awk하십시오 symlink. 예를 들어

/usr/bin/awk -> /etc/alternatives/awk
/etc/alternatives/awk -> /usr/bin/gawk

남자도 마찬가지다

/usr/share/man/man1/awk.1.gz -> /etc/alternatives/awk.1.gz
/etc/alternatives/awk.1.gz -> /usr/share/man/man1/gawk.1.gz

현재 설치된 명령 매뉴얼에 대한 심볼릭 링크인 man 에서 읽으면 /usr/share/man/man1/awk.1.gz현재 설치된 명령 매뉴얼이 열립니다.

/etc/alternatives디렉토리가 사용됩니다대안 업데이트현재 사용되는 대안을 추적하십시오.

답변2

즉, man특정 명령 이름을 실행할 때 항상 해당 명령 이름과 현재 연결된 설치에 대한 맨페이지를 제공합니까?

적절하게 구성된 프로그램을 사용하면 가능합니다. (적어도 이는 데비안에서 시작된 모든 패키지의 경우여야 합니다.)

패키지를 올바르게 설정대안up for 명령은 적절한 맨페이지를 대안과 연결합니다.

mawkawk낮은 우선 순위(5)에 대한 대안을 설정 하고 nawk명령을 두 개의 맨페이지( awk및 )와 nawk연결합니다 . 따라서 공급자 mawk로 선택될 때마다 공급자로도 선택되며 해당 맨페이지도 해당 맨페이지의 공급자 로 선택됩니다 .awknawkawknawk

gawk또한 더 높은 우선순위(10)로 대안을 이 방식으로 설정합니다.

기본적으로 대체 항목은 자동 모드에서 관리됩니다. 즉, 대체 항목이 설치되거나 제거될 때마다 대체 시스템은 우선 순위가 가장 높은 사용 가능한 공급자를 선택합니다. Lubuntu를 설치하면 Lubuntu만 mawk설치되므로 이것이 유일한 공급자이며 기본적으로 선택됩니다. 을(를 ) 설치하면 gawk두 개의 awk공급자를 사용할 수 있으며 시스템에서는 우선 gawk순위가 가장 높은 공급자를 선택합니다.

를 사용하여 자신만의 대안을 선택할 수 있으며 update-alternatives --config awk, 이를 통해 강제로 선택하거나("수동 모드" 항목 중 하나 선택) 자동 선택을 사용할 수 있습니다("자동 모드" 항목 선택).

이 모든 것의 결과는 다수의 심볼릭 링크입니다 /etc/alternatives. 실행 파일은 그 자체로 선택한 공급자에 대한 심볼릭 링크입니다 awk. /etc/alternatives/awk시스템의 현재 상태는 /var/lib/dpkg/alternatives각 "기본" 대안( /var/lib/dpkg/alternatives/awk이 경우)에 대해 하나씩 아래의 파일에 저장됩니다. 물론 이는 구현 세부 사항이므로 update-alternatives대체 시스템과 상호 작용하는 데에만 사용해야 합니다.

관련 정보