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

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

alternatives --display mta

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

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

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



답변

데비안 (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


답변

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

ls /var/lib/alternatives

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

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

alternatives --display java


답변

가장 간단한 대답은 …

ls /etc/alternatives


답변

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

ls /var/lib/dpkg/alternatives

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


답변