答え1
下の領域のパーティションを移動することは大きな痛みになります。ここで問題は開始はどのように行われますか。私はこれがSDB5 512MBの領域だと思います。システムがsdb5から起動するように指示するいくつかの起動コードがあります。
しかし、これは、そのブートブロックの何かがLinuxがsdb6にインストールされていることを「認識」することを意味します。あえてこれを変えないでください。
最も簡単な方法(USBデバイス2台)
新しいUSBキーを入手して挿入してください。 Linuxで起動します。新しいUSBフラッシュドライブを同じ方法でフォーマットしますが、「より良い」パーティションを使用してください。次に、古いキーのデータを新しいキーにコピーします。動作していることを確認してください。もう終わりました!
できる作業(1つのUSBデバイスのみを使用)
ご存知のように、Linuxにはマウントポイントがあります!ミックス&マッチできるそれら!だから:
重要なコンテンツをバックアップする
Linuxでの起動とログイン根シングル(「回復」)モード
ext4 で再フォーマットして sdb1 パーティションの内容を削除します。
mkfs.ext4 /dev/sdb1
それでは、Linuxのインストールを確認し、何がスペースを占めているのかを確認してください。
du -sk / * 2> / dev / nullコードコピーソート-n |
たとえば、私のテストシステム(数秒間ディスクをスキャンした後):
...smaller fry removed...
12220 /run
13320 /sbin
18992 /etc
125244 /boot
873108 /home
873324 /lib
1154900 /opt
1537488 /root
4648100 /usr
15088048 /var
だから私は主に/ var用のシステムを使います。完璧。 /varを移動します。
新しくフォーマットされたsdb1を/ mntにマウントします。
マウント /dev/sdb1 /mnt
「/var」を「/mnt」にコピーします(したがって、始める前にrsyncがインストールされていることを確認してください)。
rsync -a /var /mnt
これで、(これは「シングルモード」、テキストモードの開始、すべてのサービス停止で行う必要があります。そうしないと、これを実行できない可能性があります)
mv /var /oldvar # 必要に応じて戻り、oldvar を var に復元できます。
新しい/ varを再生成してください。
mkdir /var
oldvarの権限を確認して新しい/ varにコピーしてください。
/etc/fstab のマウントポイントリストに sdb1 の行を追加します。
echo "/dev/sdb1 /var ext4 自動 0 2" >> /etc/fstab
sdb1パーティションは起動するたびに/ varに接続され、このパーティションに最大17GiBのデータを保存できるようになりました。
今再起動すると、すべてが以前と同じように機能します。 / varがいっぱいになり、sdb6にはoldvarが含まれているため、空き領域はまったくありません。すべてが大丈夫かどうかを徹底的に確認してください。。確実な場合は、oldvarディレクトリとすべてのサブディレクトリを削除してください。
ノート:私の例では/ varを使用しています。 /homeを移動する必要があるかもしれません。同じ。または、2つ以上のレベルをドリルダウンして、何がスペースを占めているかを確認できます。~へ/var:
du -sk /var/*2> /dev/null コードのコピーソート -n |
私の場合、/ var / wwwがスペースの90%を占めることがわかりました。したがって、 /var 全体を再配置する必要はありません。 "/var/www"を使用して上記の手順を実行しても、まだ90%の利点が得られます。また、シングルモードでログインまたは再起動する必要はありません。私のシステムでは、/var/wwwは間違いなくApache HTTPサーバーでのみ使用され、再起動せずに停止して再起動できるためです(/var/log、/var /run、/var/mailなどが使用されている可能性があり、シングルモードが必要な場合があります):
apache2ctl stop
rsync -a /var/www /mnt
mv /var/www /var/oldwww
mkdir /var/www
# Set up the same ownership and permissions of the old /var/www
chown www-data:users /var/www
chmod 775 /var/www
# Compare the two ls lines
ls -la /var | grep www
# If ownership and pemissions are OK go on
echo "/dev/sdb1 /var/www ext4 auto 0 2" >> /etc/fstab
# Free up sdb1 from mnt
umount /mnt
# Check whether the automount from fstab works
mount /var/www
# Now everything is as before, www is there and useable, it's just on sdb1.
apache2ctl start
# Now verify everything works again. IF it works, oldwww is useless.
rm -rf /var/oldwww # kill the original www
(新しい/var/wwwに直接作成してインストールし、/mntに全く触れることなくoldwwをwwwに同期することもできます。)