Richtiger Weg, um aus Quellen zu bauen

12

Ich bin als regulärer Benutzer angemeldet. Sollte ich es benutzen:

./configure && make && make install

oder

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

oder

./configure && make && sudo make install

bei der Installation von Paketen.

Und könnte jemand die Unterschiede erklären.

Ich möchte, dass alle Benutzer es verwenden können.

8k_of_power
quelle
Noch besser ... unix.stackexchange.com
mxmissile
1
Sie sollten Software von Ubuntu-Repositorys oder PPAs installieren. Wenn Sie auf etwas gestoßen sind, das noch nicht verpackt ist, können Sie eine eigene PPA starten. Auf diese Weise halten Sie Ihr System sauber, stellen Pakete auch für andere Personen bereit und erhalten als kostenloser Bonus schließlich mehr Tester.
vtest

Antworten:

15

Ihre 3. Version ist korrekt ./configure && make && sudo make install. Das Erstellen und Konfigurieren kann als normaler Benutzer durchgeführt werden, da Sie nicht versuchen, Dateien in ein Systemverzeichnis zu schreiben, sondern make installhäufig versuchen, die Binärdateien nach / usr / bin oder / bin zu kopieren, für deren Schreiben Root-Zugriff erforderlich ist.

Benn
quelle
... und auf die nicht geschrieben werden sollte, da deren Inhalt von der Paketverwaltung verwaltet wird.
Reinierpost
2
Sie können sogar so weit gehen, einen Benutzer zu erstellen local, dann eine chown -R local /usr/localSoftware auszugeben und diese dann zu installieren, sudo local make installdamit Sie gewarnt werden, wenn ein Paket an einer anderen Stelle als darunter schreibt /usr/local(was Ihre Paketverwaltung durcheinander bringen kann).
Reinierpost
Wenn das Paket gemäß den Gnu-Codierungsstandards erstellt wurde, wird eine unformatierte 'configure && make && sudo make install' nur in / usr / local und nicht in / usr / bin oder / bin installiert.
William Pursell
4

Sie benötigen die letzte Version:

./configure && make && sudo make install

Das Konfigurieren und Erstellen kann in Ihrem lokalen Ordner erfolgen, für die Installation sind jedoch Root-Berechtigungen erforderlich. Dieser Befehl erfüllt es.

Stellen Sie sicher, dass die von Ihnen installierte Anwendung noch nicht im Paketmanager enthalten ist. Es ist normalerweise viel einfacher, die vorkompilierte Software für Ihr System zu verwenden, als zu versuchen, alle Abhängigkeiten zu finden, um etwas zu kompilieren.

Cfreak
quelle
2

Sie sollten die geringsten Berechtigungen verwenden, die funktionieren. Das ist normalerweise:

./configure && make && sudo make install
Mark Byers
quelle
2

Option Nummer 3:

./configure

make

sudo make install
Justin Niessner
quelle
2

Die && werden von Ihrer Original-Shell analysiert. Wenn Sie einen Sudo nach vorne setzen, wirkt sich dies nur auf die Konfiguration aus. Die letzte Option ist am sinnvollsten, da sie als regulärer Benutzer konfiguriert und kompiliert wird und dann die Ergebnisse für alle Benutzer installiert.

Eine Einschränkung besteht darin, dass einige Konfigurationsskripte erkennen, dass sie als Nicht-Root-Benutzer ausgeführt werden, und Makefiles erstellen, die in $ HOME oder ähnlichem installiert werden. In diesem Fall möchten Sie auch "sudo ./configure". Wenn Sie entweder configure oder make as root ausführen, stören Sie einige Dateien im Root-Besitz in Ihrem regulären Benutzerverzeichnis.

Ben Jackson
quelle
2

Anstelle von sudo make install sollten Sie sudo checkinstall verwenden

Auf diese Weise wird das installierte Programm von der Paketverwaltung erkannt und Sie können es wieder entfernen, falls Sie es nicht mehr benötigen.

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

user54114
quelle