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"これはシステムにgccがインストールされていると仮定します。.bashrc.bashrcsource ~/.bashrc

答え2

  1. コンパイルしてインストールします~/bin(それを含めるように.bashrc設定を編集します)。PATHライブラリも同様にコンパイルおよびインストールすることができます~/libLD_LIBRARY_PATHこれを指すように設定)、開発ヘッダーはたとえば~/includes次のようにインストールできます。

  2. インストールするプログラムの特定の詳細と、そのプログラムが依存するライブラリに応じて.debファイルをダウンロードし、 " dpkg-deb -x"を使用してホームディレクトリに抽出できます。そうすれば設定するなど多くの「面白い」を持つようになりますPATH。より複雑なプログラムやアプリケーションをインストールするほど、より多くの楽しみを楽しむことができます:)LD_LIBRARY_PATHvariables

    もちろん、この方法でバイナリをインストールすることはできませんsetuid。バイナリはインストールされますが(root権限を付与または設定する権限がないためsetuid)、バイナリは単なる一般的なバイナリです。

    同様に、特定の方法で実行UIDしたり、uidを変更したり、ファイルが/etcその場所にあると予想される~/etcデーモンとシステムサービスは正しく機能しない可能性があります(まったく)。

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

    しかし、急流クライアントのインストールが無害だと思う人はほとんどいません。特に帯域幅の費用を支払う必要がある場合、または法的責任を負わなければならない場合にはさらにそうです。ほとんどのシステム管理者は、エンドユーザーが許可なしにそのようなソフトウェアをインストールするのはあまり好きではありません。彼らは「もちろん、行って倒れなさい」と言うかもしれないし、そうではないかもしれない。しかし、機械の所有者/管理者に問題を引き起こす可能性がある質問は何でも尋ねなければなりません。

答え3

あなたはそれを使用することができます巣を集める、ユーザーディレクトリにすべてのパッケージをインストールできる小さなLinuxコンテナが作成されます。

答え4

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

関連情報