Налаштування linux - перенесення на інший диск
Часто буває потрібно вже налаштовану операційну систему Linux перенести на інший диск разом з усіма рюшечками, бубонцями і свистульки. Перенести Linux з одного диска на інший досить просто, але тут є кілька моментів, чому дана записка дебіанщіка і присвячена.
Геометрія дисків джерела і приймача збігається.
Якщо геометрія жорсткого диска з Linux і нового диска однакова (новий вінчестер на комп'ютері точно такий же), то можна використовувати наш улюблений старий-добрий dd.
Для цього залогініваемся як root (чи використовуємо sudo) і пишемо в консолі:
Різна геометрія дисків джерела і приймача.
Це призведе до того, що попередній варіант буде неефективний і нам терміново потрібен інноваційний прорив. На щастя, це зажадає лише кілька простих рухів тіла, так що ми зараз прорвемося і відчайдушно ворвёмся в наше світле лінуксових щастя.
1. Розмітка вінчестера і створення файлової системи.
Для створення таблиці розділів в Linux використовуємо команду cfdisk (є докладний опис по розмітці дисків в Linux):
cfdisk / dev / sdb Натискаємо на New, створити розділ. Вибираємо Primary (основний), коли він створиться, натискаємо Bootable (якщо потрібно, щоб він був завантажений). Після цього треба відформатувати розділ (наприклад, в надійну і стабільну файлову систему EXT3):
sudo mkfs -t ext3 / dev / sdb1 Якщо ж вам потрібно перекроїти розділи, скажімо, для установки Windows і Linux на одній машині, найкраще скористатися Live CD Gparted. Тепер можна починати копіювати файли з одного диска на інший.
2. Перенесення Linux на інший диск або розділ.
Наприклад, диск-джерело, на якому зберігаються всі файли, це / media / debian - туди примонтовано IMG-образ системи, яку потрібно залити на свіжий розділ. Тепер монтуємо диск-приймач куди-небудь в тихому місці (щоб дані рекурсивно не копіювались), наприклад в порожній в Debian каталог / srv
mount -t auto / dev / sdb1 / srv
Переходимо в каталог / media / debian / і, перебуваючи в цьому каталозі, вводимо довгу команду в один рядок:
cp -a bin / boot / etc / home / lib / opt / root / sbin / tmp / usr / var / / srv
Тут сірим виділені опціональні каталоги / home і / tmp. скопіювати їх можна, якщо вони вам потрібні (наприклад, можна захотіти зробити нового користувача в новій системі).
3. Досоздаем каталоги: / dev / proc / srv / sys / mnt
Копіювати ці каталоги НЕ ТРЕБА, замість це досоздаём порожні каталоги для них - це все псевдо-файлові системи (крім / mnt природно).
Так само варто поміняти / srv / etc / fstab на предмет монтування кореневого каталогу - якщо новий диск буде визначений як / dev / sda1, а в fstab буде вказано / dev / hda1, ядро цього не зрадіє і не завантажиться (що не страшно при використанні завантажувача grub). Так само вносимо зміни в / srv / etc / fstab нової системи на предмет підключення swap-розділів або файлів. Наприклад, якщо новий своп-розділ буде знаходитися на другому розділі нової системи, пишемо:
Після цього залишилося тільки встановити завантажувач Linux.
4. Встановлення завантажувача Linux.
Це досить просто зробити, завантажившись хоча б з Knoppix. Наприклад, при використанні завантажувача GRUB даємо команду:
/ Sbin / grub-install --root-directory = / srv --recheck / dev / sdb
Тут / dev / sdb це диск-приймач (на який копіюємо систему). Так само можна встановити завантажувач за допомогою chroot:
chroot / srv grub-install / dev / sdb
Зразки конфігов, якими можна і потрібно скористатися, повинні бути на диску-джерелі. У загальних рисах процес закінчений - можна спробувати завантажитися з нової системи і навести фінальний марафет - наприклад, додати нових користувачів.
Додаємо, міняємо і видаляємо Linux-користувачів в новій системі
Для цього залогініваемся root-ом і починаємо боротьбу з користувачами.
useradd - д одати нового користувача
- -d домашній каталог
- -s задати стартову оболонку (/ bin / sh)
- -p пароль
- -g основна група, до якої приписується користувач
- -G інші групи до якої приписується користувач
- -m створити для користувача домашній каталог
userdel - видалити користувача
- -r видалити користувача разом з домашнім каталогом
- -d домашній каталог
- -s задати стартову оболонку (/ bin / sh)
- -p пароль
- -g основна група, до якої приписується користувач
- -G інші групи до якої приписується користувач
passwd - модифікувати пароль користувача
- користувач (для зміни пароля користувача ім'я користувача)
Весь процес перенесення системи займає від півгодини до години включаючи перекури.
Так само представляє інтерес метод з LVM, привнесений в процесі дискусії ув.тов.Анонімусом:
1) Створити LVM розділ на новому вінчестері (fdisk).
2) Включити його в vg групу (vgextend).
3) Перемістити все PE зі старого вінчестера на новий (pvmove).
4) Видалити розділи на старому вінчестері з vg групи (vgreduce).