[중복] 경로에 다른 사용자를 추가하여 /root/에서 프로그램을 실행해 보세요.

[중복] 경로에 다른 사용자를 추가하여 /root/에서 프로그램을 실행해 보세요.

conda특히 명령 부분을 사용하고 있습니다.미니 콘다 배포. 설치 프로그램이 파일을 /root/miniconda3/.

문제는 /root/miniconda3/bin경로에 있지만 명령은 conda다른 sudoer가 아닌 루트에서만 실행할 수 있습니다.

권한 설정을 시도했습니다 777(컴파일러와 기타 항목이 포함되어 있고 루트 디렉터리에 있기 때문에 이것이 좋지 않다는 것을 알고 있지만 이는 테스트 환경에서만 작동합니다).

참고: 루트와 sudoer가 있습니다.

답변1

sudo conda반드시 실행되는 것은 아니지만 해당 옵션이 /root/.bash_profile설정되어 있지 않으면 원래 계정에서 실행됩니다./etc/sudoersalways_set_home

이는 의도적으로 설계된 것입니다. 동일한 시스템의 여러 관리자가 루트가 되어도 여전히 개인 쉘 환경 기본 설정을 유지할 수 있습니다.

또한 환경 변수는 대상 사용자로 명령을 실행하기 전에 sudo항상 표준 기본값으로 재설정되므로 원래 사용자로서의 설정은 에 유지되지 않습니다.PATHPATHsudo

이 경우 sudoPATH 설정이 적용되고 다른 구성 파일을 찾을 수 있도록 셸에서 명령을 실행하기 전에 명령을 설정해야 합니다.HOME=/rootconda/root/.bash_profileconda

  • $HOME/.condarc문서
  • $HOME/.conda/목차
  • $HOME/.continuum/목차

이렇게 하려면 단순히 run 대신 sudo -H condaor 를 실행하십시오 .sudo -i condasudo conda

관련 정보