
ユーザーとして一部の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
.bashrc
source ~/.bashrc
答え2
コンパイルしてインストールします
~/bin
(それを含めるように.bashrc
設定を編集します)。PATH
ライブラリも同様にコンパイルおよびインストールすることができます~/lib
(LD_LIBRARY_PATH
これを指すように設定)、開発ヘッダーはたとえば~/includes
次のようにインストールできます。インストールするプログラムの特定の詳細と、そのプログラムが依存するライブラリに応じて.debファイルをダウンロードし、 "
dpkg-deb -x
"を使用してホームディレクトリに抽出できます。そうすれば設定するなど多くの「面白い」を持つようになりますPATH
。より複雑なプログラムやアプリケーションをインストールするほど、より多くの楽しみを楽しむことができます:)LD_LIBRARY_PATH
variables
もちろん、この方法でバイナリをインストールすることはできません
setuid
。バイナリはインストールされますが(root権限を付与または設定する権限がないためsetuid
)、バイナリは単なる一般的なバイナリです。同様に、特定の方法で実行
UID
したり、uidを変更したり、ファイルが/etc
その場所にあると予想される~/etc
デーモンとシステムサービスは正しく機能しない可能性があります(まったく)。mc
ほとんどのシステム管理者はこれをmcedit
「ほとんど無害な」無害なプログラムと見なします。しかし、急流クライアントのインストールが無害だと思う人はほとんどいません。特に帯域幅の費用を支払う必要がある場合、または法的責任を負わなければならない場合にはさらにそうです。ほとんどのシステム管理者は、エンドユーザーが許可なしにそのようなソフトウェアをインストールするのはあまり好きではありません。彼らは「もちろん、行って倒れなさい」と言うかもしれないし、そうではないかもしれない。しかし、機械の所有者/管理者に問題を引き起こす可能性がある質問は何でも尋ねなければなりません。
答え3
あなたはそれを使用することができます巣を集める、ユーザーディレクトリにすべてのパッケージをインストールできる小さなLinuxコンテナが作成されます。
答え4
実際、私は今日作ったツールがあります。
https://github.com/z3r0n3t/pkget
必要なのは、特別なルートなしでbashにアクセスすることだけです。 whetを使用してzipファイルとしてダウンロードするか、git cloneを使用できます。