4つのシステムフォルダを1つの独立したパーティションに移動する

4つのシステムフォルダを1つの独立したパーティションに移動する

いくつかの背景: 私のラップトップSSDの10GBフォーマットパーティションにLinux Mint 17 Cinnamonをインストールし、ext4フォーマットの別の75GB HDDも持っています。

質問セクション:2つのパーティションがあります。システム(sda1)そしてデータ(sdb1)

フォルダを移動するには:ユーザー変わりやすいそしてtmp到着データ(sdb1)ルートシステムからアクセスできるようにしますか?

不都合なロジックでシンボリックリンクとfstabを試しましたが、うまくいきません。

私の中に/etc/fstab

UUID=XXX-Data-drive-UUID-XXX /media/data ext4 default 0 1 
/media/data/tmp /tmp ext4 default 0 1
/media/data/home /home ext4 default 0 1
/media/data/usr /usr ext4 default 0 1
/media/data/var /var ext4 default 0 1

誰かが少なくとも私に正しい方向を伝えることができますか?

--修正済み--

答えはうまくいきますが、このパスを使用するすべての人を助けるためのものです。

まず、cp -rpコマンドを使用してコピーします(-rは再帰を意味し、-pは同じ権限を保持することを意味し、-pがない場合はすべてがルートに属します)。

私は答えで/etc/fstabを変更し、バインド句はそのトリックを実行しました。

古いフォルダの名前を変更するためにliveUSBで再起動しました。システム(sda1)そしてどんな種類の紛争も避けてください。

そしてエラーなしで正常に起動しました。

答え1

すでにインストールされている(またはインストールされているディレクトリの一部)ディレクトリを別の場所にマウントしようとしているようです。これを行う方法はmount -o bind次のとおりです。

UUID=XXX-Data-drive-UUID-XXX /media/data ext4 defaults 0 1 
/media/data/tmp /tmp ext4 defaults,bind 0 0
/media/data/home /home ext4 defaults,bind 0 0
/media/data/usr /usr ext4 defaults,bind 0 0
/media/data/var /var ext4 defaults,bind 0 0

defaults(いいえdefault、ここで変えたという意味かもしれません)

PS:バインドマウントを確認してはいけないので、答えを「0 0」に修正しました。

答え2

次のことを試すことができます。

  • すべてのファイルを新しいパーティションにコピーし、/usrこの操作中に内容が変更されないようにしてください。
  • 次の再起動時にインストールされる/etc/fstabように修正/usr
  • 再起動
  • 古いファイルの削除

cp -aファイルのコピー:.isアーカイブオプションを使用します-a。マニュアルページから:

-a--archive

    -dR --preserve=all
    ⋮と同じ
-d
    --no-dereference --preserve=links
    ⋮と同じ
-P--no-dereference

    SOURCE⋮のシンボリックリンクに従わないでください。
--preserve[=ATTR_LIST]
    可能であれば、指定された属性(デフォルト:モード、所有権、タイムスタンプ)を保持します。追加属性: context, link, xattr, all
-R、、、-r--recursive
    再帰的にディレクトリをコピーする

編集する/etc/fstab

UUID新しいパーティションへのマッピングを知る必要があります。次の方法でマッピングを表示できます。

$ ls -l /dev/disk/by-uuid/

それからこの行/etc/fstab:

UUID=634c31a5-e27c-4e33-ac67-2e22491a30c2 /usr           ext4    defaults        0       2

UUIDあなたのものに変更しUUIDext4使用しているファイルシステムの種類に変更してください。すでにパーティションを設定している場合は、これを知っておく必要があります。古いファイルの削除

再起動後、/usrルートパーティションの古いファイルは新しくマウントされたパーティションによって隠されます/usr。ただし、いくつかのマウントバインディングトリックを使用して古いファイルをインポートして削除することができます。

$ sudo mount --bind / /mnt
$ sudo rm -rf /mnt/usr
$ sudo umount /mnt

しかし、いくつかのタイプミス(例えば、sudo rm -rf /mntを入力するときにEnterキーを押すこと)は災害につながる可能性があるので、自分がしていることについて非常に自信があり、実際に処理できない場合は、私はThisを使用します。します。この方法を使用するには、ダウンタイムやコンピュータへの物理的なアクセスが必要ないため、Live CDまたはLive USBスティックから起動できません。

関連情報