Définition : groupe src - Quoi est ce ?
Résolu/Fermé
Illitch
Messages postés
1585
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
14 octobre 2024
-
10 sept. 2009 à 12:16
Illitch Messages postés 1585 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 14 octobre 2024 - 12 sept. 2009 à 05:18
Illitch Messages postés 1585 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 14 octobre 2024 - 12 sept. 2009 à 05:18
6 réponses
Bonjour,
il faut se poser la question : est-ce que compiler un programme peut être dangereux pour le système ?
Le groupe src à les droits d'écriture dans le dossier /usr/src ou se trouve le noyau et les modules. Il suffit donc d'apprécier ce qui est important.
Si vous êtes le seul utilisateur à compiler, autant utiliser sudo. Si vous êtes plusieurs, c'est peut être plus pratique comme ça ?
Cordialement,
il faut se poser la question : est-ce que compiler un programme peut être dangereux pour le système ?
Le groupe src à les droits d'écriture dans le dossier /usr/src ou se trouve le noyau et les modules. Il suffit donc d'apprécier ce qui est important.
Si vous êtes le seul utilisateur à compiler, autant utiliser sudo. Si vous êtes plusieurs, c'est peut être plus pratique comme ça ?
Cordialement,
Illitch
Messages postés
1585
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
14 octobre 2024
45
10 sept. 2009 à 13:10
10 sept. 2009 à 13:10
merci kiki,
En effet je suis le seul "administrateur" (faute de mieux) du système et je préfère limiter au max les droits permanents (surtout pour acceder au kernel...) sudo su ou un script "ouvrir avec les droits roots" me conviennent donc mieux. :)
Reste, par curiosité, ma question sur l'expression $USER et ma félicité sera compilée (mais pas ses dépendances :P ). Le lien vers un lexique LINUX serait également acceuilli avec bonheur.
En effet je suis le seul "administrateur" (faute de mieux) du système et je préfère limiter au max les droits permanents (surtout pour acceder au kernel...) sudo su ou un script "ouvrir avec les droits roots" me conviennent donc mieux. :)
Reste, par curiosité, ma question sur l'expression $USER et ma félicité sera compilée (mais pas ses dépendances :P ). Le lien vers un lexique LINUX serait également acceuilli avec bonheur.
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
10 sept. 2009 à 13:36
10 sept. 2009 à 13:36
Salut,
La compilation d'un programme peut être fait par n'importe quel utilisateur et il n'y a aucun danger.
L'installation en revanche ne peut être faite que par root (enfin si en jour tu vas t'amuser avec LFS - Linux From Scratch - tu verras que ce n'est pas obligatoire)
Pour ne pas te compliquer avec cette histoire de src il suffit de télécharger les sources et les désarchiver dans le répertoire personnel d'utilisateur.
Les commandes
./configure
make
sans trop d'explications ne sont que pour la préparation de l'installation qui sera faite en root.
Ensuite pour installer il suffit de taper sudo make install
Selon ce tuto on a l'impression que la seule manière de compiler c'est ça Pour compiler un programme sans utiliser sudo rajouter l'utilisateur au groupe src, ce qui n'est pas du tout vrai.
D'ailleurs c'est en contradiction avec ce qu'on voit plus haut dans le tuto
Une fois téléchargée, décompressez l'archive dans votre dossier personnel
Pourquoi j'aurais besoin des privilèges particulières pour faire un ./configure && make dans mon répertoire personnel?
Et pourquoi ça sera dangereux ?
La compilation d'un programme peut être fait par n'importe quel utilisateur et il n'y a aucun danger.
L'installation en revanche ne peut être faite que par root (enfin si en jour tu vas t'amuser avec LFS - Linux From Scratch - tu verras que ce n'est pas obligatoire)
Pour ne pas te compliquer avec cette histoire de src il suffit de télécharger les sources et les désarchiver dans le répertoire personnel d'utilisateur.
Les commandes
./configure
make
sans trop d'explications ne sont que pour la préparation de l'installation qui sera faite en root.
Ensuite pour installer il suffit de taper sudo make install
Selon ce tuto on a l'impression que la seule manière de compiler c'est ça Pour compiler un programme sans utiliser sudo rajouter l'utilisateur au groupe src, ce qui n'est pas du tout vrai.
D'ailleurs c'est en contradiction avec ce qu'on voit plus haut dans le tuto
Une fois téléchargée, décompressez l'archive dans votre dossier personnel
Pourquoi j'aurais besoin des privilèges particulières pour faire un ./configure && make dans mon répertoire personnel?
Et pourquoi ça sera dangereux ?
Illitch
Messages postés
1585
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
14 octobre 2024
45
10 sept. 2009 à 14:02
10 sept. 2009 à 14:02
Je suis d'accord ce tuto est un peu confus :/
J'ai cru comprendre que compiler manuellement sans apt peut poser des problèmes si le paquet a des dépendances non installées et pour la désinstalation dudit paquet ; d'où l'intérêt d'utiliser build-essential / fakeroot / checkinstall.
Le protocole donné dans le tuto est il correct ? A savoir :
décompresser l'archive puis :
cd /[chemin_vers_le_répertoire_des_sources]
./configure
make
sudo checkinstall
/up :
$USER ?
Lexique LINUX ?
J'ai cru comprendre que compiler manuellement sans apt peut poser des problèmes si le paquet a des dépendances non installées et pour la désinstalation dudit paquet ; d'où l'intérêt d'utiliser build-essential / fakeroot / checkinstall.
Le protocole donné dans le tuto est il correct ? A savoir :
décompresser l'archive puis :
cd /[chemin_vers_le_répertoire_des_sources]
./configure
make
sudo checkinstall
/up :
$USER ?
Lexique LINUX ?
jeanbi
Messages postés
15118
Date d'inscription
samedi 9 décembre 2006
Statut
Contributeur
Dernière intervention
6 février 2023
2 182
10 sept. 2009 à 14:29
10 sept. 2009 à 14:29
bonjour,
pourquoi revenir sur ce qui a ete ecit
il est toujours possible de compiler un programme,
les commandes gerenrales sont en user
./configure
make
si tout se passe bien qu'il n'y a pas d'erreur
en root
avec sudo
sudo make install
ou su -
motdepasse (root)
make install
a+
pourquoi revenir sur ce qui a ete ecit
il est toujours possible de compiler un programme,
les commandes gerenrales sont en user
./configure
make
si tout se passe bien qu'il n'y a pas d'erreur
en root
avec sudo
sudo make install
ou su -
motdepasse (root)
make install
a+
Illitch
Messages postés
1585
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
14 octobre 2024
45
10 sept. 2009 à 14:42
10 sept. 2009 à 14:42
mais si j'ai bien compris checkinstall créé un.deb et rend possible la désinstalation ultérieure par le synaptic (toujours bon à prendre), également la procédure indiquée est suposée contrôler l'existance de dépendances non satisfaite, chose très intéressant : alors ma question reste entière la méthode du tuto est elle valide ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jeanbi
Messages postés
15118
Date d'inscription
samedi 9 décembre 2006
Statut
Contributeur
Dernière intervention
6 février 2023
2 182
10 sept. 2009 à 16:54
10 sept. 2009 à 16:54
re, je n'ai jamais essaye
en aucun cas il ne s'occupe des dependances vu que c'est make qui va s'occuper de compiler et de te dire s'il manque des dependances
la commande a le seul interet d'installer le programme comme un rpm ou deb de mettre à jour la base de logiciels et de se fait en permettre la desinstalation.
il faut bien sur installer checkinstall
a+
en aucun cas il ne s'occupe des dependances vu que c'est make qui va s'occuper de compiler et de te dire s'il manque des dependances
la commande a le seul interet d'installer le programme comme un rpm ou deb de mettre à jour la base de logiciels et de se fait en permettre la desinstalation.
il faut bien sur installer checkinstall
a+
Illitch
Messages postés
1585
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
14 octobre 2024
45
10 sept. 2009 à 23:26
10 sept. 2009 à 23:26
Merci
Pigé (navré j'ai été un peu lent : j'ai un cerveau double core pourtant comme tout le monde).
Je vais toutefois installer checkinstall et l'utiliser histoire d'avoir un synaptic au propre. Décidément ce tuto est mal fichu (plutôt rare sur Ubuntu.fr) :/
Pigé (navré j'ai été un peu lent : j'ai un cerveau double core pourtant comme tout le monde).
Je vais toutefois installer checkinstall et l'utiliser histoire d'avoir un synaptic au propre. Décidément ce tuto est mal fichu (plutôt rare sur Ubuntu.fr) :/
Illitch
Messages postés
1585
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
14 octobre 2024
45
12 sept. 2009 à 05:18
12 sept. 2009 à 05:18
Donc ça donne ça (copie du log de la console - les entrée tapées dans la console sont en gras) - J'ai décompressé l'archive en mode graphique auparavant.
1 - Se rendre dans le répertoire ou se trouve l'archive décompressée :
bullshit@Ducon180374:~$ cd /home/bullshit/Bureau/Téléchargements/Programmes/Foremost/foremost-1.5.6
bullshit@Ducon180374:~/Bureau/Téléchargements/Programmes/Foremost/foremost-1.5.6$.
2 -Exécuter configure (ici ./configure n'est pas présent dans l'archive)
sudo su
[sudo] password for bullshit:
root@Ducon180374:/home/bullshit/Bureau/Téléchargements/Programmes/Foremost/foremost-1.5.6# ./configure
bash: ./configure: Aucun fichier ou dossier de ce type
3 - Compiler
root@Ducon180374:/home/bullshit/Bureau/Téléchargements/Programmes/Foremost/foremost-1.5.6# make
gcc -Wall -O2 -DVERSION=\"1.5.6\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c main.c
gcc -Wall -O2 -DVERSION=\"1.5.6\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c state.c
gcc -Wall -O2 -DVERSION=\"1.5.6\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c helpers.c
gcc -Wall -O2 -DVERSION=\"1.5.6\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c config.c
config.c: Dans la fonction «translate» :
config.c:27: attention : valeur calculée n'est pas utilisée
config.c:32: attention : valeur calculée n'est pas utilisée
config.c:37: attention : valeur calculée n'est pas utilisée
config.c:42: attention : valeur calculée n'est pas utilisée
config.c:47: attention : valeur calculée n'est pas utilisée
config.c:52: attention : valeur calculée n'est pas utilisée
config.c:57: attention : valeur calculée n'est pas utilisée
gcc -Wall -O2 -DVERSION=\"1.5.6\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c cli.c
gcc -Wall -O2 -DVERSION=\"1.5.6\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c engine.c
gcc -Wall -O2 -DVERSION=\"1.5.6\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c dir.c
gcc -Wall -O2 -DVERSION=\"1.5.6\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c extract.c
gcc -Wall -O2 -DVERSION=\"1.5.6\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c api.c
gcc -Wall -O2 -DVERSION=\"1.5.6\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 main.o state.o helpers.o config.o cli.o engine.o dir.o extract.o api.o -o foremost
4 - Exécuter checkinstall pour créer le .deb :
root@Ducon180374:/home/bullshit/Bureau/Téléchargements/Programmes/Foremost/foremost-1.5.6# sudo checkinstall
checkinstall 1.6.1, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran
This software is released under the GNU GPL.
The package documentation directory ./doc-pak does not exist.
Should I create a default set of package docs? [y]: y
Preparing package documentation...OK
Please write a description for the package.
End your description with an empty line or EOF.
>> Récupération de données.
*****************************************
**** Debian package creation selected ***
*****************************************
This package will be built according to these values:
0 - Maintainer: [ root@Ducon180374 ]
1 - Summary: [ Récupération de données. ]
2 - Name: [ foremost ]
3 - Version: [ 1.5.6 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ checkinstall ]
7 - Architecture: [ i386 ]
8 - Source location: [ foremost-1.5.6 ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
Enter a number to change any of them or press ENTER to continue:
Installing with make install...
========================= Installation results ===========================
install -m 755 foremost /usr/local/bin
install -m 444 foremost.8.gz /usr/share/man/man8
install -m 444 foremost.conf /usr/local/etc
======================== Installation successful ==========================
Copying documentation directory...
./
./README
./CHANGES
grep: /var/tmp/chrRNSamOPrrDceMAIYQd/newfile: Aucun fichier ou dossier de ce type
Copying files to the temporary directory...OK
Stripping ELF binaries and libraries...OK
Compressing man pages...OK
Building file list...OK
Building Debian package...OK
Installing Debian package...OK
Erasing temporary files...OK
Deleting temp dir...OK
**********************************************************************
Done. The new package has been installed and saved to
/home/bullshit/Bureau/Téléchargements/Programmes/Foremost/foremost-1.5.6/foremost_1.5.6-1_i386.deb
You can remove it from your system anytime using:
dpkg -r foremost
**********************************************************************
le paquet apparait bien (renseigné) dans le synaptic.
1 - Se rendre dans le répertoire ou se trouve l'archive décompressée :
bullshit@Ducon180374:~$ cd /home/bullshit/Bureau/Téléchargements/Programmes/Foremost/foremost-1.5.6
bullshit@Ducon180374:~/Bureau/Téléchargements/Programmes/Foremost/foremost-1.5.6$.
2 -Exécuter configure (ici ./configure n'est pas présent dans l'archive)
sudo su
[sudo] password for bullshit:
root@Ducon180374:/home/bullshit/Bureau/Téléchargements/Programmes/Foremost/foremost-1.5.6# ./configure
bash: ./configure: Aucun fichier ou dossier de ce type
3 - Compiler
root@Ducon180374:/home/bullshit/Bureau/Téléchargements/Programmes/Foremost/foremost-1.5.6# make
gcc -Wall -O2 -DVERSION=\"1.5.6\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c main.c
gcc -Wall -O2 -DVERSION=\"1.5.6\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c state.c
gcc -Wall -O2 -DVERSION=\"1.5.6\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c helpers.c
gcc -Wall -O2 -DVERSION=\"1.5.6\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c config.c
config.c: Dans la fonction «translate» :
config.c:27: attention : valeur calculée n'est pas utilisée
config.c:32: attention : valeur calculée n'est pas utilisée
config.c:37: attention : valeur calculée n'est pas utilisée
config.c:42: attention : valeur calculée n'est pas utilisée
config.c:47: attention : valeur calculée n'est pas utilisée
config.c:52: attention : valeur calculée n'est pas utilisée
config.c:57: attention : valeur calculée n'est pas utilisée
gcc -Wall -O2 -DVERSION=\"1.5.6\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c cli.c
gcc -Wall -O2 -DVERSION=\"1.5.6\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c engine.c
gcc -Wall -O2 -DVERSION=\"1.5.6\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c dir.c
gcc -Wall -O2 -DVERSION=\"1.5.6\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c extract.c
gcc -Wall -O2 -DVERSION=\"1.5.6\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c api.c
gcc -Wall -O2 -DVERSION=\"1.5.6\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 main.o state.o helpers.o config.o cli.o engine.o dir.o extract.o api.o -o foremost
4 - Exécuter checkinstall pour créer le .deb :
root@Ducon180374:/home/bullshit/Bureau/Téléchargements/Programmes/Foremost/foremost-1.5.6# sudo checkinstall
checkinstall 1.6.1, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran
This software is released under the GNU GPL.
The package documentation directory ./doc-pak does not exist.
Should I create a default set of package docs? [y]: y
Preparing package documentation...OK
Please write a description for the package.
End your description with an empty line or EOF.
>> Récupération de données.
*****************************************
**** Debian package creation selected ***
*****************************************
This package will be built according to these values:
0 - Maintainer: [ root@Ducon180374 ]
1 - Summary: [ Récupération de données. ]
2 - Name: [ foremost ]
3 - Version: [ 1.5.6 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ checkinstall ]
7 - Architecture: [ i386 ]
8 - Source location: [ foremost-1.5.6 ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
Enter a number to change any of them or press ENTER to continue:
Installing with make install...
========================= Installation results ===========================
install -m 755 foremost /usr/local/bin
install -m 444 foremost.8.gz /usr/share/man/man8
install -m 444 foremost.conf /usr/local/etc
======================== Installation successful ==========================
Copying documentation directory...
./
./README
./CHANGES
grep: /var/tmp/chrRNSamOPrrDceMAIYQd/newfile: Aucun fichier ou dossier de ce type
Copying files to the temporary directory...OK
Stripping ELF binaries and libraries...OK
Compressing man pages...OK
Building file list...OK
Building Debian package...OK
Installing Debian package...OK
Erasing temporary files...OK
Deleting temp dir...OK
**********************************************************************
Done. The new package has been installed and saved to
/home/bullshit/Bureau/Téléchargements/Programmes/Foremost/foremost-1.5.6/foremost_1.5.6-1_i386.deb
You can remove it from your system anytime using:
dpkg -r foremost
**********************************************************************
le paquet apparait bien (renseigné) dans le synaptic.