Bonne façon de construire à partir de sources

12

Je suis connecté en tant qu'utilisateur régulier. Dois-je utiliser:

./configure && make && make install

ou

sudo ./configure && sudo make && sudo make install

ou

./configure && make && sudo make install

lors de l'installation des packages.

Et quelqu'un pourrait-il expliquer les différences.

Je veux que tous les utilisateurs puissent l'utiliser.

8k_of_power
la source
Encore mieux ... unix.stackexchange.com
mxmissile
1
Vous devez installer le logiciel à partir des référentiels ubuntu ou des PPA. Si vous avez rencontré quelque chose qui n'est pas encore emballé, n'hésitez pas à commencer votre propre PPA. De cette façon, vous garderez votre système propre, vous fournirez également des packages pour d'autres personnes et en tant que bonus gratuit, vous obtiendrez éventuellement plus de testeurs.
vtest

Réponses:

15

Votre 3ème version est correcte, ./configure && make && sudo make install. Faire et configurer peut être fait en tant qu'utilisateur normal puisque vous make installn'essayez pas d'écrire des fichiers dans un répertoire système, essaiera souvent de copier les binaires dans / usr / bin ou / bin qui nécessite un accès root pour écrire.

Benn
la source
... et qui ne doivent pas être écrits car leur contenu est géré par la gestion des packages.
reinierpost
2
Vous pouvez même aller jusqu'à créer un utilisateur local, puis émettre un chown -R local /usr/locallogiciel, puis installer le logiciel à l'aide de sudo local make installsorte que vous serez averti lorsqu'un package écrit ailleurs qu'en dessous /usr/local(ce qui peut perturber la gestion de votre package).
reinierpost
Si le paquet est construit conformément aux normes de codage gnu, un 'configure && make && sudo make install' brut s'installera uniquement dans / usr / local, et non dans / usr / bin ou / bin.
William Pursell
4

Vous avez besoin de la dernière version:

./configure && make && sudo make install

La configuration et la création peuvent se produire dans votre dossier local, mais vous aurez besoin des autorisations root pour installer. Cette commande l'accomplit.

Assurez-vous que l'application que vous installez n'est pas déjà dans le gestionnaire de packages. Il est généralement beaucoup plus facile d'utiliser le logiciel précompilé pour votre système que d'essayer de trouver toutes les dépendances pour compiler quelque chose.

Cfreak
la source
2

Vous devez utiliser le moins de privilèges qui fonctionnent. C'est généralement:

./configure && make && sudo make install
Mark Byers
la source
2

Option numéro 3:

./configure

make

sudo make install
Justin Niessner
la source
2

Les && sont analysés par votre coque d'origine. Mettre un sudo à l'avant n'affecte que la configuration. La dernière option est la plus logique, car elle configurera et compilera en tant qu'utilisateur normal, puis installera les résultats pour que tout le monde puisse les utiliser.

Une mise en garde est que certains scripts de configuration détectent qu'ils s'exécutent en tant qu'utilisateurs non root et créent des makefiles qui s'installent dans $ HOME ou similaire. Dans ce cas, vous souhaitez également «sudo ./configure». Si vous exécutez la configuration ou la création en tant que root, vous aurez l'ennui de certains fichiers appartenant à la racine dans votre répertoire utilisateur normal.

Ben Jackson
la source
2

Au lieu de sudo make install, vous devez utiliser sudo checkinstall

De cette façon, le programme installé est reconnu par la gestion des packages et vous pouvez le supprimer à nouveau si vous n'en avez plus besoin.

https://help.ubuntu.com/community/CheckInstall

user54114
la source