Wenn Sie unter Slackware verwenden, sbopkg
können Sie ein Paket aus dem Quellcode erstellen. Repos ist nicht so groß wie Debian, aber es ist nett.
Einige Softwareprogramme können Umgebungsvariablen verwenden, z. B. im VICE c64-Emulator. Wenn die Variable auf festgelegt
FFMPEG
ist yes
, wird die ffmpeg
Aufzeichnung des Emulators aktiviert .
Ich habe versucht zu verwenden
$ export FFMPEG=yes; sudo sbopkg -B -i vice
ist aber ffmpeg
deaktiviert.
Stattdessen musste ich verwenden
$ su -
$ export FFMPEG=yes
$ sbopkg -B -i vice
welches funktioniert.
Wie verwende ich Umgebungsvariablen mit sudo
?
quelle
sudo
Bereinigt die Variablen in der Umgebung, bevor der angegebene Befehl aufgerufen wird. Sie müssen ihn bitten, die Variablen in der Umgebung beizubehalten, damit Ihr Befehl ausgeführt werden kann.Darüber hinaus müssen Sie
export
dieFMPEG
Variable vor der Verwendung vonsudo
(export FMPEG=yes; sudo
) zuweisen, wie beim Aufrufen vonsudo
(FMPEG=yes sudo
) oder mitenv
(env FMPEG=yes sudo
).Verwenden Sie
-E
(oder--preserve-env
), um die Umgebungsvariablen beizubehalten :Es ist auch möglich, bestimmte Umgebungsvariablen wie folgt festzulegen:
Wenn dies aufgrund der vorhandenen Sicherheitsrichtlinie fehlschlägt, rufen Sie eine Root-Shell auf und legen Sie die Variable dort fest:
quelle
Beachten Sie, dass:
(export a=b; command)
gleichbedeutend mita=b command
. Beachten Sie die Klammern.Wenn wir dann die Variable nicht auf,
sudo
sondern direkt auf anwendensbopkg
,FFMPEG=yes sudo sbopkg -B -i vice
können wir dies tun , anstattsudo FFMPEG=yes sbopkg -B -i vice
Wenn eine Sicherheitspolizei dies verhindert, dann:
sudo bash -c "FFMPEG=yes sbopkg -B -i vice"
(Verwenden Sie es nicht
-E
, es ist unsicher, da es alle möglichen unerwarteten Variablen verliert.)quelle