私はユーザーとしていくつかのUbuntuサーバーにsshでアクセスでき、便宜上、システムツールをインストールする必要はありません(mc、rtorrent、mcedit)。これらの小さなプログラムの管理者を煩わせたくありません。
のようなものを使わずにそれらをインストールする(実行させる)方法はありsudo apt-get install
ますか?
私はユーザーとしていくつかのUbuntuサーバーにsshでアクセスでき、便宜上、システムツールをインストールする必要はありません(mc、rtorrent、mcedit)。これらの小さなプログラムの管理者を煩わせたくありません。
のようなものを使わずにそれらをインストールする(実行させる)方法はありsudo apt-get install
ますか?
回答:
コンパイルとインストールに~/bin
(とあなたの編集.bashrc
設定しPATH
、それを含めて)。ライブラリは同様にコンパイルしてインストールすることができ~/lib
(LD_LIBRARY_PATH
それを指すように設定)、開発ヘッダーはにインストールできます~/includes
。
インストールするプログラムとそれらが依存するライブラリの特定の詳細に応じて、.debファイルをダウンロードし、 ' dpkg-deb -x
'を使用してホームディレクトリの下に展開できます。その後、設定を「楽しい」がたくさんありますPATH
、LD_LIBRARY_PATH
およびその他のvariables
。インストールしているプログラムまたはアプリが複雑であればあるほど、より楽しくなります:)
もちろん、setuid
この方法でバイナリをインストールすることはできません-それらはインストールされますが、(rootにchownしたり、setuid
ビットを設定したりする許可がないため)単にあなたが所有する通常のバイナリになります。 。
同様に、デーモンと一定として実行していることを期待するシステムサービスUID
やUIDを変更する機能を持っている、またはファイルがであることを期待/etc
ではなく~/etc
、まったく場合ようにとは、うまく動作する可能性はありません。
ほとんどのシステム管理者はmc
、mcedit
「ほとんど無害」で無害なプログラムであると見なします。
ただし、特に帯域幅の支払いが必要な場合、または法的責任を負うことになった場合、トレントクライアントのインストールを無害と見なすことはほとんどありません。ほとんどのシステム管理者は、おそらくエンドユーザーが許可なしにそのようなソフトウェアをインストールすることを完全に喜んでいないでしょう。彼らは「確かに、進んで、自分をノックアウト」と言うかもしれませんし、そうでないかもしれません...しかし、マシンの所有者/管理者に問題を引き起こす可能性のあるものについて尋ねるべきです。
LD_LIBRARY_PATH
は邪悪なハックだと聞いたことがあります。これはここでも当てはまりますか、それとも誤解されていますか?
dpkg-deb -x
ローカルディレクトリへ)を試しました。魅力のように働いた。LD_LIBRARY_PATH
ハックする必要はありませんでした。必要な場合でも、グローバル設定に影響を与えないように、同じコマンドラインで実行します(例:)$ LD_LIBRARY_PATH=/home/usr1/zoom/opt/zoom:/home/usr1/zoom/opt/zoom/zoom ZoomLauncher
。
これらをソースからコンパイルする必要があります。それはただの問題であるべきです
apt-get source PACKAGE
./configure --prefix=$HOME/myapps
make
make install
バイナリはに配置され~/myapps/bin
ます。そのexport PATH="$HOME/myapps/bin:$PATH"
ため、.bashrc
ファイルに追加し、でファイルをリロードし.bashrc
ますsource ~/.bashrc
。もちろん、これはgccがシステムにインストールされていることを前提としています。
同じ問題に直面しました。同じOSとアーキテクチャのLinuxサーバーを使用していると仮定して、ここですばやく修正しました。
制御するシステムにソフトウェアをインストールします
実行可能な例which python
を見つけて、コピーしてください~/
以下を使用してライブラリをコピーします。
ldd "$(which python)" | grep "=> /" | awk '{print $3}' | xargs -I '{}' cp -v '{}' ~/
ローカル権限のみを持つ他のシステムに実行可能ファイルとライブラリを転送し、次を実行します。
mkdir ~/lib
export PATH="$PATH:~/lib"
export LD_LIBRARY_PATH=~/lib:/lib:/usr/lib
これにより~/lib
、ライブラリを保存するフォルダーが作成され、パスに追加され、そこにあるライブラリを見るようにLDに指示されるため、実行可能ファイルとライブラリを追加するだけで、他の場所で実行できます
これは非常にハッキングかもしれませんが、非常に移植性が高く、迅速であり、その方法で実行できないものはまだ見つかりませんでした。 1024などなど