logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 14-10-2016 10:15:07

romain
Membre
Lieu : Suisse
Distrib. : Debian, "Stretch" ou "Sid"
Noyau : Linux 4.9.0-3-amd64 ou 4.11.0-1-amd64
(G)UI : openbox forever
Inscription : 31-01-2013

Compilation et /usr/src

Bonjour,

Je me posais une question par rapport à la compilation d'un programme. Par habitude, je télécharge mon fichier source dans le dossier /usr/src et le désarchive à l'intérieur. Je vais donc rester de ce répertoire pour faire la compilation! Vu que le propriétaire et root, je vais faire toute mes étapes avec ce compte! Quand je regarde des tutos sur le net, seul make install est fait avec le compte root. Normal vu que c'est la seul étape qui à besoin des accès administrateur afin d'avoir les accès pour copier les fichiers au bon endroit!

Mais es ce que c'est dérangeant de faire les étapes de configuration et de compilation avec le compte root? Je n'ai jamais eu de problème (en même temps je n'ai pas souvant besoin de compiler). Mais aussi niveau sécurité, je ne fais pas une erreur?

Merci à ceux qui arriveront à éclairer ma lanterne
Salutation

Hors ligne

#2 14-10-2016 12:19:34

raleur
Membre
Inscription : 03-10-2014

Re : Compilation et /usr/src

romain a écrit :

Mais es ce que c'est dérangeant de faire les étapes de configuration et de compilation avec le compte root?


Evidemment, puisque ce n'est pas nécessaire.


Il vaut mieux montrer que raconter.

Hors ligne

#3 14-10-2016 15:46:14

stephgarg
Membre
Lieu : Périgueux
Distrib. : Debian GNU/Linux Stable (Bookworm)
Noyau : linux-image-6.1.0-*-amd64
(G)UI : KDE Plasma 5.27
Inscription : 01-01-2015

Re : Compilation et /usr/src

Bonjour à tous.

romain a écrit :

Par habitude, je télécharge mon fichier source dans le dossier /usr/src et le désarchive à l'intérieur. Je vais donc rester de ce répertoire pour faire la compilation! Vu que le propriétaire et root, je vais faire toute mes étapes avec ce compte!



Bon déjà, il serait préférable d'installer le code source de tout programme - y compris quand il s'agit du noyau linux - dans le répertoire personnel d'un utilisateur non priviliègé et, donc, dans le répertoire /home. Et de procéder à son compilation sous le compte du même utilisateur.

romain a écrit :

Quand je regarde des tutos sur le net, seul make install est fait avec le compte root. Normal vu que c'est la seul étape qui à besoin des accès administrateur afin d'avoir les accès pour copier les fichiers au bon endroit!



L'installation d'un logiciel compilé dans des répertoires /bin, /lib, /sbin ou encore /usr est la seule étape qui nécessite le passage sous le compte root, ce qui est normal car seul root posséde les droits de modifier leur contenu. Néanmoins, deux remarques (pour relativiser par rapport à ce qui a été dit précédemment) :
- S'il y a un seul utilisateur du programme alors il serait peut-être préférable d'installer le logiciel compilé dans le répertoire personnel de cet utilisateur (et sous son compte). Evidemment, il faudra probablement - et au préalable - modifier le fichier Makefile.
- Autrement, il vaudrait mieux l'installer dans les répertoires /usr/local voire /opt pour que cela ne rentre pas en conflit avec les fichiers installés - toujours dans les répertoires /bin, /lib, /sbin ou /usr - à l'aide d'une des commandes apt, apt-get, aptitude... et donc issus des paquets se trouvant dans les dépôts de Debian généralement. Mais, là aussi, il faudra modifier le fichier Makefile.

Cela est d'ailleurs recommandé dans la FAQ Debian GNU/LInux- Problèmes de compatibilité : 4.6 Comment installer un programme n'appartenant pas à Debian ? voire 4.5 Peut-on utiliser des paquets Debian (fichiers « .deb ») sur un système Linux Red Hat/Slackware/... ? Peut-on utiliser des paquets Red Hat (fichiers « .rpm ») sur un système Debian GNU/Linux ?.

Quant à une éventuelle modification d'un fichier Makefile que l'on trouve habituellement dans le code source, bien entendu, il faudra se documenter au préalable et de savoir parfaitement de ce qu'on fait... wink

romain a écrit :

Mais es ce que c'est dérangeant de faire les étapes de configuration et de compilation avec le compte root? Je n'ai jamais eu de problème (en même temps je n'ai pas souvant besoin de compiler). Mais aussi niveau sécurité, je ne fais pas une erreur?



Ce n'est pas parce que tu n'as jamais eu de problème que l'utilisation de compte root - quand cela n'est pas nécessaire - relève d'une démarche prudente... hmm

De façon général - car cela dépasse le simple cadre de compilation (et d'installation) de logiciel -, je n'observe qu'un seul principe : utiliser le compte d'utilisateur ordinaire autant que possible et le compte administrateur autant que nécessaire. smile

A bientôt.


Trois PC dont un fixe Sirius, un transportable Canopus et un miniportable Arcturus. smile
Sirius : Ryzen 7 3700X à 4,4 GHz, SDRAM DDR4 3,6 GHz de 32 Gio, 10 To de SSD dont 20% en PCIe 3.0 4x.
Canopus : Core i5-9600K à 3,7 GHz, SDRAM DDR4 3,0 GHz de 16 Gio, 5 To de SSD dont 20% en PCIe 3.0 4x.
Arcturus : Core i5-10210U à 1,6 Ghz, SDRAM DDR4 2,4 GHz de 8 Gio, 2 To de SSD SATA-3.

Hors ligne

#4 14-10-2016 18:25:05

romain
Membre
Lieu : Suisse
Distrib. : Debian, "Stretch" ou "Sid"
Noyau : Linux 4.9.0-3-amd64 ou 4.11.0-1-amd64
(G)UI : openbox forever
Inscription : 31-01-2013

Re : Compilation et /usr/src

Je comprends mieux! Je vais déjà graver au fer rouge en moi ton principe. C'est vrais que par moment, j'utilise le compte root pour des opérations que je ne devrais pas!!! Je suis le seul utilisateur de l'ordinateur donc il y a que mon compte qui normalement utilise les programmes. Je pensais que le dossier /usr/src était fait pour les sources alors je faisais la compilation à l'intérieur. Je pense que j'ai hériter de cette pratique en lisant un vieux tuto qui ne devait pas être au top!

Je ne suis pas sur de bien comprendre le choix d'installer le logiciel dans le répertoire personnel. Personnellement, je préférerais avoir garder mon répertoire personnel pour mes fichiers personnel et avoir un endroit spécifique sur la machine pour les logiciels compilés. Si j'en crois le lien que tu m'as laissé https://www.debian.org/doc/manuals/debi … n-programs, il y a le dossier /usr/local/src pour y placer mes sources. Cela veut dire que je peux faire la compilation de dans? On revient au problème d'etre root pour y travailler! Je vois que le dossier /usr/local appartient au group staf! A quoi sert ce groupe? Es une bonne idée d'en faire partie comme ca je pourrait compiler de dans?

Je sais je suis peu être un peu chiant mais je voudrais connaitre la bonne méthode pour travailler! Jusqu'à maintenant j'ai beaucoup trop bricoler sous linux et maintenant je aimerais prendre de bonne habitude!

Merci pour tes conseils

Hors ligne

Pied de page des forums