LINUX.ORG.RU
ФорумAdmin

Удалить папку, если на её место примонтирован раздел


0

0

Немного непонятное название, поэтому попробую объяснить.
Было два раздела на диске:

/dev/hda1    /boot
/dev/hda2    /

Места стало не хватать, поэтому я перенёс систему на другой винт, который разбил так (папку /usr c /dev/hda2 я предварительно скопировал на /dev/hda3):

/dev/hda1    /boot
/dev/hda2    /
/dev/hda3    /usr

Всё это дело подключается сейчас через /etc/fstab. Мне нужно каким-то образом удалить папку /usr c раздела /dev/hda2 (она всё равно место зря занимает, ведь сейчас всё работает с /dev/hda3). И желательно это сделать без перезагрузки.
Единственный способ, который мне сейчас видится -- загрузиться с CD, подключить раздел /dev/hda2 и удалить эту несчастную папку. Но: во-первых, у машины нет CD привода, а, во-вторых, не хочется его цеплять :-).
Помогите советом.

mkdir /tmp/root && mount /dev/hda2 /tmp/root && rm -rf /tmp/root/usr

Саму директорию usr ты удалить не сможешь, так как она подмонтирована, а вот всё, что на hda2 лежит в ней - удалится.

umount /tmp/root

Teak ★★★★★
()
Ответ на: комментарий от Teak

Проблема в том, что у меня сейчас /dev/hda2 уже подмонтирован (к /). И естественно я получаю ошибку: /dev/hda2 already mounted or /tmp/root is busy

Kinjo
() автор топика
Ответ на: комментарий от Kinjo

Ну и само собой просто взять и отключить /dev/hda2 я тоже не могу. У меня там, к примеру, есть папочка /var, которая нужна для всякях сервисов...

Kinjo
() автор топика
Ответ на: комментарий от Kinjo

Не знаю не знаю, я монтирую второй раз без проблем. Debian Sarge, 2.6.8-2-686.

Ну раз так не прокатило, то просто убивай все процессы, которые юзают /usr (то есть вообще практически все процессы), а дальше umount /usr && rm -rf /usr && mkdir /usr && mount /usr

Все эти команды в /bin так что отработают без проблем.

Teak ★★★★★
()

С перезагрузкой, но без CDROMa
# mkdir /oldusr
# vi /etc/fstab

/usr  /oldusr  ext3   bind 0 0
/dev/hda3 /usr .... 

# reboot

После перезагрузки:
# touch /usr/aaa
# ls -l /oldusr/aaa
ls: /oldusr/aaa: No such file or directory

Если получили такой ответ, можно удалять
# rm -rf /oldusr/*
# vi /etc/fstab   (удалить bind)

sdio ★★★★★
()
Ответ на: комментарий от sdio

Т. е. можно подключать не только раздел в какую-то папку, но и папку подключать к папке (/usr  /oldusr  ext3   bind 0 0)? Не знал об этом...
Попробую этот вариант.

Kinjo
() автор топика
Ответ на: комментарий от Kinjo

Да и ещё забыл спросить: этот способ же сработает, если у меня на самом деле примонтирован не /dev/hda2, а /dev/mapper/VolGroup00-LogVol00 (т. е. это LVM)?

Kinjo
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.