Antworten:
Vermeiden Sie lokale Installationen in Systemverzeichnissen. Die Systemverzeichnisse sind z. B. /usr
für das Paketverwaltungssystem zur Verwendung reserviert. Wenn Sie dies tun make install
, bedeutet dies per Definition, dass Sie eine lokale Installation durchführen, und wenn Sie dies tun müssen sudo make install
, bedeutet dies, dass Sie nicht die Erlaubnis haben, wo immer Sie schreiben.
Wenn Sie also Berechtigungsfehler mit erhalten make install
, überprüfen Sie, ob Sie versuchen, in Systemverzeichnisse zu installieren, und installieren Sie /usr/local
stattdessen in oder auf ähnliche Weise. /usr/local
ist für lokale Installationen reserviert. Möglicherweise müssen Sie sich selbst die Erlaubnis geben, an die Sie schreiben dürfen /usr/local
, dies ist jedoch in der Regel problemlos möglich. Unter Debian können Sie sich selbst zur staff
Gruppe hinzufügen . Besser noch, suchen oder erstellen Sie ein Binärpaket und installieren Sie es stattdessen. Auf diese Weise können Sie leicht den Überblick über installierte Pakete behalten und die anderen Vorteile der Paketverwaltung nutzen.
Beachten Sie, dass das Paketverwaltungssystem laut /usr/local
FHS umgekehrt nicht installiert wird. Eine Übersicht finden Sie in Abschnitt 9.1 des Debian-Richtlinienhandbuchs - Dateisystemhierarchie .
Hier ist ein grundlegender Überblick über die Befehle:
Da der Befehl sudo ausgeführt wird, den Sie als root übergeben, bedeutet dies, dass der Befehl make über Superuser-Berechtigungen verfügt. Dies bedeutet, dass, wenn das Makefile böswillig ist oder eines der Skripte, die es möglicherweise aufruft, böswillig ist, es Ihr System gefährden kann.
Kurz gesagt, wenn Sie der Software nicht vertrauen, installieren Sie sie nicht. Wenn Sie der Software vertrauen, sollte es nichts schaden, wenn Sie als Root ausgeführt werden.
Hinweis:
sudo make install
ist das gleiche wie su; make install
in den meisten Fällen.
Wie oben beantwortet, sudo make install
können Sie die Dateien in Verzeichnissen installieren, die ansonsten für Sie als Benutzer schreibgeschützt sind.
Das Problem, das ich vorhersehen kann, ist, dass Sie das Programm zu einem späteren Zeitpunkt möglicherweise deinstallieren oder aktualisieren möchten. Wenn Sie immer noch den Quellcode-Verzeichnisbaum haben, make uninstall
wird das Programm für Sie deinstalliert. Wenn Sie jedoch wie viele andere typische Benutzer den Quellcode-Verzeichnisbaum gelöscht haben, haben Sie Pech. Und da Sie das Programm nicht über ein Paketverwaltungssystem installiert haben, können Sie das Programm möglicherweise auch nicht auf diese Weise deinstallieren.
Der beste Weg, solche Programme zu installieren, besteht darin, sie in Ihrem Home-Verzeichnis zu installieren. Übergeben Sie die Option --prefix=/home/<user>/<some>/<directory>
an ./configure
. Dadurch können Sie verwenden, make install
anstatt sudo make install
da /home/<user>/<some>/<directory>
von Ihnen beschreibbar ist. Auch die Deinstallation ist ein Kinderspiel -rm -rf /home/<user>/<some>/<directory>