このマシンにはルートアクセスなしがあります。
方法があるかどうかを知りたいbuntuパッケージをダウンロードして非ルートとしてインストールできますか?
おそらく私の~/bin
または~/usr/share
またはそのようなもので?それはうまくいくでしょうか?
Aptは直接サポートしていませんが、それを行う方法があります。
1つは、schroot
を使用して非ルートchrootを作成することです。これはやや 関与するプロセス ですが、多くの開発者がコードをコンパイルするためにchroot環境をセットアップするので、コミュニティヘルプを見つけることができるはずです。
私が知っている2番目の方法は、.debパッケージからインストールすることです。これは、Webサイトからダウンロードできる場合と、ダウンロードできるUbuntuリポジトリにある場合があります。
apt-get download package
package
をパッケージの名前に置き換えます
Debファイルを取得したら、dpkg
をコマンドラインから直接呼び出します。次の例では、package.debをホームディレクトリにインストールします。
dpkg -i package.deb --force-not-root --root=$HOME
このようにdpkgを使用することの欠点は、エラーメッセージがわかりにくい可能性があることです。 dpkgは依存関係を自動的に解決したり、期待するディレクトリ構造を作成したりしません。
最後に、apt-get source
コマンドを使用して、パッケージのソースを取得し、ローカルにインストールするように構成できます。通常、これは次のようになります。
apt-get source package
cd package
./configure --prefix=$HOME
make
make install
このアプローチの短所は、このアプローチがまったく機能しない開発環境が必要であり、すべての依存関係を解決するために多数のパッケージをコンパイルする必要があることです。
編集:
dpkg -i
が機能しないため(コメントを参照)、この代替案をお勧めします。
dpkg -x package.deb dir
これにより、.debパッケージがdirに抽出されます。次に、バイナリがある場所にPATHをエクスポートできます。バイナリのすべての依存関係がインストールされている限り、通常どおり実行されます。
jedit をインストールすることを想定しています。まず、パッケージを見つけてダウンロードする必要があります。 ミラーからdebファイル を取得し、コンソール/ターミナルを開きます。
mkdir /tmp/jedit && cd /tmp/jedit
-tmp
に新しいディレクトリを作成し、変更します。wget http://mirrors.kernel.org/ubuntu/pool/universe/j/jedit/jedit_4.3.1.dfsg-0ubuntu1_all.deb
-パッケージのダウンロードar x jedit_4.3.1.dfsg-0ubuntu1_all.deb
または、入力が簡単なar x *.deb
-ファイルの内容を抽出しますtar xvzf data.tar.gz
-ファイルdata.tar.gz
には、ソフトウェアの実行に必要なものがすべて含まれていますusr/bin/jedit
はエディターを開きますファイルをホームディレクトリのあるポイントに移動して、そこから実行できます。
JuJ というプログラムを作成しました。これにより、基本的に、ごく小さなLinuxディストリビューション(パッケージマネージャーのみを含む)を$ HOME/.jujuディレクトリ内に配置できます。
Proot経由でアクセスできるホームディレクトリ内のカスタムシステムを使用できるため、ルート権限なしでパッケージをインストールできます。すべての主要なLinuxディストリビューションに対して適切に実行されます。唯一の制限は、JuJuが最小推奨バージョン2.6.32でLinuxカーネルで実行できることです。
たとえば、JuJuをインストールしてjeditをインストールした後:
$>juju -f
(juju)$> pacman -S jedit
(juju)> jedit