私はLinuxでのマウント/マウント解除についてあまり深く考えていないので、私の質問は次のとおりです。
私はdf -h
次の概要を得ます。
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 323M 306M 0 100% /
tmpfs 502M 0 502M 0% /lib/init/rw
udev 497M 116K 497M 1% /dev
tmpfs 502M 0 502M 0% /dev/shm
/dev/sda9 47G 181M 44G 1% /home
/dev/sda8 368M 12M 338M 4% /tmp
/dev/sda5 8,3G 1,1G 6,8G 14% /usr
/dev/sda6 2,8G 433M 2,2G 17% /var
私はこのマシンをすべてのWeb関連資料を持つWebサーバーとして使用しています/srv/
。なぜなら、これは/
私のディスク容量が足りないからです。私は/home
44Gの利用可能なネットワークスペースがあることがわかりました。それは私にとって完全にうるさいです。だから私は/home
それを自分のパーティション(一部ではない/
)として使用せず、それを/srv
自分のパーティションとして使用し、消費されたスペースをキャプチャしたいと思います/home
。したがって、後でdf -h
次のようにする必要があります(/home
に置き換えられます/srv
)。
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 323M 306M 0 100% /
tmpfs 502M 0 502M 0% /lib/init/rw
udev 497M 116K 497M 1% /dev
tmpfs 502M 0 502M 0% /dev/shm
/dev/sda9 47G 181M 44G 1% /srv
/dev/sda8 368M 12M 338M 4% /tmp
/dev/sda5 8,3G 1,1G 6,8G 14% /usr
/dev/sda6 2,8G 433M 2,2G 17% /var
ここまで来るには何が必要ですか?
答え1
には十分なスペースがあるため、すべてのコンテンツをに/home
移動してから(オプションで)そのコンテンツをルートパーティションに移動します。/srv
/home
/home
数分のダウンタイムが問題にならない場合は、最も簡単な解決策はより大きな/srv
パーティションに移動してそれをシンボリックリンクすることです。
mv /srv /home
ln -s /home/srv /
本当にルートパーティションに移動するには、/home
名前を数回変更する必要があります。/home/srv
またはというディレクトリがないとします/srv/srv
。
mv /srv home
mkdir /srv
mount --move /home /srv
mv /srv/acme … /home/
mv /srv/srv/* /srv
rmdir /srv/srv
最後に、(symlink メソッドを使用しない場合)、/etc/fstab
マウントポイントを変更するように編集します。で始まる行からに/dev/sda9 /home
置き換えます。/home
/srv
答え2
何かをする前に、現在の/homeが占める180MBのデータを保存する場所を見つける必要があります。現在/ dev / sda9を2G/home
と42に再パーティションすることをお勧めします/srv
。
次に少しトリッキーになるはずです。これはすべてシングルユーザーモードで実行するのが最善です。したがって、ルートのみログインでき、/home
移動中に他の人がアクセスしようとする問題はありません。
/ varには十分なスペースがあるため、これを一時保管スペースとして使用します。
mkdir /var/tmp/oldhome
cd /home
`tar -cvf - ./| ( cd /var/tmp/oldhome && tar -xvf - )
これでどこかにバックアップしたので、2ギガと42ギガに/home
再分割しました。/dev/sda9
/dev/sda9
/dev/sda10
パーティションを分割して新しいファイルシステムを作成した後(これを行う方法を知っているとします)/etc/fstab
。
どこかに次のような行が表示されます。
/dev/sda9 /home ext3 defaults 0 2
/dev/sda9
2つのパーティションのうちより小さいパーティションを作成したと仮定すると、行を変更せずに追加するだけです。
/dev/sda10 /srv ext3 defaults 0 2
真下。
この行を追加したら、次のように入力します。
mount /home ; mount /srv
df -h
両方のパーティションがマウントされていることを確認してください。
次に、/homeのデータを置き換えます。
cd /var/tmp/oldhome
tar -cvf - ./ | ( cd /home && tar -xvf - )
マルチユーザーモードでシステムを再起動すると、すべてが正常に動作します。
答え3
迅速で悪い解決策として、使用されていないディスクのディレクトリを下の場所に再マウントし、そこに/srv
いくつかの項目を移動して/srv
適切なスペースを解放します。
について--bind
読んでください。すべての最新のLinuxで実行されます。man mount
mount --bind /some/spare/dir /busy/dir/mountpoint
あなたが持っていると仮定します/srv/some/stuff
。
mkdir /home/offload/some/stuff
- これは44G空き領域パーティションにあります。mv /srv/some/stuff /srv/some/previous-stuff
— 一時リリース名mount --bind /home/offload/some/stuff /srv/some/stuff
- 今、いくつか/ものが別のパーティションにあります!mv /srv/some/previous-stuff/* /srv/some/stuff
- 内容を元の名前に復元して/ srvのスペースを解放します。