시스템에서 구성 가능한 모든`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.