ユーザーがSudo/admin特権を必要とせずに、選択したアプリケーション(./configure、make && make install)を構築できるように、Ubuntu 9.10サーバーで何をセットアップする必要がありますか。
アプリを構築するためにユーザーが必要としないかもしれないシステムの部分にユーザーがアクセスできるようにすることは、ちょっとしたセキュリティ上のリスクを感じるだけです。
ユーザーが使用する場合
./configure --prefix=/home/user/opt/
またはcmakeプロジェクトの場合
cmake -D CMAKE_INSTALL_PREFIX:PATH=/home/user/opt/ ../source/
これにより、デフォルトの/ usr/local /の代わりにそのプレフィックスにプログラムがインストールされ、ユーザーは次のようにプログラムを実行できるようになります。
/home/user/opt/bin/program
単に名前(フルパスなし)を使用してプログラムを実行できるようにするには、/home/user/opt/bin
をパス環境変数に追加し、ユーザーの.profileを編集して次の行を追加する必要があります。
export PATH=/home/user/opt/bin:$PATH
この方法でインストールされたプログラムは特定のユーザーに限定されますが、それはそれを行う方法です
ユーザーは、Sudo権限なしでアプリケーションを構築できます。 Sudo権限が必要なのは、システムディレクトリに何かをインストールするときだけです。
./configure
およびmake
は、常にSudo権限なしで機能します。 make install
は通常、アプリケーションを/usr/local
または/usr
(場合によっては/opt
)にインストールするため、Sudo権限が必要です。
ただし、インストールがユーザーのホームディレクトリツリー内で実行されるようにインストールパスのプレフィックス(つまり、./configure --prefix=~/usr/local
)を変更する場合、make install
にはSudo権限は必要ありません。
txwikingerの説明に加えて、fakeroot
も確認することをお勧めします。これにより、dpkg
で昇格された特権を必要とせずに.debパッケージをビルドできます。もちろん、それらのインストールには通常、Sudoアクセスが必要です。