web-dev-qa-db-ja.com

ホームディレクトリを2つの異なるパーティションに分割する

2台のハードディスクを搭載したUbuntuデスクトップ環境を実行しています。小さなSSDと大きな通常のディスク。

現在、ホームドライブが/home/nameにあるセットアップを実行していますが、いくつかのフォルダー(例: Downloadsは、通常のハードドライブ上のフォルダーにリンクされています。

この設定には、どのフォルダがどこに属しているかなどを維持および記憶することが困難になる傾向があるため、いくつかの問題があります。

この種のセットアップを管理するためのよりシンプルでエレガントな方法はありますか?

編集:SSDは128GBです

6
CodeTower

私はあなたが提案しているものと同様のセットアップを実行します。 120GBの高速PCI-ESSD、4TBの低速、RAID、回転するRust。 //homeは、私のユーザーディレクトリの大部分と同様に、両方ともSSD上にあります。

~/Documents/~/Music/~/Photos/~/Videos/(つまり、すべての重要なもの)のようなものをRAIDアレイにシンボリックリンクしました。追跡するのは難しいことではありませんが、120GBがスイートスポットにあるからだと思います。インストールされているすべてのアプリケーションに十分なスペースがあり、~/にある「SSDの障害によって破壊されても泣かない」ファイルのほとんどはそれほど大きくありません。

Steamは、ディスク領域を解放するための最近の最大の課題であり、代替のインストール場所を指定できるようにするための組み込みメソッドがあります。プレイの少ないものをRAIDに移動するか、削除します。

60GBまたは30GBを実行している場合...もっと大きなものを探したいと思うかもしれません。それは確かに不可能ではありませんが(私は同じRAIDで60GB SSDを使用していました)、良い解決策はありません。すべてを手動でマッピングするか(パフォーマンスが速い、煩わしい)、SSD全体をbcache(パフォーマンスが遅い、簡単)のような遅いドライブのキャッシュとして使用します。

2
Oli

nionFS を使用すると、2つの別々のファイルシステムを透過的にオーバーレイできます。注意点は、アドホックでデータを書き込むシステムを決定できないことですが、最近のダウンロードと同じディレクトリに読み取り専用またはほとんど変更されない「アーカイブ」データを含めることができます。アーカイブは1つの(ほぼ満杯の)ディスクから取得され、ダウンロードは別の(ほぼ空の)ディスクに送られ、同じディレクトリに並べて表示されます。

別のオプションは [〜#〜] lvm [〜#〜] です。これには、より徹底的な変更が必要です。最初からLVMを使用していなかった既存のシステムに実装するのは困難です。基本的に、「Partition Table」抽象化レイヤーを「Physicaldevice」抽象化レイヤーから分離し、パーティション化の別のレイヤーを導入します。 LVMパーティションは、複数のディスク、または複数のメディアにまたがることができます。たとえば、1.5GBのディスクが2つあるとします。 LVMを使用すると、2つのディスクが形成する共有スペースに3つの1GBパーティションを作成できます。または、必要に応じて、両方のディスクをカバーする単一の3GBパーティションを作成できます。別のディスクを追加することで、後でそのパーティションを拡張することもできます。

つまり、システムをインストールする前に行う方がよいということです。既存のシステムを非LVMからLVMに移行するのは少し注意が必要です(ただし、私が間違っていなければ、古い「物理」パーティションと共存できるため、/ homeを1つのディスクと一部にまたがるLVMパーティションにすることができますもう1つは、システムの残りの部分がディスクの残りの部分に残り、LVMの影響を受けないことです。)

1
SF.

同様の状況でホームディレクトリから物事をオフロードするデータディスクがあります(スペースが限られていてアクセスが遅い暗号化されたホームディレクトリ)。

別の場所には、エンドノードにのみファイルがあるディレクトリ構造があります。 ~の下のディレクトリ構造を再作成する簡単なスクリプトを作成しましたが、エンドノードの場合、それらはリンクされています(ln -s)。スクリプトのオプションは、そのようにリンクされたディレクトリ(およびその親)のツリービューと、リンクされていないローカルファイル/ディレクトリとサイズ(何を移動するかを決定するのに役立ちます)を表示します。

セットアップで重要なのは、リンクされた(サブ)ディレクトリにのみ使用される代替の場所にある一意のディレクトリです。最初はそれがなく、トップレベルのディレクトリが追加されたときにスクリプトを拡張する必要がありました。

これはメンテナンスに役立ちます。追加のリマインダーが必要な場合は、lsを関数にするか、ファイルマネージャーを拡張してリンク情報をスマートに表示する必要があります。

0
Zelda