このマシンにはルートアクセス権がありません。
Ubuntuパッケージをダウンロードして非ルートとしてインストールする方法があるかどうか知りたいのですが?
おそらく私~/bin
や~/usr/share
そのようなもので?それはうまくいくでしょうか?
このマシンにはルートアクセス権がありません。
Ubuntuパッケージをダウンロードして非ルートとしてインストールする方法があるかどうか知りたいのですが?
おそらく私~/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をエクスポートできます。バイナリのすべての依存関係がインストールされている限り、通常どおり実行されます。
sudo apt-get build-dep package
必要なすべてのインストールに使用できます(ソースを取得した後)。apt-get source
--force-not-root --root=$HOME
またはそのバリエーションは機能しません。Debianバイナリパッケージは、ホームディレクトリ、ピリオドにインストールされるようには設計されていません。または、これを別の言い方をすれば、「次の例では、package.debをホームディレクトリにインストールします。」いいえ、できません。
--force-not-root --root=/your/custom/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
エディターを開きますファイルをホームディレクトリのあるポイントに移動して、そこから実行できます。
私はJuJuと呼ばれるプログラムを作成しました。これにより、$ HOME / .jujuディレクトリ内に非常に小さなlinuxディストリビューション(パッケージマネージャーのみを含む)を作成できます。
proot経由でアクセスできるホームディレクトリ内のカスタムシステムを使用できるため、ルート権限なしでパッケージをインストールできます。すべての主要なLinuxディストリビューションに対して適切に実行されます。唯一の制限は、JuJuが最小推奨バージョン2.6.32でLinuxカーネルで実行できることです。
たとえば、JuJuをインストールしてjeditをインストールした後:
$>juju -f
(juju)$> pacman -S jedit
(juju)> jedit