Я использую Ubuntu Server 20.04 и имею доступ к удаленному серверу через SSH.
Мне нужно больше места в корневой файловой системе, поэтому я сделал копию каталога / var
на другом разделе.Затем я добавил в свой / etc / fstab
, чтобы он монтировал новый / dev / sdX2
поверх старого / var
.
Все в порядке ... df -h / var
указывает, что используется только что смонтированная версия.
Однако теперь я не могу удалить оригинал, чтобы освободить место, которое мне так нужно. Если я запустил mount --bind / / mnt / root
, а затем попробую сделать что-нибудь, например mv / mnt / root / var /mnt/root/var.old
, я get: mv: невозможно переместить 'var' в 'var.old': устройство или ресурс занят
.
Поскольку это действительно доступно только через SSH, я не могу войти в однопользовательский режим.
Итак, единственное, что я могу придумать, - это сценарий, который переместит исходный каталог / var
в /var.old
, а затем, как только я смогу посмотрите, все работает правильно, удалите раз и навсегда.
Основная проблема заключается в том, что этот сценарий должен будет загрузить до того, как fstab
или что-либо подключится к var
, и я даже не уверен, что это возможно?
Есть другие идеи?
Ваша команда монтирования не подходит. Вы должны называть устройство дисковода, а не корневой символ, т.е.
sudo mount /dev/sdZX /mnt/root
sudo mv /mnt/root/var /mnt/root/var.old
sudo umount /mnt/root
Вы не можете mv
или rm
папка / mnt / root / var
, поскольку / var
используется в качестве точки монтирования для вашего нового раздела. Вместо этого mv
это содержимое:
mkdir /var.old
mount --bind / /mnt/root
mv /mnt/root/var/"*" /mnt/root/var.old/
umount /mnt/root
Убедившись, что все работает нормально, вы можете удалить /var.old
rm -r /var.old