私は窓がとても上手だったので、今では完全な馬鹿のように感じています。
Ubuntu用のSSDがあり、プログラムの大部分を別のHDDにインストールしたいのですが、方法がわかりません。
デュアルブートインストールでのみ表示しようとしたすべての検索。
WindowsとGNU/Linuxには大きな違いがあります。 Windowsでは、各プログラムが依存するすべてのライブラリと一緒に、個別のフォルダーにインストールされるのが一般的です。これにより、ライブラリを使用するプログラムごとにライブラリが複数回インストールされるため、多くのディスクスペースが無駄になります。
Linuxでは、プログラムは Filesystem Hierarchy Standard (FHS)に従ってインストールされます。つまり、プログラムが依存するライブラリはすべて、共通の専用の場所にインストールされるため、それらを使用するプログラムの数に関係なく、通常は一度だけインストールされます。また、プログラムは、特定のライブラリの同じバージョンを使用するように構築されています。これにより、ディスクスペース(および実行時のRAM)は節約されますが、少なくともシステム構成ファイル(/ etc/ldなど)を編集しない限り、異なるパーティションまたはハードディスクにプログラムを自由にインストールできないという欠点があります.so.conf.dを使用して、さまざまなライブラリフォルダーを含めます)。
DebianパッケージシステムはFHSを念頭に置いて実装されているため、私の知る限り、Debianパッケージを配置する予定のフォルダとは異なるフォルダにインストールして、手動で移動せずに動作させる簡単な方法はありません後でファイルを編集します。これは、コンパイル時にパスがしばしばハードコーディングされるためです。したがって、たとえばコマンドラインでdpkg --instdir=folder/ package.deb
を使用してパッケージを別のフォルダーにインストールした場合でも、プログラムは「folder/etc」ではなく「/ etc」で構成を探しますが、configもちろんパッケージに同梱されたファイルは「folder/etc」にインストールされました...メニューファイルはフォルダではなく「/ usr/share applications」にあるため、プログラムもメニューに追加されません。/usr/share/applications。
もちろん、手動で構成し、 ソースコードからプログラムをコンパイルする バイナリとデータ部分を好きな場所にインストールし、FHS準拠の場所に構成ファイルをインストールすることができますが、これは上級ユーザーにのみお勧めします。ソースからコンパイルする場合は、debianパッケージを自動的に作成するツールである checkinstall をご覧ください。
linuxfromscratch で提案された別のオプションは、パッケージを適切な場所に解凍し、対応するFHSの場所にインストールされているすべてのファイルへのシンボリックリンクを作成することです。
コメントでは、ゲームについて言及していました。UbuntuSoftware Centerから購入していないゲームの多くはインストーラー実行可能ファイルとして提供されており、当然、任意のフォルダー(通常はホームディレクトリのサブフォルダー)にインストールできます。 WINEを使用して実行されているWindowsゲームは、任意のディレクトリにインストールすることもできます。 wineには、WINEPREFIXと呼ばれる環境変数が存在します。これを使用して、独自の仮想C:ドライブを含む多数の独立したWINEフォルダを設定できます。詳細については、WINEのマニュアルページを参照してください。
ゲーム/プログラムがDebianパッケージとして提供されている場合でも、お気に入りのアーカイブマネージャーでパッケージの内容を確認できます。/optはFHSに準拠していないプログラムのインストール場所としてよく使用されるため、ゲームを/ optにインストールする場合、通常は別のフォルダーに安全にインストールできます。
インストールしたUbuntuのバージョンで外部USBディスクを起動します。/dev/sda
がSSDで、/dev/sdb
がHDDであると想定しています。
gparted を使用して、インストールするすべてのアプリケーション(64 GBなど)を含むパーティションをHDDに作成し、これがHDDに作成する3番目のパーティションになると仮定しています( /dev/sbd3
)
次のコマンドを実行します。
mkdir /media/apps
mount /dev/sdb3 /media/apps
mkdir /media/apps/usr
cp --preserve=all --recursive /opt /media/apps
cp --preserve=all --recursive /usr/bin /media/apps/usr
Sudo nano
/dev/sda1/etc/
のfstab
は、/
エントリ(ルートディレクトリ)の直後に次を含める
/dev/sdb3 /media/apps ext4 errors=remount-ro 0 0
/opt /media/apps/opt none defaults,bind 0 0
/usr/bin /media/apps/usr/bin none defaults,bind 0 0
再起動してテストする
Unix/Linux/Ubuntuはデスクトップを備えたサーバーOSであり、WindowsはデスクトップOSであり、サーバーは後付けであると考えられていました。
Linux Filesystem Hierarchy Standard では、 unlimited amount を任意の場所に配置し、それらを正しいドライブまたはパーティションにバインドできますユーザーに対する完全な透過性/に対して、Windows OSは最大24のアクセス可能なドライブ/パーティションに制限されます(C:
からZ:
は、A:
およびB:
がフロッピーディスク用に予約されています)。
自分でインストールするほとんどのアプリケーションは/opt/
と/usr/bin
にインストールされるので、通常はUbuntuをインストールし、以下の手順に従って/dev/sda
がSSD、/dev/sdb
がHDD、/dev/sdd
がUSBスティックであると確認します。
/dev/sbd3
)そのパーティションを一時ディレクトリにマウントします。
mkdir /media/apps
mount /dev/sdb3 /media/apps
既存の/opt
と/usr/bin
をそこにコピーします:
mkdir /media/apps/usr
cp --preserve=all --recursive /opt /media/apps
cp --preserve=all --recursive /usr/bin /media/apps/usr
Sudo nano
/dev/sda1/etc/
のfstab
は、/
エントリ(ルートディレクトリ)の直後に次を含める
/dev/sdb3 /media/apps ext4 errors=remount-ro 0 0
/opt /media/apps/opt none defaults,bind 0 0
/usr/bin /media/apps/usr/bin none defaults,bind 0 0
再起動してテストする
/dev/sda1/opt
および/dev/sda1/usr/bin
内のすべてを削除して、既に別の場所にマウントされた古いディレクトリをまだ使用しているディスク領域を再利用します。Warning:最後のコマンド might は、/dev/sbd3
がハードウェア障害によりマウントされないというまれなケースでもシステムをクラッシュさせます。
Chromebookで使用したソリューションは、パッケージをインストールせずに、対応する.tar.gzをダウンロードすることです。
これはあなたが探しているものではないかもしれませんが、非常に小さなドライブがあり、重要なソフトウェア(GNOMEデスクトップ、Webブラウザー)を追加のソフトウェア(GIMP、IDE、ゲーム)から分割してローカルスペースを節約し、外付けドライブなしでコンピュータを動作させ続ける、それは今のところIMOにとって最良のソリューションです。