~에서https://stackoverflow.com/a/48374564/156458
update-alternatives --config java
/usr/bin/java
/usr/bin/javac
등의 명령에 대한 심볼릭 링크를 설치하여 작동합니다.
update-alternatives --config somecommand
심볼릭 링크를 찾는 방법은 무엇입니까 somecommand
?
예를 들어, bash가 bash에서 직접 실행할 때 $PATH
파일을 찾는 것과 동일한 방식으로 작동하도록 이에 의존합니까?somecommand
somecommand
파일이 somecommand
심볼릭 링크가 아닌 경우에도 update-alternative --config somecommand
이것이 가능합니까?
감사해요.
답변1
작동 방식은 update-alternatives
설명에 나와 있습니다.맨페이지. 주어진 명령(또는 파일, 일반적으로 명령에만 국한되지 않음)에 대해 사용 가능한 대안 목록은 /var/lib/dpkg/alternatives
데비안 및 그 파생 문서 에 java
저장 되어 있습니다 /var/lib/dpkg/alternatives/java
. Fedora, RHEL 및 그 파생물에서 파일은 /var/lib/alternatives
.
패키지가 대안을 제공하려는 경우 update-alternatives --install
(및 적절한 인수)를 사용하여 설치하고, 대안을 제거하려는 경우 update-alternatives --remove
필요한 경우 이를 사용하여 고유한 대안을 제공할 수 있습니다.
update-java-alternatives
Java의 특정 경우, Debian 및 그 파생물에서 대체 처리는 약간 더 복잡하므로 모든 대체를 수동으로 조작하는 대신 사용해야 합니다 .
어떤 이유로 재정의에 의해 관리되는 파일이 심볼릭 링크가 아닌 경우 update-alternatives
재정의는 손상된 것으로 간주되어 해당 파일을 건드리기를 거부합니다.