저는 Linux를 처음 사용합니다. 이 문제를 설명하겠습니다. comsol
일종의 네트워크 라이센스로 설치하려고 합니다 .
sudo ./setup
서버 디렉토리를 사용하는 경우 사용자 이름 "root"가 인식되지 않습니다. 서버가 내 사용자 이름인 zahir를 인식했습니다. 방금 작성하면 ./setup
설치가 라이센스 확인 단계를 통과했지만 /usr/local
.
zahir
루트 권한으로 설치를 실행하려면 어떤 명령을 사용해야 합니까?
답변1
setup
스크립트에 대한 도움을 찾으려고 노력 중입니다 . 어쩌면 파일과 함께 제공되거나 스위치를 README
허용할 수도 있습니다 -h
( 를 실행하여 확인 ./setup -h
). 합리적으로 잘 작성된 스크립트를 사용하면 설치 디렉터리를 변경할 수 있습니다. 당신은 다음과 같은 것을 할 수 있습니다
./setup --prefix=/home/zahir/
또는 이와 유사한 것입니다(스크립트 도움말에서 찾은 내용에 따라 다름).
comsol
이것은 홈 디렉토리에 설치되며 를 /usr/local
사용할 수 있습니다 sudo
.
고쳐 쓰다
위의 방법이 작동하지만 comsol
명령이 인식되지 않는다고 보고합니다. 이는 단지 바이너리의 위치를 변수 comsol
에 추가해야 함을 의미합니다.PATH
comsol
에 설치되어 있다고 가정하면 변수 에 /usr/local/comsol35
추가하면 됩니다 . (시스템의 실제 경로는 다를 수 있습니다)./usr/local/comsol35/bin
PATH
경로를 추가하세요.PATH
바꾸다:
다음 명령을 실행하면 됩니다.
export PATH=$PATH:/usr/local/comsol35/bin
PATH
현재 세션의 내용 만 변경됩니다 . 변경 사항을 영구적으로 적용하려면 다음을 수행하세요.
echo 'export PATH=$PATH:/usr/local/comsol35/bin' >> ~/.bashrc
$PATH
위 명령의 경우 큰따옴표보다는 작은따옴표를 사용하여 보간하는 대신 문자 그대로 명령에 추가하는 것이 중요합니다 .bashrc
. 또한 를 손상시키지 않도록 >>
대신 사용해야 합니다 .>
.bashrc
이 명령을 실행 echo
한 후에 comsol
는 새로 여는 모든 터미널에서 사용할 수 있습니다. 명령을 실행하는 데 사용된 터미널에 변경 사항을 적용하려면 echo
다음을 실행해야 합니다.
. ~/.bashrc
(예, 명령은 마침표일 뿐입니다)
답변2
sudo
분명히 당신과 같이 작동하지 않는 일부 명령이 있습니다 sudo ./setup
. 나는 일반적으로 다음과 같이 쉘의 루트가 됩니다.
옵션 1- 시스템이 지원하지 않을 수 있습니다.
$ sudo -i
옵션 2- 널리 지지받아야 한다
$ sudo su -
이 두 명령 중 하나를 실행하면 해당 셸 내부에 있는 것이므로 ./setup
명령을 실행할 수 있습니다. 디렉터리( )를 프로그램이 실행 중인 위치 cd
로 다시 변경했는지 확인하세요 ../setup
루트와 zahir로 실행하시겠습니까?
설치를 직접 실행해야 하는 경우 zahir
설치에 필요한 디렉터리를 생성하여 zahir
미리 해당 디렉터리에 설치한 다음 ./setup
로 실행할 수 있습니다 zahir
.
$ sudo mkdir -p /usr/local
$ sudo chown -R zahir /usr/local
답변3
setup
스크립트가 귀하의 환경에서 사용자 이름을 읽는 것 같습니다 . $USER
또는 환경 변수 중 하나를 확인할 수 있습니다 $USERNAME
(이들은 기본 변수이며 echo $USER
터미널에서 실행하여 해당 값을 확인할 수 있습니다). 다음과 같은 줄이 포함될 수 있습니다.
current_user=$USERNAME
파일에서 검색해 보세요 $USER
.
grep USER setup
그런 다음 이를 로 변경할 수 있습니다 zahir
. 예를 들면 다음과 같습니다.
current_user=zahir
스크립트를 어딘가에 게시할 수 있다면 기꺼이 살펴보고 더 구체적인 답변을 드리겠습니다.