명령줄에서 두 번째로 설치된 버전을 어떻게 구분할 수 있나요?

명령줄에서 두 번째로 설치된 버전을 어떻게 구분할 수 있나요?

herd라는 도구를 설치했습니다(http://diy.inria.fr/herd/). 원래 버전은 전역 경로에 있으므로 를 작성하여 어디에서나 호출할 수 있다고 생각합니다 herd7. 이제 제가 직접 컴파일한 두 번째 설치도 생겼습니다. 다른 디렉토리에 있습니다. 두 번째 것을 구체적으로 뭐라고 불러야 할지 모르겠습니다. 전체 경로를 적는 것과 관련이 있는 것 같은데 경로가 무엇인지 어떻게 알아내는지, 언제 추측하고 시도했는지 잘 모르겠습니다.

./herd --help

그것은 단지 나에게 알려줍니다 Is a directory. 그렇다면 실제 도구를 어떻게 호출합니까?

저는 Linux와 명령줄을 처음 사용하기 때문에 아마도 잘못된 용어를 사용하고 있을 것입니다.

편집하다:

글쎄, 나는 그 자체 _build에 . 하지만 그래도 지정해야 합니까? 원래 설치와 같은 명령줄 사용법이 없어야 합니까?defaultherdherd.exe./herd.exe --help./herd --help.exeherd7

답변1

이것은 관례의 문제입니다. gcc컴파일러를 예로 들어 설명 하겠습니다 .

which gccRedhat 8에 이것을 입력하면 /usr/bin/gcc기본적 gcc --version으로 version 4.8.5설치된 버전이 생성됩니다.

더 높은 버전(예: 버전 11.4)을 다운로드하여 설치하려면 gcc해당 구성에 명시적으로 명시해야 합니다 /usr/local/gcc-11.4. 이렇게 하면 기존 gcc-4.8.5를 덮어쓰지 않습니다 /usr/bin. gcc-11.4를 실행하려는 경우 이를 명시적으로 수행 하거나 환경 변수 ( 및 ) 를 /usr/local/gcc-11.4/bin/gcc수정하여 및 내부에 각각 넣을 수 있습니다 . 그러면 입력만 하면 11.4 버전 대신 11.4 버전이 사용됩니다. 버전 4.8.5. 실행하면 실행 파일이 처음 발견된 폴더가 사용된 폴더임을 표시합니다.PATHLD_LIBRARY_PATH/usr/local/gcc-11.4/bin/usr/local/gcc-11.4/lib/usr/binPATHgccecho $PATH

herd아래 /usr/local나 아래 /opt또는 다른 곳에 최신 버전을 설치할 수 있습니다 . 폴더 이름에 버전 번호를 수동으로 추가하면 며칠(또는 몇 시간) 후에 내용을 잊어버린 경우 작업을 관리하는 데 큰 도움이 됩니다.

각 사용자별로 PATH또는 모든 사용자에 대해 전역 업데이트를 사용하거나 수행하는 등 다양한 방법으로 업데이트할 수 있습니다. 전반적으로 복잡하지 않고 디지털 조직과 내부 관리의 문제를 이해하는 것뿐입니다.LD_LIBRARY_PATH/home/<account>/.bashrc/etc/profile.d/<some_name>.shmodules

명령줄에서 두 번째 버전을 어떻게 구분할 수 있나요?

PATH이는 모두 환경 변수 아래에 나열된 폴더의 순서 와 관련이 있습니다 LD_LIBRARY_PATH. 실행 파일이나 지원 라이브러리 파일이 먼저 발견된 폴더가 사용됩니다. 따라서 두 가지 환경 변수를 수동으로 재정렬하거나(본인에게만 적합한 경우), 사용자가 많고 충돌 가능성이 있는 소프트웨어 버전이 많은 작업 환경에서는 다음을 사용할 수 있습니다 modules.모듈 패키지는 셸 초기화를 단순화하고 사용자가 모듈 파일을 사용하여 세션 중에 환경을 쉽게 수정할 수 있도록 하는 도구입니다. https://modules.readthedocs.io/en/latest/

관련 정보