Wie wird installiert, wenn die Berechtigung für / usr / local / bin / verweigert wird

5316
104078

Ich brauche eine schnelle Hilfe. Ich bin ein Anfänger, also denke ich, dass mein Problem ein einfaches ist: Hier geht es: Ich muss eine Softwareanwendung namens Muscle installieren, und dies sind die Schritte von der Website:

wget http://www.drive5.com/muscle/downloads3.8.31/muscle3.8.31_i86linux64.tar.gz tar xzvf muscle3.8.31_i86linux64.tar.gz mv muscle3.8.31_i86linux64 /usr/local/bin/muscle chmod a+x /usr/local/bin/muscle 

Aber es ist die Erlaubnis verweigert /usr/local/bin/. Also habe ich ein Verzeichnis mit dem Namen /home/users/me/musclestatt /usr/local/bin/und setzte die Schritte. Schließlich habe ich das Verzeichnis dem Pfad hinzugefügt.

Es hat nicht funktioniert. Hinweis: Der Sudo-Befehl fragt nach einem Passwort, das ich nicht habe.

-1
"Immer wenn ich mein Code-Skript mit Muskelversuch laufe" Bitte [bearbeiten] und fügen Sie der Frage Ihr Code-Skript hinzu. DavidPostill vor 6 Jahren 0
Standardmäßig kann nur Root in Systemordner schreiben, Benutzer haben nur Zugriff auf ihre Benutzerbereiche. In Debian und Derivaten wird "sudo" verwendet, um vorübergehend erhöhte Berechtigungen zu erlangen. vor 6 Jahren 0
Sudo-Befehl fragt nach einem Passwort, das ich nicht habe 104078 vor 6 Jahren 0
@ 104078 Sie können die Software dann nicht installieren, und ein Systemadministrator, der über sudo-Rechte verfügt, muss sie für Sie installieren. JakeGould vor 6 Jahren 1
@JakeGould Wenn "Installieren von Software" nur das Ausführen einer ausführbaren Datei bedeutet, muss sie nicht in `/ usr / local / bin 'gespeichert werden, sondern könnte auch` ~ / bin' sein, wo keine Superuser-Rechte erforderlich sind. slhck vor 6 Jahren 0
@ 104078 "Es hat nicht funktioniert" ist keine ausreichende Problembeschreibung. Wenn meine Antwort Ihr Problem nicht löst, zeigen Sie bitte weitere Details: Welche Schritte haben Sie genau unternommen? Welche Fehler hast du bekommen? Wie haben Sie Ihren `$ PATH` eingerichtet? slhck vor 6 Jahren 0
@slhck Richtig. Binärdateien können von überall aus ausgeführt werden ... Solange die Binärdatei selbst - und was immer sie auch tut - nicht erwartet, dass sie an anderer Stelle platziert wird. Viele Programmierer schreiben hartcodierte Pfade in ihren Code ein und können Sie dabei erwischen. JakeGould vor 6 Jahren 0

2 Antworten auf die Frage

3
slhck

Wenn Sie keine sudoRechte mit Ihrem Benutzer erhalten, können Sie nicht schreiben /usr/local/bin. Dies ist jedoch möglicherweise nicht einmal notwendig, da Sie Programme auch an anderer Stelle installieren und Ihre $PATHUmgebungsvariable ändern können, um der Shell mitzuteilen, wo sie ausführbare Programme finden kann.

Also habe ich ein Verzeichnis mit dem Namen /home/users/me/musclestatt /usr/local/bin/und setzte die Schritte. Schließlich habe ich das Verzeichnis dem Pfad hinzugefügt. Es hat nicht funktioniert.

Der empfohlene Ort, um Ihre eigenen Benutzer Binärdateien zu setzen wäre ~/bin, das heißt /home/<username>/bin.

Kopieren Sie also die Datei nach ~/bin/muscle(erstellen Sie den Ordner, falls er nicht vorhanden ist):

mkdir -p ~/bin mv muscle3.8.31_i86linux64 ~/bin/muscle chmod +x ~/bin/muscle 

Speicher die Datei. Nun müssen Sie sicherstellen, dass Ihr Verzeichnis $PATHdieses binVerzeichnis enthält .

Wenn eine Datei aufgerufen wird ~/.bash_profile, bearbeiten Sie sie oder, falls sie nicht vorhanden ist, erstellen Sie sie einfach und fügen Sie Folgendes hinzu:

PATH="$HOME/bin:$PATH" 

Jetzt muss Ihre Shell die Pfade neu laden, wo sie Binärdateien finden kann. Es gibt mehrere Möglichkeiten, dies zu tun, aber am einfachsten melden Sie sich ab und wieder an.

Wenn Sie sich jetzt befinden echo $PATH, sollte es dieses binVerzeichnis enthalten . Und wenn du rennst muscle, sollte es das finden, denn es ist in der $PATH.

1
G-Man

Hat dein Konto ein Passwort? Wenn sudoSie nach einem Passwort gefragt werden, werden Sie nach Ihrem Passwort gefragt . Geben Sie das ein und sehen Sie, ob Sie eine Erlaubnis bekommen.