Отделяем /home от корня без перезагрузкиПодписка на Комментарии к "Отделяем /home от корня без перезагрузки"

Аватар zenon

Допустим при установке мы не особо уделили внимание к разметке диска, и установили Linux в один раздел, но место начало заканчиваться, либо просто хотим более правильно разметить диск.
Первое что необходимо сделать это конечно же отделить домашний каталог - /home, рассмотрим как это сделать:
Смотрим /etc/fstab нас интересует куда смонтирован корень системы (/) - пусть будет /dev/sda1.
Далее нам необходимо подготовить раздел для будущего домашнего каталог (/home), как это сделать заострять внимание не буду - пользуйтесь fdisk, cfdisk, gparted.
Подготовили пусть это будет - /dev/sda2 - на самом деле если в системе два жестких диска лучше /home разместить на другом, общая отзывчивость системы будет лучше.
Но остановимся на том что есть.

  • Итак: / = /dev/sad1 задача отделить /home не прибегая к live дистрибутивам.
  • Создадим временную точку монтирования для переноса текущего содержимого /home:
    $ mkdir /mnt/tmp
    Монтируем будущий /home:
    $ mount /dev/sda2 /mnt/tmp
    Теперь надо скопировать наш текущий каталог /home в подготовленный раздел, сделать это лучше всего при помощи rsync (если не стоит - aptitude install rsync)
    Синхронизируем:

    $ cd /home
    $ rsync -pavv --delete --progress ./ /mnt/tmp

    Обращаю внимание - cd /home - переместиться в каталог обязательно надо иначе не правильно отработает rsync.
    Отмонтируем /mnt/tmp и подменяем наш каталог /home новым разделом:
    $ umount /mnt/tmp
    $ mount /dev/sda2 /home

    И тут у нас один нюанс, - каталог то мы подменили разделом, но старые данные в подмененном каталоге остались, и нам необходимо их удалить, иначе зачем все затевалось - неправда ли?
    Итак монтируем наш корень в /mnt/tmp с опцией bind:
    $ mount --bind /dev/sda1 /mnt/tmp
    Теперь можем увидеть наш старый /home в каталоге /mnt/tmp/home, его то нам и надо теперь очистить, после чего можно отмонтировать /mnt/tmp.
    Вот и все.
    Как бы ни так: про fstab забыли?
    Редактируем его:
    $ nano /etc/fstab
    Примерно было так (привожу только интересующие нас строки):
    ...
    /dev/sda1  /              ext4   defaults    0 1
    ...

    Пропишем наш новый /home:
    ...
    /dev/sda1  /              ext4   defaults    0 1
    /dev/sda2  /home          ext4   defaults    0 1
    ...

    Вот теперь можно смело перезагружаться.
    Подобным способом можно отделить /usr, /var и т.д.
    Для копирования не обязательно использовать rsync, можно tar, cp главное чтобы права на содержимое сохранились.
    Похожие материалы:
    Аватар anonym

    >Обращаю внимание - cd /home - переместится
    Таки тЬся, смысл теряется!!!
    tsya.ru

    Добавить комментарий