시스템에서 구성 가능한 모든`alternatives` (유사한 명령의 심볼릭 링크)를 나열하는 방법이 있습니까?


24

RHEL / Fedora 의 alternatives명령 (package chkconfig)은 대체 구현 중 하나에 일반 이름을 연결하는 symlink를 관리합니다. 예를 들어 mtaSendmail과 Postfix는 심볼릭 링크 그룹을 제공 할 수 있습니다 (예 : sendmail명령 구현 ).

alternatives --display mta

--display심볼릭 링크 그룹을 사용할 수 는 있지만 이름을 먼저 추측해야합니다 (예 :) mta.

mta선택할 수있는 구성 가능한 모든 심볼릭 링크 그룹 (예 :)을 간단히 나열 할 수 있습니까 ?

그 이유는 때때로 일부 그룹 이름을 잊어 버리기 때문입니다.

답변:


25

데비안 (Fedora 또는 RHEL 제외)에서 모든 "마스터 대체 이름"목록을 보려면 :

update-alternatives --get-selections

--get-selections 마스터 대체 이름과 상태를 나열하십시오.

그리고 나열된 각 항목에 대해 다음을 실행할 수 있습니다 --list $ALTERNATIVE_NAME.

update-alternatives --list editor

--list name 링크 그룹의 모든 대상을 표시하십시오.

해당 그룹의 모든 대안 목록을 보려면 fish셸 에서 다음을 실행할 수 있습니다 .

for alternative in (update-alternatives --get-selections)
    echo $alternative 
    update-alternatives --list (echo $alternative | cut -d" " -f1)
    echo
end | pager

(ba | z)? sh 구문은 비슷해야합니다.

대안을 변경하려면 다음을 실행하십시오. sudo update-alternatives --config $ALTERNATIVE_NAME


1
내 페도라 12 일 update-alternatives에 심볼릭 링크입니다 alternatives: /usr/sbin/update-alternatives -> alternatives. 따라서 옵션 --get-selections에는 아무것도 표시되지 않습니다 (사용을 표시하는 오류가있는 종료).
uvsmtid

1
질문을 제대로 읽지 못했습니다. 죄송합니다. 데비안입니다. 나는 당신과 같은 것을 찾으려고 노력했지만이 답변을 따라갈 수 없습니다. 답변을 삭제해야하는지 궁금합니다.
kzh

당신에게 달려 있습니다. 어떤 상황에서는 그것이 정확하다고 생각하고 다른 사람에게 유용 할 수 있다면 그대로 두는 것이 좋습니다.
uvsmtid

16

정확한 대답은 다음과 같습니다.

ls /var/lib/alternatives

디렉토리 /etc/alternatives는 마스터와 슬레이브를 혼합 하는 모든 심볼릭 링크의 긴 목록을 유지 합니다. 슬레이브 심볼릭 링크는 alternatives --display [symlink]명령 과 함께 사용할 수 없습니다 .

동시에 디렉토리 /var/lib/alternatives에있는 각 그룹 (마스터 - 슬레이브 관계 포함) 상태 정보를 포함 단축 파일 이름의 목록을 모두 직접 사용 될 수있는 --display옵션을 선택합니다. 예를 들면 다음과 /var/lib/alternatives/java같습니다.

alternatives --display java

4
우분투 12.04에, 더는 없다 /var/lib/alternatives, 것 같다 /var/lib/dpkg/alternatives.
Hibou57

1
좋은 답변, 감사합니다! 하나 개 추가 : 데비안과 Armbian 그것에입니다 /etc/alternatives대신/var/lib/alternatives
알렉세이 Vesnin

4

가장 간단한 대답은 ...

ls /etc/alternatives

1
당신은 이미 답을 알고 때 : 항상 더 명백하다
gparent

그것은 또한 나의 첫번째 추측이었다. 그러나 그것은 나를 만족시키지 못했습니다. 마스터 및 슬레이브 링크가 모두 포함 된 목록이 너무 깁니다.
uvsmtid

-1

Ubuntu 12.04 (이전 버전 일 수도 있고 확인해야 할 수도 있음) 및 아마도 Debian (확인해야 할 수도 있음) :

ls /var/lib/dpkg/alternatives

이 디렉토리의 항목이 링크가 아니기 때문에 구성 가능한 대체 이름을 얻기 위해 목록을 작성하십시오. 그건 그렇고,이 디렉토리에 압축 파일이있을 수 있으므로 여기에 나열된 이름을 항상 그대로 사용할 수는 없습니다. 전의. 나는/var/lib/dpkg/alternatives/psql.1.gz


RedHat Enterprise Linux에 적용된다는 질문에 명확하게 나와 있으므로 실제로 도움이되지는 않습니다. RHEL 구성 방법은 다른 답변에 올바르게 설명되어 있습니다.
Kosi2801
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.