Ceci est une ancienne révision du document !
Éviter de lancer une commande en tant qu'administrateur lorsque c'est possible
Il y a deux situations dans lesquelles on peut éviter d'avoir à lancer des commandes en tant qu'administrateur là où il le faudrait en théorie.
- Lorsque vous souhaitez compiler certains logiciels et notamment créer des paquets,
- Lorsque vous cherchez à installer un logiciel fourni sous forme de script exécutable, et que celui-ci cherche à s'installer par défaut dans un répertoire administrateur comme /usr/local par exemple
Pré-requis
- Disposer des droits d'administration (pour préparer le système)
Compilation de logiciels avec fakeroot
fakeroot lance une commande dans un environnement dans lequel cette commande obtient les droits de l’administrateur pour manipuler des fichiers. C’est pratique pour permettre aux utilisateurs de créer des archives (tar, ar, .deb, etc.) qui contiennent des fichiers avec les privilèges et appartenances du superutilisateur. Sans fakeroot, il faudrait posséder les droits du superutilisateur pour donner les droits et appartenances convenables aux fichiers constituant l’archive, puis de les assembler ; ou bien, il faudrait construire directement l’archive, sans utiliser le programme d’archivage.
Installation de logiciels fournis sous forme de scripts exécutables dans un répertoire administrateur
Un exemple vaut mieux qu'un long discours, supposons que vous souhaitiez installer la dernière version du JDK de Sun, après l'avoir téléchargée chez eux. La procédure, et son intérêt sont expliqués ici : Installation du Java Developpement Kit.
Toute l'astuce consiste à créer le répertoire où le script va s'installer, et changer ses droits (qui par défaut sont en root) par les vôtres.
sudo mkdir /usr/local/java # crée un répertoire nommé java dans vos dossiers root sudo chown VOTRE_LOGIN /usr/local/java # confère les droits utilisateurs sur ce dossier et donc son contenu sudo chgrp VOTRE_LOGIN /usr/local/java # confère les droits de votre groupe sur ce dossier et donc son contenu