У меня есть записная книжка Google Cr-48. SSD имеет только 6 ГБ, которые мне удобно выделять для Ubuntu. Мне нужно переместить / usr на внешний жесткий диск. Я также перенесу мой / Home в другой раздел на диске. Я собираюсь указать требования, которым я должен соответствовать.
Я хочу знать, можно ли это сделать и как это можно сделать подробно. Я пробовал это много раз. Каждый раз что-то новое выходило из строя.
Я прошу помощи в том, как что-то сделать, я не хочу, чтобы кто-то говорил: «перемещение каталога / usr - плохая идея» или что-то в этом роде. Если бы у меня был другой вариант, с которым мне было бы удобно, я бы не задавал этот вопрос.
Любая помощь, которую кто-либо может оказать, будет принята с благодарностью. Я предоставлю более подробную информацию в будущем, если требуется / требуется. Прошу прощения за мой пессимизм, но после 5 переустановок мое терпение немного истощается.
Спасибо!
Прочтите, пожалуйста, мой ответ на ваш предыдущий вопрос - , как восстановиться после монтирования / usr / nosuid - перемещение /usr
в смонтированный раздел не только «плохая идея», но и приведет к тихие сбои, если вы также не изменили свой образ initrd, поскольку ожидается, что / usr будет доступен во время процесса начальной загрузки до монтирования любых некорневых разделов.
Кроме того, нет больших проблем с перемещением /usr
- все, что вам нужно сделать, это
mount /dev/sdb1 /usr
(где / dev / sdb - это ваш «отдельный раздел») Вот и все, теперь вы должны использовать новый / usr. Обратите внимание, что файлы в корневом разделе / usr не удаляются - для этого может потребоваться некоторая хитрость, потому что / usr неизбежно становится недоступным на мгновение, но все необходимые команды находятся в / bin, так что похоже, что он может работать. На самом деле, я попытался смонтировать / usr в отдельный раздел на одноразовом экземпляре Virtualbox, и он работал нормально:
mkdir /usr.new
mount /dev/sdb1 /usr.new
cp -rp /usr/* /usr.new/
umount /usr.new
nano /etc/fstab # added a line /dev/sdb1 /usr ext3 relatime,errors=remount-ro 0 0
mv /usr /usr.old
mkdir /usr
mount /usr
rm -rf /usr.old
sync # flush disk caches just in case it hangs up during the shutdown
reboot
И это должно быть!
В моем тестовом окне я не обнаружил проблем с ошибками правил usev, но опять же - это экземпляр Virtualbox, YMMV.
ОБНОВЛЕНИЕ: Я обнаружил, что sudo перестал работать на этом ящике, жалуясь на то, что бит suid не установлен - это было вызвано тем, что я использовал cp -r
вместо cp -rp
, как было предложено в комментарии