• [^] # Re: Compte administrateur ?

    Posté par (site web personnel) . En réponse à la dépêche Nouvelle compilation de logiciels libres pour Windows 64 bits. Évalué à 8. Dernière modification le 18 mai 2016 à 17:02.

    Sous Linux, si tu veux installer un paquet (.deb, .rpm, ...), il faut en effet être root/administrateur. C'est normal, c'est la cohérence des paquets installés sur la machine qui en dépendant.

    Par contre, rien ne t'empêche:

    • de télécharger des sources du logiciel, de les compiler, et de les installer dans ton /home/riendf/soft/
    • ou, si l'admin n'a pas installé de compilo, tu peux aussi installer ton propre compilo dans ton /home
    • ou alors, tu peux compiler les sources sur une tierce machine, et les transférer sur ton /home
    • il existe des softs Linux qui, à partir d'un exécutable, sont capable de t'extraire toutes les dépendances du soft (librairies), et te générer une arborescence de fichiers, que tu pourras transférer sur la machine dont tu n'as pas les droits d'administrtation
    • afin de forcer un programme à utiliser les librairies de ton /home, à la place de celles du système, il y a un mécanisme très simple : LD_LIBRARY_PATH . Exemple: export LD_LIBRARY_PATH=/home/riendf/soft/lib/ /home/riendf/soft/bin/le_programme_que_tu_veux_lancer

    Là où cela peut devenir pénible, c'est si le programme utilise des chemins hard-codés, comme par exemple pour écrire un fichier de log dans /var/log/ , alors que seul le root est supposé faire cela (*). Mais généralement, les programmes permettent de changer les chemins hard-codés, via des paramètres en ligne de commande, ou un option d'un fichier de configuration.

    En fait, ce sur quoi les droits root vont vraiment te manquer, c'est si tu veux lancer un programme qui va ouvrir un port inférieur à 1024, comme par exemple un serveur web (ports 80 et 443). Ca oui, c'est la chasse gardée du root (*).
    Mais les programmes ne sont pas stupides, ils proposent généralement de changer les ports par défauts. Par exemple dans le serveur web Apache, c'est une ligne de configuration qui permet de changer le port d'écoute, afin d'écouter sur le classique "8888" (ou autre) à la place du "80".

    (*): Certains programmes non-root peuvent le faire, mais c'est parce qu'ils ont été initialement lancés par le root, qui l'a ensuite délégué à un utilisateur spécifique. Exemple très classique : L'utilisateur "www-data" qui exécute le process Apache.