web-dev-qa-db-ja.com

/ optを別の既存のドライブに移動します

Ubuntu 16.04とWindows 8.1をデュアルブートします。 UbuntuのすべてはSSD上に存在し、コアのWindowsスタッフも別のパーティションに存在します。メインのser Windowsのフォルダー(ドキュメント、ダウンロードなど)は、別のハードドライブに存在します。

Ubuntuのスペースが不足しています。 /opt/usr/localをハードドライブに移動したいです。しかし、これについて私が見つけたすべてのQ&Aは、これらのフォルダーが既に別のパーティションにマウントされているか、または宛先ドライブをフォーマットできるという前提から始まります。これらのどちらも私には当てはまりません。

このコンピューターをセットアップしたときに行ったことを正確に覚えていませんが、Ubuntuからハードドライブにアクセスできることは知っています(/dev/sdb1にあり、/media/steve/storageにマウントされています)。私が求めていることをすることは可能ですか?

4
Steve D

単純にリンクできます:

  1. /optディレクトリを移動します。

    Sudo mv /opt /mnt/otherDisk/
    
  2. 新しい場所へのシンボリックリンクを作成します。

    Sudo ln -s /mnt/OtherDisk/opt /
    

次のものがあります。

$ ls -ld /foo
lrwxrwxrwx 1 root root 5 Apr  6 14:23 /opt -> /mnt/OtherDisk/opt

Rinzwindがコメントで正しく指摘しているように、ブート中に必要なファイルを含むディレクトリを移動すると、システムが破損する可能性があります。たとえば、/binに対してこれを実行したくないことは確かです。 /optは問題ありません。

4
terdon

2番目に/ homeを移動しますが、あなたが望むことをすることは可能です。

私の理解が正しければ、2つのドライブがあり、1つはubuntu(および場合によってはいくつかのWindowsのもの)を備え、もう1つはWindowsユーザーファイルを備えています。あなたがする必要があるのは、Windowsパーティションを縮小することです(これを何度も成功させていますが、パーティションのサイズを変更するとデータが失われる可能性があるため、データをバックアップしてください)。 GPartedなどのプログラムを使用して、パーティションのサイズを変更できます。完了したら、残りのスペースを取り、新しいパーティションを作成できます(GPartedでも実行できます)。次に、/ usr/localと/ optの内容を新しいパーティションにコピーする必要があります(通常、この部分はライブCDを挿入し、すべてをマウントしてコピーします)。最後に、/ etc/fstabを編集し、/ usr/localと/ optをマウントする場所を指定する必要があります。

/ homeを移動する手順に関する上記のリンクは同じであるため、/ usr/localおよび/ optを移動するためのガイドに従うことができます。必要なのは、最初にWindowsパーティションのサイズを変更することです。

4
Hammar