2

У меня установлена Ubuntu 12.04 на машине с двумя жесткими дисками, /dev/sda и /dev/sdb . /dev/sdb2 монтируется на / . Я хотел бы переместить /usr на второй жесткий диск, так как он очень быстрый (но маленький). Как я могу (безопасно!) сделай это?

Спасибо Ноа

1 ответ1

2

Шаг 1: Сделайте резервную копию.

Шаг 2: Следуйте этому ответу на Askubuntu.

Было бы безопаснее использовать Live CD, но вы могли бы сделать:

  • Скопируйте все файлы в новый раздел, убедившись, что содержимое /usr не меняется, пока вы это делаете.
  • отредактируйте /etc/fstab так, чтобы /usr был смонтирован при следующей перезагрузке
  • перезагружать
  • удалить старые файлы

Смотрите ниже подробности о каждом шаге.

Обратите внимание, что вы не можете смонтировать новый раздел в /usr во время работы, так как в /usr будет много открытых файлов.

Копирование файлов

Я бы использовал cp -a . -a это опция архива. Со страницы руководства:

-a, --archive
          same as -dR --preserve=all
...
-d     same as --no-dereference --preserve=links
...
-P, --no-dereference
          never follow symbolic links in SOURCE
...
--preserve[=ATTR_LIST]
          preserve      the      specified      attributes       (default:
          mode,ownership,timestamps),  if  possible additional attributes:
          context, links, xattr, all
...
-R, -r, --recursive
          copy directories recursively

Редактирование /etc /fstab

Вам нужно знать UUID вашего нового раздела. Вы можете увидеть отображение, выполнив:

$ ls -l /dev/disk/by-uuid/

А затем добавьте эту строку в /etc/fstab:

UUID=634c31a5-e27c-4e33-ac67-2e22491a30c2 /usr           ext4    defaults        0       2

Измените UUID на свой UUID, и измените ext4 на тип используемой вами файловой системы - вы должны знать об этом, если вы настроили раздел.

Удалить старые файлы

После перезагрузки старые файлы в /usr в корневом разделе будут скрыты новым разделом, смонтированным в /usr . Но мы можем использовать некоторую хитрость при монтировании, чтобы добраться до старых файлов, а затем удалить их.

$ sudo mount --bind / /mnt
$ sudo rm -rf /mnt/usr
$ sudo umount /mnt

Но некоторый незначительный опечатка (скажем, нажатие клавиши Enter, когда вы вводите только sudo rm -rf /mnt ) может привести к катастрофе, поэтому я бы использовал этот метод только в том случае, если вы очень уверены в том, что делаете, на самом деле не можете с этим справиться любое время простоя или не имел физического доступа к машине и, следовательно, не мог загрузиться с живого CD или живого USB-накопителя.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .