NetCDF-Installation und usr/local...-Ordner

NetCDF-Installation und usr/local...-Ordner

Ich muss netcdf auf einem SuSE Linux-Rechner installieren, habe aber ein paar Probleme mit dem Verständnis der Ordner usr/local/ und myusername/local/. Ich denke, ich muss in den unkomprimierten netcdf-Ordner gehen und

./configure --prefix=/usr/local/netcdf-gfortran

Aber ich muss diesen Ordner doch erstellen, oder? Und warum in usr/local und nicht in meinem username/local ...?

Antwort1

Die übliche Kombination ist:

./configure --prefix=... [more options]
make
make install

Sie möchten es wahrscheinlich nicht verwenden, /usr/localda hierfür ebenfalls Root-Berechtigungen erforderlich sind. Daher ist es --prefix=$HOMEoder --prefix=$HOME/programs(oder was auch immer sonst besser für Sie funktioniert).

Es könnte sich lohnen, mit Ihrem Systemadministrator über zusätzliche Software zu sprechen - Sie sollten sowieso mit ihm sprechen, da openSUSE 11.3 sein Lebensende längst überschritten hat. Zumindest sollte er auf die11.4 Immergrün, das zumindest Sicherheitsupdates erhält.

Was das Erstellen der Pakete betrifft, ist es normalerweise eine gute Idee, einen Blick auf die.spec-Dateienum eine Vorstellung davon zu haben, was nützliche configureOptionen, Quellcode-Patches und Bautricks sein könnten - in Ihrem Fall möchten Sie wahrscheinlich überprüfennetcdf .spec-Datei für openSUSE:Factory(oder jede ältere Distribution).

Antwort2

Im Allgemeinen /usrgilt unter Linux für Programme, die von der Distribution bereitgestellt und von ihrem Paketmanager (dpkg/apt, rpm/yum, emerge usw.) verwaltet werden, und /usr/localgilt für Programme, die manuell vom Systemadministrator installiert und verwaltet werden. Programme unter /usrund /usr/localwerden für alle Benutzer installiert.

Wenn Sie Programme für Ihren eigenen Gebrauch installieren möchten, legen Sie diese irgendwo in Ihrem Home-Verzeichnis ab.

Ich empfehle die VerwendungVerstauenoderXStowum den Überblick über die Programme zu behalten, die Sie manuell installieren. (Verwenden Sie das eine oder das andere: Es handelt sich um Implementierungen desselben Konzepts.) Wenn Sie Programme manuell installieren, haben Sie die Wahl zwischen zwei unbequemen Optionen:

  • Legen Sie alle Programme in dasselbe Verzeichnis. Dann wird es schwierig, sie zu sortieren, herauszufinden, welche Dateien zu welchen Programmen gehören, Programme zu deinstallieren usw. Auf der anderen Seite sind alle Programme einfach zu verwenden: Sie müssen Ihren PATH und andere ähnliche Einstellungen nur einmal aktualisieren.
  • Legen Sie jedes Programm in sein eigenes Verzeichnis. Dann ist die Deinstallation ein Kinderspiel rm -r. Der Nachteil ist, dass Sie jedes Programm zu PATH usw. hinzufügen müssen.

Stow bietet Ihnen das Beste aus beiden Welten. Dieses Tool verwaltet symbolische Links von einem gemeinsamen Verzeichnis zu einem Verzeichnis pro Programm. Sie installieren jedes Programm (aus der Quelle oder aus einem Binärpaket) in seinem eigenen Verzeichnis unter stow, und Stow erstellt symbolische Links in bin, lib, man, …

Erstellen Sie also ein Verzeichnis programs/stowunter Ihrem Home-Verzeichnis. Installieren Sie netcdf mit

./configure --prefix=~/programs/stow/netcdf-gfortran-4.3
make
make install

Führen Sie es dann stow netcdf-gfortran-4.3aus dem ~/programs/stowVerzeichnis aus, um symbolische Links für alle Teile dieses Pakets zu erstellen.

Bearbeiten Sie Ihre .profile(oder wo auch immer Sie Ihre Umgebungseinstellungen ablegen), um sie ~/programs/binzu Ihrem ausführbaren Suchpfad, ~/programs/libIhrem Bibliothekssuchpfad usw. hinzuzufügen.

PATH="$HOME/programs/bin:$PATH"
if [ -n "$LD_LIBRARY_PATH" ]; then
  export LD_LIBRARY_PATH="$HOME/programs/lib:$LD_LIBRARY_PATH"
else
  export LD_LIBRARY_PATH="$HOME/programs/lib"
fi
if [ -z "$MANPATH" ]; then
  MANPATH=$(manpath)
fi
export MANPATH="$HOME/programs/share/man:$HOME/programs/man:$MANPATH"

Übergeben Sie beim Kompilieren von Programmen --with-cppflags="-I $HOME/programs/include"an , configuredamit Header im Stow-Bereich gefunden werden können.

Weitere Informationen finden Sie unterDen Überblick über Programme behaltenUndWas ist eine effektive Methode, um aktuelle Software auf einer veralteten Produktionsmaschine zu installieren?

verwandte Informationen