PDA

Показать полную графическую версию : Удалить папку, если на её место примонтирован раздел


Gangabass
28-02-2007, 05:00
Немного непонятное название, поэтому попробую объяснить.
Было два раздела на диске:
/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 привода, а, во-вторых, не хочется его цеплять :-).
Помогите советом.

must die
28-02-2007, 08:20
Gangabass

А если просто mount /dev/hda2 /mnt_temp
проверяем директорию ..... удаляем

ruslandh
28-02-2007, 08:27
Попробовать перезагрузиться через параметр
init=/bin/bash

Gangabass
28-02-2007, 08:45
А если просто mount /dev/hda2 /mnt_temp
проверяем директорию ..... удаляем
Не получится. Он же у меня сейчас занят. Там (т. е. на этом же разделе), к примеру, есть папочка /var (и с ней работают разные службы).


Попробовать перезагрузиться через параметр
init=/bin/bash
Что-то я не понял. Т. е. порядок действий такой:
1. Правлю /etc/fstab (временно коменчу строчку /dev/hda3 /usr).
2. Перезагружаюсь (init=/bin/bash)
3. Удаляю /usr.
4. Возвращаю строчку /dev/hda3 /usr.
5. Перезагружаюсь (init=/bin/bash)
Так?

ruslandh
28-02-2007, 09:03
Насколько я помню (давно я последний раз так загружался) , при init=/bin/bash монтируется только корневой раздел (после загрузки - проверьте).


must die
Дело говорит :) Раздел может быть смонтирован и на 2 точки монтирования, тогда /mnt/temp/usr - это точка монтированя - на всякий случай
umount /mnt/temp/usr и
mv /mnt/temp/usr /mnt/temp/usr1

Gangabass
28-02-2007, 09:47
must die
Дело говорит Раздел может быть смонтирован и на 2 точки монтирования, тогда /mnt/temp/usr - это точка монтированя - на всякий случай
umount /mnt/temp/usr и
mv /mnt/temp/usr /mnt/temp/usr1
Ошибка:
mount: /dev/hda2 already mounted or /mnt/tmpusr/ busy

must die
28-02-2007, 09:54
Gangabass


root:/# mount
/dev/hda1 on / type ext3 (rw,errors=remount-ro)
/dev/hda1 on /mnt type ext3 (rw)

ruslandh
28-02-2007, 10:16
root>cd mnt
mkdir tmp
mount /dev/hda1 tmp

Gangabass
28-02-2007, 10:23
must die

Тогда почему у меня не работает?

P. S. Кажется понял. На самом деле у меня примонтирован не /dev/hda2, а /dev/mapper/VolGroup00-LogVol00 (т. е. это LVM)

Gangabass
28-02-2007, 10:35
Разобрался.
Но папка всё равно не хочет удаляться полностью.
# rm -rf /mnt/var/usrtmpmount
выдаёт кучу таких ошибок:
rm: cannot remove `/mnt/var/usrtmpmount//etc/sh.conf' : Operation not permitted
rm: cannot remove `/mnt/var/usrtmpmount//lib/libsh.so/bash' : Permission denied
rm: cannot remove directory `/mnt/var/usrtmpmount//dev' : Device or resource busy

must die
28-02-2007, 10:51
Gangabass


Это меня от простуды так плющит :cry: что я уже ничего не вижу или вы действительно всю инфу с корневого раздела удаляете?
Вы примонтировали раздел в /mnt/var/usrtmpmount? а дальше rm -rf /mnt/var/usrtmpmount?

[mzd]
28-02-2007, 11:01
must die
Или я тоже простыл, или я вижу то же самое.

ruslandh
28-02-2007, 22:59
Похоже Gangabass теперь переставляет систему :(

Gangabass
01-03-2007, 04:54
must die

Это меня вчера плющило (и без простуды) :-)

[mzd]

Думаю, это было временное помешательство :-)

ruslandh

Да, так и было :-). Но у меня на всякий пожарный был снимок системы (сделанный в Acronis), так что я уложился за 15 минут.

Всем спасибо за помощь. Сегодня буду делать вторую попытку удаления /usr со старого раздела.

Gangabass
01-03-2007, 07:33
Всё равно не могу почему-то удалить некоторые файлы.
rm: cannot remove `dir': Operation not permitted
Осталось три папки:
/usr/bin
/usr/lib
/usr/sbin
# cd /mnt/tmpusr/usr/
# ls bin
dir find md5sum pstree top

При этом
# lsattr dir
s----a------- dir

Gangabass
01-03-2007, 07:47
Только написал и сразу же разобрался. Всё дело было в битах -ia. Удалил их и всё заработало!

must die
01-03-2007, 08:06
Gangabass

Бэкап это хорошо :yes:




© OSzone.net 2001-2012