Wo soll ich Quelldownloads für die Installation speichern?

10

Früher habe ich alles auf / tmp heruntergeladen, weil make; sudo make installich diese Dateien normalerweise nicht mehr brauche.

Aber jetzt wurde mir klar, dass die einzige Möglichkeit, von der Quelle installierte Programme zu deinstallieren, die Verwendung ist make uninstall(sofern verfügbar). Daher sollte ich meine Downloads wahrscheinlich behalten, falls ich sie später benötige.

Wo soll ich sie aufbewahren? Gibt es einen dafür vorgesehenen Ort in Linux?

ChocoDeveloper
quelle
Vermeiden Sie das Problem: Installieren Sie es nach Möglichkeit aus Paketen.
Michael Hampton
@MichaelHampton Manchmal ist das keine Option (glaube ich), zB: nginx erfordert die Installation einer Formularquelle, wenn Sie Module von Drittanbietern hinzufügen möchten.
ChocoDeveloper

Antworten:

16

Der vom Dateisystemhierarchiestandard definierte Speicherort für die Aufbewahrung des Quellcodes ist /usr/src. Ich nehme an, Sie könnten auch verwenden /usr/local/src, da dies etwas aussagekräftiger ist, woher die Software stammt (das heißt, Sie haben sie erstellt; die Distribution hat dies nicht getan).

Beachten Sie jedoch, dass die FHS tatsächlich erwähnt, dass der Quellcode nicht aus diesem Verzeichnis erstellt werden sollte, wahrscheinlich, weil Sie die Dinge nicht als Root kompilieren sollen. Ich nehme also an, dass Sie den Quellbaum nach der Installation dorthin verschieben würden. In der Praxis störe ich jedoch nicht; Ich behalte alles, was ich ~/Codeeinbaue, auf einer geräumigeren Trennwand. Grundsätzlich gibt es keine allgemein akzeptierte Konvention; Sie tun einfach, was für Sie funktioniert.

Sie sollten sich auch checkinstall ansehen , eine großartige kleine Software, die aus einem Befehl ein rudimentäres Paket erstellt. (Es wird sich wahrscheinlich im Repository Ihrer Distribution befinden.) Im Wesentlichen anstatt ausgeführt zu werden

sudo make install

Sie würden etwas in der Art von laufen

sudo checkinstall make install

Das fragt Sie nach dem Paket, das Sie erstellen, überwacht die make installInstallation und erstellt dann ein Paket, das mit einem Paketmanager sauber installiert und deinstalliert werden kann. Ich glaube, dass checkinstall Pakete für dpkg-basierte Systeme (Ubuntu, Debian usw.), RPM-basierte Systeme (Fedora, RHEL usw.) und Slackware-basierte Systeme erstellen kann. Wenn Sie Arch ausführen, kümmern Sie sich nicht um checkinstall. Verwenden Sie stattdessen ein PKGBUILD.

Ich hoffe, das hilft!

dreiunddreißig
quelle
+1 für die Erwähnung von Paketen. Was ich denke, ist die Antwort, die benötigt wurde (aber nicht gefragt wurde).
Hennes
Vielen Dank! Ich benutze jetzt checkinstall, sieht bisher großartig aus. Eine letzte Frage: Ich muss die .deb nicht behalten, oder? dpkg wird wissen, wie man es deinstalliert, auch wenn es weg ist
ChocoDeveloper
Das ist richtig. Alle Paketmanager führen eine Liste der vom Paket installierten Dateien, sodass Sie das erstellte Paket nach der Installation löschen können.
dreiunddreißigster
5

Es gibt keinen festgelegten Ort für Quelldateien. Jeder hat seine eigenen Gewohnheiten.

Berücksichtigen Sie jedoch diese drei Optionen:

  1. In Wurzeln Homedir (funktioniert, aber es ist auf / was normalerweise eher klein ist).
  2. / usr / local / src / (oder eigentlich alles unter / usr / local /
  3. Installieren Sie über ein Paket und deinstallieren Sie den Paketmanager.

Für die langfristige Wartung empfehle ich Option 3. Auch wenn Sie die Pakete selbst erstellen müssen (aus dem Quellcode). In diesem Fall gelangen Sie zu: untar / configure / make / make package über eine Syntax, abhängig von Ihrer Paketauswahl / Installationspaket

Hennes
quelle