Réponses:
Évitez de faire des installations locales dans les répertoires système. Les répertoires système, par exemple /usr
, sont réservés au système de gestion de paquets à utiliser. Par définition, si vous faites make install
cela, cela signifie que vous effectuez une installation locale, et si vous devez le faire, sudo make install
cela signifie que vous n'avez pas la permission de l'endroit où vous écrivez.
Donc, si vous obtenez des erreurs d'autorisation avec make install
, vérifiez et voyez si vous essayez d'installer dans les répertoires système, et installez dans /usr/local
ou similaire à la place. /usr/local
est réservé aux installations locales. Vous devrez peut-être vous autoriser à écrire /usr/local
, mais cela se fait généralement facilement. Sur Debian, cela peut être fait en vous ajoutant au staff
groupe. Mieux encore, recherchez ou créez un package binaire et installez-le à la place. De cette façon, vous pouvez facilement garder une trace des packages installés et obtenir les autres avantages de la gestion des packages.
Notez que le système de gestion des packages ne s'inverse pas dans /usr/local
, selon le FHS. Voir la section 9.1 du manuel de politique Debian - Hiérarchie du système de fichiers pour un aperçu.
Voici un aperçu de base des commandes:
Puisque la commande sudo exécute la commande que vous lui passez en tant que root, cela signifie que la commande make a des privilèges de super-utilisateur. Cela signifie que si le makefile est malveillant, ou si l'un des scripts qu'il peut appeler est malveillant, cela pourrait compromettre votre système.
En bref, si vous ne faites pas confiance au logiciel, ne l'installez pas. Si vous faites confiance au logiciel, l'exécution en tant que root ne devrait rien faire de mal.
Remarque:
sudo make install
est le même que su; make install
dans la plupart des cas.
Comme il a été répondu ci-dessus, sudo make install
vous permet d'installer les fichiers dans des répertoires qui sont autrement en lecture seule pour vous en tant qu'utilisateur.
Le problème que je peux prévoir est qu'à une date ultérieure, vous souhaiterez peut-être désinstaller ou mettre à niveau le programme. Si vous avez toujours l'arborescence du répertoire du code source make uninstall
, a désinstallera le programme pour vous, mais si, comme beaucoup d'autres utilisateurs typiques, vous avez supprimé l'arborescence du répertoire du code source, vous n'avez pas de chance. Et comme vous n'avez pas installé le programme à l'aide d'un système de gestion de packages, vous ne pourrez peut-être pas non plus désinstaller le programme de cette façon.
La meilleure façon d'installer de tels programmes peut être de les installer dans votre répertoire personnel. Passez l'option --prefix=/home/<user>/<some>/<directory>
à ./configure
. Cela vous permettra d'utiliser make install
au lieu de sudo make install
puisque /home/<user>/<some>/<directory>
vous pouvez l'écrire. La désinstallation est également un jeu d'enfant -rm -rf /home/<user>/<some>/<directory>