/usr
フォルダーを新しいパーティションに移動する必要があります。内容を消去せずにこれを行うにはどうすればよいですか?
Ubuntuの実行中にこれを実行できますか、それともLiveCDを使用する必要がありますか?
Live CDを使用するのが最も安全ですが、次のこともできます。
/usr
の内容がこの間変更されないようにします。/etc/fstab
を編集して、次の再起動時に/usr
がマウントされるようにします各ステップの詳細については、以下を参照してください。
/usr
には多数のファイルが開かれるため、実行中に/usr
に新しいパーティションをマウントすることはできません。
cp -a
を使用します。 -a
はアーカイブオプションです。 manページ から:
-a, --archive
same as -dR --preserve=all
...
-d same as --no-dereference --preserve=links
...
-P, --no-dereference
never follow symbolic links in SOURCE
...
--preserve[=ATTR_LIST]
preserve the specified attributes (default:
mode,ownership,timestamps), if possible additional attributes:
context, links, xattr, all
...
-R, -r, --recursive
copy directories recursively
新しいパーティションのUUIDを知る必要があります。次のようにしてマッピングを確認できます。
$ ls -l /dev/disk/by-uuid/
そして、次の行を/etc/fstab
に追加します。
UUID=634c31a5-e27c-4e33-ac67-2e22491a30c2 /usr ext4 defaults 0 2
UUIDをUUIDに変更し、ext4
を使用しているファイルシステムタイプに変更します。パーティションを設定した場合は、これを知っておく必要があります。
再起動後、ルートパーティションの/usr
にある古いファイルは、/usr
にマウントされた新しいパーティションによって非表示になります。しかし、いくつかの mount bind trickery を使用して、古いファイルを取得してから削除できます。
$ Sudo mount --bind / /mnt
$ Sudo rm -rf /mnt/usr/*
$ Sudo umount /mnt
しかし、若干の誤入力(たとえば、Sudo rm -rf /mnt
と入力しただけでEnterキーを押す)は災害を引き起こす可能性があります。ダウンタイム、またはマシンに物理的にアクセスできなかったため、ライブCDまたはライブUSBスティックから起動できませんでした。
使用されるほとんどのライブラリは/ usrにあるため、Ubuntuの実行中にこのディレクトリを移動することはお勧めしません。実際、これを行おうとすると、おそらくエラーメッセージが表示されます。したがって、最良の方法はLiveCDを使用することです。
Cp、rsyncなどのファイルを移動/コピーするには、いくつかの可能性を使用できます。シンボリックリンクが作成されるだけでなく、コピーされることを確認したいです。 cpとrsyncの両方にこのオプションがあります。
ファイルを他のパーティションに移動した後、/ etc/fstabに別のマウントを追加して、新しいパーティションを/ usrにマウントする必要があります。
注意:自分が何をしているのか分かりません。コマンドをコピーして、他の人が示唆するようにしています。これは間違った方法かもしれませんが、私にとってはうまくいきます(少なくとも今のところ)。
これは私がそれをやった方法です(ハミッシュの答えとコメントに従って):
新しく作成されたパーティションのすべてのファイルをコピーします(パーティションの場所に置き換えてください。これは私のパーティションに似ているはずです)。
rsync -avz /usr /media/aleksandar/750b84e2-e65f-4309-ade5-5af0033a937c
この時点で、パーティションの/usr
フォルダーにすべてをコピーしたことに気付きましたこれは機能しませんなので、そのフォルダーから(ファイルマネージャーを使用して)すべてをコピーしましたパーティションのルートに移動し、その後その空のフォルダを削除します。
/etc/fstab
を編集します(もちろんHamishの答えと同じですが、UUIDに置き換えてください)
UUID=634c31a5-e27c-4e33-ac67-2e22491a30c2 /usr ext4 defaults 0 2
非常に賢明ではないことが判明したステップ:現在マウントされている/usr
パーティションの名前を/usrBACKUP
に変更しました。これは、システムを再起動すると、実際には古いパーティションではなく、新しく作成されたパーティション。その後、画面上ですべての不具合が発生し、電源キーを長押しして電源をオフにしなければなりませんでした(現在の天才)。システムに不具合を生じさせたくない場合は、この手順をスキップしてください。
システムを再起動します
再起動後、システムモニターまたは同様のアプリケーションを開いて、新しい/usr
パーティションがマウントされているかどうかを確認し、すべてが計画どおりに行われたかどうかを安全に確認します。
すべてが正常であることを確認したら、古い/usr
パーティションを削除できます。何か問題が発生した場合に備えて、私は私のものを保持します。