web-dev-qa-db-ja.com

root権限なしでLinuxにソフトウェアをインストールする

私の職場では、RedHatとSuseのマシンに通常のユーザーアカウントを持っています。 root権限がありません。

インターネットから(ソースまたはバイナリから)ダウンロードしたソフトウェアをインストールするにはどうすればよいですか?

たとえば、今私はGeany IDEを自分で使用するためにインストールしたいと思います。ソースをダウンロードしてコンパイルしようとしました、そしてRPMをインストールしようとしましたが、これらのどれもが必要なので、ルート。

7
Igor Oks

あなたはcanソフトウェアを自分のホームディレクトリにインストールします。ソースからのコンパイルに問題がなく、パッケージがautomakeを使用している場合は、configureで次のオプションを使用できます。

--prefix=$HOME/install

または何でも。同様に、rpmにもプレフィックスオプションがあります。ただし、これは、rpmが再配置可能であるbuiltである場合にのみ機能します。

12
Scott Pack

私は JuJ を使用しています。これにより、$ HOME/.jujuディレクトリ内に(パッケージマネージャーのみを含む)非常に小さなLinuxディストリビューションを作成できます。

これにより、proot経由でアクセス可能なホームディレクトリ内にカスタムシステムを配置できるため、root権限なしでパッケージをインストールできます。すべての主要なLinuxディストリビューションで正常に動作します。唯一の制限は、JuJuが推奨される最小バージョン2.6.32のLinuxカーネルで実行できることです。

たとえば、JuJuをインストールしてpipをインストールするには、次のように入力します。

$>juju -f
(juju)$> pacman -S python-pip
(juju)> pip
8
user967489

ほとんどの場合、PREFIXを渡して、ホームディレクトリにインストールするように構成できます。

./configure --prefix=/home/ioks/bin

これにより、権限の問題が回避される場合があります。

6
Kyle Brandt

以下は、RPMの非root使用を説明する非常に素晴らしいドキュメントです。

「RPMを操作するにはシステム管理者権限が必要だと言われましたか?騙されました。」

http://www.nordugrid.org/documents/rpm_for_everybody.html

4
Jean Jordaan

標準の場所(/ usr/binなど)にインストールする場合、簡単な答えは、システム管理者が特別な設定を行わない限り、インストールできないということです。

ソースからコンパイルする場合、ほとんどのパッケージには、非標準のインストールターゲットを設定できる--prefixオプションがあります。これにより、他のソフトウェアパッケージで使用できるライブラリを含め、ホームディレクトリにコンテンツをインストールできます。

3
jj33

うーん。これはおそらくユーザーが実行できることではありませんが、「標準」のシステムインストールディレクトリをオーバーレイするユーザーごとの「オーバーレイ」ファイルシステム(union-fsなど)があるのは理にかなっているのではないでしょうか。 「通常の」場所にソフトウェアをインストールする特権のないユーザー。

また、グローバルunion-fsファイルシステムを使用して、管理者がインストールした非標準SW(多くのシステムでは/ usr/local/*にあることが多い)を配布パッケージから分離することもできます。 (おそらく、更新を分離するためにも、 "ロールバック" ala XPシステムの復元)も可能にします)。

うーん

1
jesup

私はあなたと同じ問題を抱えています。まだ試していませんが、この問題では Linuxbrew が便利なようです。

1
JPCF