netcdfのインストールとusr / local ...フォルダ

netcdfのインストールとusr / local ...フォルダ

SuSE Linuxシステムにnetcdfをインストールする必要がありますが、usr / local /フォルダとmyusername / local /フォルダを理解するのにいくつかの問題があります。私がしなければならないことは、圧縮されていないnetcdfフォルダに行って実行していると思います。

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

しかし、このフォルダを作成する必要がありますか?なぜ私のユーザー名/ローカルではなくusr/localにあるのですか?

答え1

一般的な組み合わせは次のとおりです。

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

ルートアクセスも必要なので、それを使用したくありません/usr/local。したがって、--prefix=$HOMEまたは--prefix=$HOME/programs(またはあなたに適している他のもの)です。

システム管理者や他のソフトウェアについて議論する価値があるかもしれません。 openSUSE 11.3は廃止予定なので、システム管理者と話し合う必要があります。少なくとも彼は次にアップグレードする必要があります。11.4 エバーグリーン、少なくともセキュリティアップデートを入手してください。

ビルドパッケージについては、一般的に見てみるのが最善です。.spec ファイルどのオプション、ソースコードパッチ、ビルドのヒントが役に立つかをご覧くださいconfigure。状況に応じて確認したい場合があります。openSUSE:工場のnetcdf .specファイル(または以前のディストリビューション)。

答え2

通常、Linux では/usrディストリビューションで提供され、パッケージマネージャー (dpkg/apt、rpm/yum、emerge など) で管理するプログラムと、/usr/localシステム管理者が手動でインストールして管理するプログラムを意味します。/usrそして以下のプログラムは/usr/localすべてのユーザーのためにインストールされます。

使用するプログラムをインストールするには、そのプログラムをホームディレクトリに保存します。

使用することをお勧めします拾って入れるまたはXストー手動でインストールしたプログラムを追跡します。 (どちらかを使用してください。同じ概念を実装しています。)プログラムを手動でインストールすると、2つの不便なオプションのいずれかが選択されます。

  • すべてのプログラムを同じディレクトリに配置します。これにより、ファイルを分類し、どのファイルがどのプログラムに属しているかを確認し、プログラムを削除するなどの作業が困難になります。一方、すべてのプログラムは使いやすいです。 PATHやその他の同様の設定を一度だけ更新するだけです。
  • 各プログラムを独自のディレクトリに配置します。その後、削除するのも簡単ですrm -r。欠点は、各プログラムをPATHなどに追加する必要があることです。

Stoweは両方の利点を提供します。このツールは、パブリックディレクトリから各プログラムディレクトリへのシンボリックリンクを維持します。各プログラム(ソースまたはバイナリパッケージから)を独自のディレクトリにインストールすると、stowStowはbin、、、、lib...にmanシンボリックリンクを作成します。

programs/stowしたがって、ホームディレクトリの下にディレクトリを作成します。 netcdfのインストール

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

stow netcdf-gfortran-4.3次に、そのディレクトリで実行して、~/programs/stowパッケージのすべての部分へのシンボリックリンクを作成します。

実行可能検索パス、ライブラリ検索パスなどに.profile追加するには、環境設定を編集します。~/programs/bin~/programs/lib

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"

プログラムをコンパイルするときにストレージにヘッダーを見つけることができるよう--with-cppflags="-I $HOME/programs/include"にに渡します。configure

詳細については、次を参照してください。追跡プログラムそして古い生産機械に最新のソフトウェアをインストールする効率的な方法は何ですか?

関連情報