web-dev-qa-db-fra.com

Devrais-je utiliser "Sudo" avant "make install"?

J'installe la dernière version de FFmpeg à partir de this guide:

À certains endroits, il est suggéré de jouer make install sans Sudo, voici un exemple parmi plusieurs:

cd ~/ffmpeg_sources
wget http://download.videolan.org/pub/x264/snapshots/last_x264.tar.bz2
tar xjvf last_x264.tar.bz2
cd x264-snapshot*
PATH="$PATH:$HOME/bin" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static --disable-openclcd ~/ffmpeg_sources
wget http://download.videolan.org/pub/x264/snapshots/last_x264.tar.bz2
tar xjvf last_x264.tar.bz2
cd x264-snapshot*
PATH="$PATH:$HOME/bin" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static --disable-opencl
PATH="$PATH:$HOME/bin" make
make install
make distclean

Devrais-je utiliser Sudo make install à la place?

Mon intention est de rendre les packages disponibles pour tous les utilisateurs, y compris Apache/PHP.

5
dotancohen

Dans votre cas, vous n'avez pas besoin de faire un Sudo make install car vous allez installer la bibliothèque dans votre $HOME. Vous avez configuré la construction pour utiliser un préfixe et bindir pour l'installer dans votre $HOME.

Pour rendre le paquet disponible pour d’autres programmes, il serait préférable de choisir des répertoires extérieurs à votre $HOME. Ensuite, vous devrez faire le make install en utilisant Sudo.

9
Uwe Plonus

Cela dépend de l'endroit où votre paquet va être installé.

Pendant l'installation, vous devez entrer Sudo si vous effectuez une installation dans les répertoires système tels que /usr. Vous devez entrer ceci car vous ne disposez pas de l'autorisation d'écriture dans ce répertoire. Une installation locale ne nécessite pas Sudo avant make install

4
g_p

En complément, utilisez checkinstall pour générer un paquet géré, puis installez-le avec dpkg ou un autre outil apt. Pour l’installation de logiciels à partir des sources, cela peut soulager de nombreux maux de tête lorsque vient le temps de mettre à niveau, de supprimer ou de résoudre des problèmes.

4
orbatos

Le guide que vous suivez suppose que vous souhaitez installer ffmpeg sur ~/bin/ dans votre répertoire HOME. Cela a l'avantage de ne pas avoir besoin de Sudo pour l'installation, mais nous ne pourrons pas utiliser ffmpeg à l'échelle du système pour tous les utilisateurs.

De plus, ce chemin n'existe pas dans une installation Ubuntu par défaut, où les logiciels auto-compilés à l'échelle du système devraient de préférence aller à /opt. Voir Quel est le meilleur endroit pour installer des applications utilisateur? .

Au cas où nous aurions besoin d’avoir accès à ffmpeg de tous les utilisateurs, nous devrions utiliser un chemin d’installation en dehors de notre HOME pour make install. Bien entendu, cela nécessite alors Sudo pour l'installation. Voir aussi Guide de compilation FFmpeg .

2
Takkat

Si vous avez des doutes, la réponse est presque certainement que vous ne devriez pas utiliser Sudo.

Chaque fois que vous essayez Sudo make install, vous exposez votre système à des bogues potentiels, en tant que root.

Je suis un administrateur système et je dois régulièrement installer un logiciel pour des tiers. à moins que quelque chose ne soit vraiment un aspect système (tel qu'un module de noyau), la plupart des logiciels sont installés et vivent heureux dans l'espace utilisateur, même partagés par beaucoup, en utilisant ./configure --prefix

fi. > 1000 composants logiciels visibles ici sont tous configurés sous un seul utilisateur régulier: https://hpc.uni.lu/users/software/

Exemple:

  • CUDA est un environnement de développement GPU fourni par nVidia; c'est installé sans Sudo
  • les pilotes nVidia GPU nécessitent toutefois un accès de niveau inférieur et sont donc exécutés via Sudo/root.
0
fgeorgatos