CentOSにルート権限なしで開発ツールをインストールする

CentOSにルート権限なしで開発ツールをインストールする

CentOS 5.4 を実行するクラスターに devtools をインストールしたいと思います (デフォルトのバージョンよりも高いバージョンの gcc を取得するため。一部の C++11 機能を使用するには gcc>4.7 が必要です)

しかし、私はルート権限を持っていません。ルートアクセスなしで、ユーザーのホームフォルダにdevtoolsをインストールすることは可能ですか?これ回答はルートアクセスが利用可能であると想定しています。情報やリンクがあれば教えてください。

答え1

はい、もちろんです。ただし、注意すべき点がいくつかあります。

ソースからコンパイルし、ホーム ディレクトリにプレフィックスを付ける必要があります。

./configure --prefix=$HOME

もちろん、必要に応じてパラメータを追加します。make installその後、/home/yourdir/bin、/home/yourdir/lib などにインストールされます。ライブラリへの短縮されたシンボリックリンクを作成するには、lib ディレクトリで 'ldconfig' を手動で実行する必要がある場合があります。

シェル環境で、まだ追加されていない場合は、まず個人の「bin」ディレクトリへのパスを追加します。たとえば、.bashrc に以下を追加します。

PATH=$HOME/bin:$PATH
LD_LIBRARY_PATH=$HOME/lib:$LD_LIBRARY_PATH
export PATH LD_LIBRARY_PATH

これにより、独自の gcc のコピーが最初に見つかるようになります。LD_LIBRARY_PATH は、独自の動的ライブラリに対して同じことを行います。

新しいバージョンの gcc では、新しいバージョンの binutils、アセンブラ、およびさまざまなライブラリも必要になる可能性があるので、gcc だけではなく、さらに多くのものが必要になる可能性があることに注意してください。また、最初に C コンパイラのみをコンパイルし (--enable-languages=C を使用)、次に gcc 自体を再コンパイルして C++ コンパイラをコンパイルすることをお勧めします。

最後に、上記は既存のシステム C++ ライブラリに干渉する可能性があります。過去に、異なる gcc バージョンでコンパイルされた C++ ライブラリをプログラムにリンクする際に問題が発生しました。C ライブラリでは通常、この問題は発生しません。

答え2

ルート権限がなければ GCC をアップグレードすることはできないと思います。rpm をダウンロードしてインストールしてみてください。ただし、可能性は非常に低いです。

関連情報