Sur Slackware, l'utilisation sbopkg
permet de construire un package à partir des sources. Repos n'est pas aussi gros que Debian, mais c'est bien.
Certains logiciels peuvent utiliser des variables d'environnement, par exemple sur l'émulateur VICE c64, si la variable
FFMPEG
est définie sur yes
, cela permettra d' ffmpeg
enregistrer l'émulateur.
J'ai essayé d'utiliser
$ export FFMPEG=yes; sudo sbopkg -B -i vice
mais ffmpeg
est désactivé.
Au lieu de cela, j'ai dû utiliser
$ su -
$ export FFMPEG=yes
$ sbopkg -B -i vice
qui fonctionne.
Comment utiliser les variables d'environnement avec sudo
?
la source
sudo
désinfecte les variables de l'environnement avant d'appeler la commande donnée. Vous devrez lui demander de conserver les variables dans l'environnement pour que votre commande fonctionne.De plus, vous devrez avoir
export
laFMPEG
variable avant d'utilisersudo
(export FMPEG=yes; sudo
), l'assigner en même temps que invoquersudo
(FMPEG=yes sudo
) ou utiliserenv
(env FMPEG=yes sudo
).Pour conserver les variables d'environnement, utilisez
-E
(ou--preserve-env
):Il est également possible de définir des variables d'environnement spécifiques comme ceci:
Si cela échoue en raison de la politique de sécurité en place, affichez un shell racine et définissez-y la variable:
la source
notez que:
(export a=b; command)
est équivalent àa=b command
. Notez les crochets.Ensuite, si nous appliquons la variable non pas à
sudo
mais directement àsbopkg
, donc au lieu deFFMPEG=yes sudo sbopkg -B -i vice
nous pouvons fairesudo FFMPEG=yes sbopkg -B -i vice
Si une police de sécurité l'empêche, alors:
sudo bash -c "FFMPEG=yes sbopkg -B -i vice"
(Ne l'utilisez pas
-E
, cela nous rend peu sûr car cela entraînera la fuite de toutes sortes de variables inattendues.)la source