sudo 権限なしでプログラムをローカルにインストールするにはどうすればよいですか?

sudo 権限なしでプログラムをローカルにインストールするにはどうすればよいですか?

ユーザーとして Ubuntu サーバーに SSH でアクセスでき、利便性のためにシステム以外のツール (mc、rtorrent、mcedit) をインストールする必要があるとします。これらの小さなプログラムのために管理者に迷惑をかけたくありません。

のようなものを使用せずにそれらをインストール(実行)する方法はありますかsudo apt-get install

答え1

これらをソースからコンパイルする必要があります。

apt-get source PACKAGE
./configure --prefix=$HOME/myapps
make
make install

バイナリは に配置されます~/myapps/bin。したがって、 をファイルexport PATH="$HOME/myapps/bin:$PATH"に追加し.bashrc.bashrcでファイルを再ロードしますsource ~/.bashrc。もちろん、これは gcc がシステムにインストールされていることを前提としています。

答え2

  1. コンパイルして にインストールします~/bin(そして を編集して がそれを含むように.bashrc設定しますPATH)。ライブラリも同様にコンパイルして にインストールできます~/lib(LD_LIBRARY_PATHを指すように設定します)。開発ヘッダーは、例えば にインストールできます~/includes

  2. インストールするプログラムの詳細と、それらが依存するライブラリに応じて、.deb ファイルをダウンロードし、 ' ' を使用してホーム ディレクトリの下に抽出できます。その後、、、およびその他のdpkg-deb -xを設定すると、多くの「楽しみ」が得られます。インストールするプログラムやアプリが複雑であればあるほど、楽しみは増えます :)PATHLD_LIBRARY_PATHvariables

    もちろん、この方法ではバイナリをインストールすることはできませんsetuid。バイナリはインストールされますが、(ルートに chown したり、ビットを設定したりする権限がないためsetuid) 自分が所有する通常のバイナリになります。

    同様に、特定のユーザーとして実行されることを期待したりUID、uid を変更する機能があったり、ファイルが/etc特定の場所にあることを期待したりするデーモンやシステム サービスは~/etc、正常に動作しないか、まったく動作しない可能性があります。

  3. mcほとんどのシステム管理者は、mceditおよび を「ほとんど無害な」、無害なプログラムと見なします。

    しかし、特に帯域幅の料金を支払わなければならなかったり、法的責任を負わされたりする場合、トレント クライアントのインストールが無害であると考える人はほとんどいません。ほとんどのシステム管理者は、エンド ユーザーが許可なくそのようなソフトウェアをインストールすることにあまり満足していないでしょう。彼らは「もちろん、どうぞ、どうぞ」と言うかもしれませんし、そうでないかもしれません... ただし、マシンの所有者/管理者に問題を引き起こす可能性のあるものについては、尋ねる必要があります。

答え3

使用できますジュネストは、ユーザーのディレクトリに小さな Linux コンテナを作成し、そこに任意のパッケージをインストールできます。

答え4

実はそのためのツールが今日作ったばかりなんです
https://github.com/z3r0n3t/pkget 必要なのはbashへのアクセスだけです。ルート権限は必要ありません。whetを使用してzipファイルとしてダウンロードするか、git cloneを使用できます。

関連情報