web-dev-qa-db-ja.com

debパッケージを別のディレクトリ(または同等のもの)にインストールします

私は小さなハードドライブとそれに対応する外付けドライブを備えたネットブックを持っています。 Ubuntuを実行しています。その外付けハードドライブにいくつかのパッケージをインストールできるようにしたいので、ハードドライブが接続されていなくても、ネットブックは機能しますが、機能はありません。 have正確にはこのようにはなりません。インストールしたライブラリとプログラムの一部を、ポータブルハードドライブにオフロードする効果が必要です。言い換えれば、私は少なくともいくつかの基本的なプログラムを正常に実行する必要があるため、外付けドライブからいくつかのディレクトリをマウントするだけでは機能しません。

これが私が考えていたいくつかのことですが、それらが実行可能かどうか、またはそれらを実行する方法を実際に理解するのに十分な情報を見つけることができませんでした。これらのいずれかを行う方法または別の方法についてのコメントは大歓迎です。

  1. Dpkginstallの--root =/media/externalスイッチを使用してから、システムパスに/ media/external /を追加すると、このようなことができますか?
  2. パッケージを代替ルート(--root =/media/external)にインストールするdpkgのラッパーを作成してから、外部ファイルにインストールされたばかりのすべてのファイルへのシンボリックリンクを内部ファイルシステムに作成するとどうなりますか?システム?
  3. 外付けドライブにchrootするものはどうですか?
  4. LVMを使ったものはどうですか?
8
cheshirekow

Debianパッケージ管理を回避しない簡単な答えが必要な場合は、mountとシンボリックリンクを使用してください。/etc/fstabを使用して外付けドライブをマウントし、そのドライブを指すいくつかのシンボリックリンクを設定できます。注:盲目的にシンボリックリンクするべきではありません。何かを変更する前に必ず確認してください;)

かなり節約の提案は、/ tmpをramfsに入れることです(SSDを使用する多くのネットブックでとにかく行う必要があります)。

プログラムが内蔵ドライブに最も多くのスペースを必要としますか? xdiskusageなどのツールを使用して確認しましたか?

3
evnu

-rootを使用してパッケージを別のディレクトリにインストールできますが、ほとんどのプログラムは固定されたファイルを検索するため、そこからほとんどのプログラムを使用することはできません。場所(/ etcなど)。このオプションは、ディスクレスクライアントのNFSルートにパッケージをインストールする場合などにあります。

nionFS のようなものを使用して、2つのファイルシステムをマージできるかもしれません。

3
Florian Diesch