Warum wird in den Installationsanweisungen oft 'sudo' weggelassen?

879
StackedCrooked

Ich finde oft eine Bauanleitung wie diese:

./configure make make install 

in Wirklichkeit muss ich tippen

sudo make install 

Warum wird dies nicht in der Installationsanleitung erwähnt? Oder soll es so allgemein bekannt sein, dass es nicht erwähnenswert ist? Oder wird angenommen, dass Sie als root angemeldet sind?

3
Sie können auch '$' oder '#' vor den Befehlen zum Übermitteln der Zugriffsebene anzeigen. Devesh Khandelwal vor 8 Jahren 0

5 Antworten auf die Frage

10
prestomation

Sie geben Ihnen die richtigen Befehle. Es liegt an Ihnen als Benutzer, sicherzustellen, dass Sie über die richtigen Berechtigungen verfügen.

Das macht sehr viel Sinn. Vielen Dank! StackedCrooked vor 14 Jahren 0
Viele Build-Anweisungen sind sehr allgemein, sie können auf vielen verschiedenen Plattformen aufbauen, von denen einige nicht einmal Sudo haben. Sudo ist auch nicht wirklich ein Befehl zum Build, sondern nur eine Sicherheitsmaßnahme. prestomation vor 14 Jahren 2
9
JMD

"sudo" ist möglicherweise nicht erforderlich, wenn Sie beispielsweise bereits "su" ausgeführt haben und Ihre Sitzung mit erhöhten Berechtigungen ausgeführt wird. Das macht das Ausführen von Sudo zunichte. Im Allgemeinen wird die Verwendung von Sudo bevorzugt, aber es ist nicht unbedingt der einzige Weg, um dasselbe Ziel zu erreichen.

`sudo` ist auch nicht immer verfügbar / installiert. innaM vor 14 Jahren 4
Sie sollten dies als zusätzliche Antwort hinzufügen, @Manni, da für Kommentare keine Wiederholungszahlen erzielt werden. :) JMD vor 14 Jahren 0
Sie können auch --prefix auf $ HOME / bin setzen Jeremy L vor 14 Jahren 0
@nerdling: mach das nicht. Setzen Sie "--prefix" auf "$ HOME". Standardmäßig ist das Bindungsverzeichnis `$ prefix / bin`. Sie könnten "--bindir" direkt auf "$ HOME / bin" setzen, das Installationsverzeichnis für Dateien, die für "$ prefix / share", "$ prefix / lib", "$ prefix / man" bestimmt sind, wird jedoch nicht geändert , "$ prefix / sbin" usw. quack quixote vor 14 Jahren 3
7
quack quixote

Sie können nicht wirklich benötigen Root - Rechte ein gegebenes Software - Paket zu installieren, oder Sie können nicht haben Zugriff auf Root - Rechte über sudooder suoder andere Methoden.

Eine der ./configuregebräuchlichsten Optionen des Skripts ist --prefix, dass das Basisinstallationsverzeichnis von der Standardeinstellung geändert wird. Auf einem System, auf dem ich überhaupt keine Root-Privats besitze, kann ich diese Software trotzdem in meinem eigenen Home-Verzeichnis installieren :

./configure --prefix=$HOME make make install 

Das ./configureSkript bietet viele andere Optionen, von denen einige für alle üblich sind und einige davon abhängig sind, welches Paket Sie gerade kompilieren. Verwenden Sie ./configure --help, um alle zu sehen.

Diese Antwort plus: Es ist kein Standard, dass Sie `sudo` für all Ihre Verwaltungsarbeit verwenden. Es sind nur einige Distributionen (in der Regel neuere wie Ubuntu), die diesen Ansatz verfolgen. bobince vor 14 Jahren 2
4
David Oneill

sudoist nur in bestimmten Distributionen verfügbar. In anderen Fällen müssen Sie verwenden su, um zum Root-Benutzer zu wechseln, der den Befehl ausführt. Sie gehen NICHT davon aus, dass Sie bereits als root angemeldet sind, da Sie niemals als root laufen dürfen. Sie gehen davon aus, dass Sie genug über Ihr System wissen, um zu wissen, wie etwas als root ausgeführt wird. Es ist durchaus üblich, Installationen als root auszuführen, daher sollten Sie sich daran gewöhnen, wie Sie dies auf Ihrem System tun.

3
basszero

Vielleicht sahen Ihre Lehrer so aus. Ich habe schon oft folgendes gesehen:

$ ./configure $ make # make install 

Beachten Sie das Hash / Pfund-Zeichen. In fast jeder Linux-Distribution, die ich verwendet habe, zeigt dieses Zeichen an, dass Sie sich in einer Root-Shell befinden.