Slackware에서를 사용 sbopkg
하면 소스에서 패키지를 빌드 할 수 있습니다. Repos는 데비안만큼 크지는 않지만 훌륭합니다.
일부 소프트웨어는 VICE c64 에뮬레이터와 같은 환경 변수를 사용할 수 있습니다. 변수 FFMPEG
가로 설정되어 있으면
에뮬레이터를 기록 yes
할 수 ffmpeg
있습니다.
나는 사용하려고
$ export FFMPEG=yes; sudo sbopkg -B -i vice
하지만 ffmpeg
사용할 수 없습니다.
대신에 사용해야했습니다
$ su -
$ export FFMPEG=yes
$ sbopkg -B -i vice
작동합니다.
환경 변수를 어떻게 사용 sudo
합니까?
답변
sudo의 -E
옵션을 사용할 수 있습니다 :
FMPEG=yes sudo -E sbopkg -B -i vice
매뉴얼에서 :
-E, –preserve-env
사용자가 기존 환경 변수를 유지하려는 보안 정책을 나타냅니다. 사용자에게 환경 보존 권한이 없으면 보안 정책에서 오류를 반환 할 수 있습니다.
참고이 수출하는 모든 기존 환경 변수. 다음 구문으로 필요한 환경 변수 만 내보내는 것이 더 안전합니다 .
sudo FMPEG=yes sbopkg -B -i vice
답변
sudo
주어진 명령을 호출하기 전에 환경의 변수를 삭제합니다. 명령이 작동하려면 환경의 변수를 유지하도록 요청해야합니다.
또한, 당신이해야합니다 사용하기 전에 변수 ( )를 호출하는 것과 같은 이동에 할당 ( ) 또는 사용 ( ).export
FMPEG
sudo
export FMPEG=yes; sudo
sudo
FMPEG=yes sudo
env
env FMPEG=yes sudo
환경 변수를 유지하려면 -E
(또는 --preserve-env
)를 사용하십시오.
$ env FMPEG=yes sudo -E sbopkg -B -i vice
다음과 같은 특정 환경 변수를 설정할 수도 있습니다.
$ sudo FMPEG=yes sbopkg -B -i vice
보안 정책으로 인해 이것이 실패하면 루트 쉘을 열고 변수를 설정하십시오.
$ sudo -s
# env FMPEG=yes sbopkg -B -i vice
# exit
답변
참고 :
(export a=b; command)
는와 같습니다 a=b command
. 괄호에 유의하십시오.
그런 다음 변수를 적용하지 sudo
않고 직접 적용하면 sbopkg
대신 FFMPEG=yes sudo sbopkg -B -i vice
할 수 있습니다.
sudo FFMPEG=yes sbopkg -B -i vice
보안 경찰이이를 방지 할 경우 :
sudo bash -c "FFMPEG=yes sbopkg -B -i vice"
(를 사용하지 않으면 -E
모든 종류의 예기치 않은 변수가 유출되므로 안전 하지 않습니다 .)