it-swarm.com.de

Warum wird mir die Erlaubnis verweigert, wenn ich versuche, mit "make" etwas zu installieren?

Ich versuche etwas zu installieren und es löst einen Fehler aus: Permission denied, wenn ich versuche, make darauf auszuführen.

Ich mag die universellen Regeln von Unix/Linux nicht zu sehr und die Benutzerrechte auch nicht. Ich vermute, dass der Benutzer, als der ich angemeldet bin, nicht die Berechtigung hat, make Befehle auszuführen, aber hoffentlich ist es etwas anderes, das mir die Installation nicht erlaubt.

Warum bekomme ich Permission denied und was muss ich überprüfen oder konfigurieren, um zu versuchen, die Erlaubnis zu erteilen?

BEARBEITEN

Fehlermeldung:

gcc -I. -O3 -o pp-inspector  pp-inspector.c
make: execvp: gcc: Permission denied
make: [pp-inspector] Error 127 (ignored)
gcc -I. -O3 -c tis-vnc.c -DLIBOPENSSL -DLIBOPENSSLNEW -DLIBIDN -DHAVE_PR29_H -DLIBMYSQLCLIENT -DLIBPOSTGRES -DHAVE_MATH_H -I/usr/include/mysql
make: execvp: gcc: Permission denied
make: *** [tis-vnc.o] Error 127
20
CheeseConQueso

In vielen Quellpaketen (z. B. für die meisten GNU Software)) kennt das Build-System möglicherweise die Variable DESTDIRmake, sodass Sie häufig Folgendes tun können:

 make install DESTDIR=/tmp/myinst/
 Sudo cp -va /tmp/myinst/ /

Der Vorteil dieses Ansatzes ist, dass make install muss nicht als root ausgeführt werden, sodass Sie keine als root kompilierten Dateien (oder Dateien, die sich im Besitz von root in Ihrem Build-Baum befinden) haben können.

14

Es wäre viel nützlicher, uns die ganze Fehlermeldung zu geben. Wenn es sich um eine make-Installation handelt, versuchen Sie wahrscheinlich, etwas in einem Systemverzeichnis zu installieren, und Sie sind kein Root. Wenn Sie Root-Zugriff haben, können Sie ausführen

Sudo make install

oder melden Sie sich als root an und erledigen Sie den gesamten Vorgang als root.

8
Jarryd

Ausführen chmod 777 -R scripts/, es hat gut funktioniert für mich;)

7
D3473R

Das Problem tritt häufig beim "sicheren" Einrichten von Mountpunkten wie/tmp auf

Wenn sie eingehängt sind noexec (überprüfen Sie mit cat /etc/mtab und oder Sudo mount) dann gibt es keine Berechtigung zum Ausführen von Binärdateien oder Erstellen von Skripten aus dem (temporären) Ordner.

Z.B. vorübergehend wieder zu besteigen:

 Sudo mount -o remount,exec /tmp

Oder zum dauerhaften Ändern entfernen Sie noexec in /etc/fstab

5
sehe

Ich hatte eine sehr ähnliche Fehlermeldung wie Sie, obwohl ich eine bestimmte Datei aufgelistet habe:

$ make
make: execvp: ../HoughLineExtractor/houghlineextractor.hh: Permission denied
make: *** [../HoughLineAccumulator/houghlineaccumulator.o] Error 127

$ Sudo make
make: execvp: ../HoughLineExtractor/houghlineextractor.hh: Permission denied
make: *** [../HoughLineAccumulator/houghlineaccumulator.o] Error 127

In meinem Fall habe ich vergessen, einen abschließenden Schrägstrich einzufügen, um die Fortsetzung der Zeile wie folgt anzuzeigen:

${LINEDETECTOR_OBJECTS}:\
    ../HoughLineAccumulator/houghlineaccumulator.hh  # <-- missing slash!!
    ../HoughLineExtractor/houghlineextractor.hh

Hoffe das hilft jemand anderem, der hier von einer Suchmaschine landet.

3
Drew Noakes