Der richtige Speicherort für src-Dateien zum Kompilieren?

1

Ich habe mehrere Programme, die ich ihre src-Dateien herunterladen und kompilieren möchte. Sie werden über git abgerufen, sodass ich Aktualisierungen problemlos abrufen und neu kompilieren kann. Der richtige Speicherort für diese Dateien ist meines Wissens / usr / local / src.

Aber schrecken nicht einige (die meisten? Andere?) Vor der Verwendung von sudo für die Quellcodekompilierung zurück, außer make install? Soll ich also / usr / local / src Benutzerberechtigungen erteilen? Oder irre ich mich völlig?

CrimsonKing
quelle
Ich habe den Quellcode einfach in mein Home-Verzeichnis gestellt, wie in/home/<username>/Code/...
Ash
Ich habe darüber nachgedacht, aber nehmen Sie tigzum Beispiel - es hat nur make und nicht make install. Ich füge die Binärdatei manuell zu / usr / local / bin hinzu. Wenn Sie es in meinem Home-Ordner ablegen, ist es nur für mich zugänglich. XnViewist ein weiteres Beispiel ohne Kompilierung.
CrimsonKing
Ah, okay, hört sich so an, als würden Sie Tools / Module erstellen, die auf Ihrem System ausgeführt werden sollen, anstatt nur "Software zu entwickeln"? Vielleicht ist es besser, es in / usr / local abzulegen, als, aber dein Instinkt, alles "sudo" zu müssen, ist richtig - es wird nicht empfohlen.
Ash

Antworten:

1

Der Konfigurations- und Erstellungsabschnitt des Prozesses sollte ohne erweiterte Berechtigungen ausgeführt werden. Sobald dies erfolgreich abgeschlossen wurde, wird die Installation mit der Superuser-Rolle (dh sudo) durchgeführt. Üblicherweise befindet sich die Speicherung der Quelle in Ihrem $ HOME und die Kompilierung wird dort durchgeführt. Es wird dringend empfohlen, das Projekt für die Integration in Ihre Systeme über die native Paketverwaltung zu verpacken.

Um zu antworten: Nein, ändern Sie nicht die Berechtigungen von '/ usr / local / src'. Verwenden Sie einfach Ihr $ HOME zum Bauen.

swa
quelle
Ich frage mich zwar, ob ich Berechtigungen für die Installation erteile, aber welchen Unterschied macht es, Berechtigungen für die Konfiguration und Ausführung zu erteilen?
CrimsonKing
Die Eskalation von Berechtigungen sollte nur aufgerufen werden, wenn dies unbedingt erforderlich ist. Es wird während der Konfiguration und der Erstellung eines Teils des Builds nicht benötigt (die Binärdateien werden normalerweise erstellt, nachdem diese erfolgreich abgeschlossen wurden). Die Installationsphase erfordert eine Änderung der fs und der Verknüpfung usw., die eine erweiterte Berechtigung erfordern.
Swa
0

Es gibt keinen "richtigen Ort", über den der Administrator entscheiden muss. Richtig, traditionell platzieren Linux-Administratoren Quelldateien in /usr/local/srcund Sie können dies tun. Sie können sie auch in Ihre legen $HOME, was immer Sie bevorzugen.

Wenn Sie jetzt Software kompilieren / installieren, sind Sie der Administrator. Daher gibt es keinen Grund, warum Sie nicht zu root wechseln sollten, um Zugriff auf zu haben /usr/local/src. Es gibt absolut keinen Grund, warum Sie nicht kompilieren sollten, da dies rootjeder Systemadministrator tut, den ich jemals gekannt habe. Deshalb gibt es den rootBenutzer, der administrative Aufgaben ausführt. Dies beinhaltet die Kompilierung und Installation von Software.

Also, wenn Sie entwickeln Software, tun Sie es in Ihrem $HOME, wenn Sie die Installation anderer Leute Software von der Quelle, tun Sie es wie rootin , /usr/local/srcwenn Sie dies wünschen. Persönlich kompiliere ich Programme in, $HOME/Setupsweil sich meine $HOMEauf einer separaten Partition befindet und das mir das Upgrade / die Neuinstallation meines Systems erleichtert. Dies ist jedoch nur eine persönliche Entscheidung, und die richtigen Sysadmins werden in /usr/local/srcas kompiliert root.

terdon
quelle