Перенесення розділу / home

Багато новачків спочатку вибирають найпростішу схему розміщення, коли все дерево знаходиться на одному (кореневому) розділі жорсткого диска Незважаючи на первісну простоту, така схема має і свої недоліки Наприклад, у міру установки нових програм і заповнення даними каталогів користувачів може статися так, що жорсткий диск заповниться Тому в один прекрасний момент ви просто не зможете зареєструватися в системі, так як ніде буде створити тимчасовий файл

ПРИМІТКА

Деякі програми, серед яких і видеоподсистема X Window, використовують для обміну даними спеціальні файли FIFO або сокети (про них трохи далі) Якщо їх не буде де створювати, то програма просто не запуститься

У міру наповнення файлу або з появою досвіду виникає питання, як перенести на інший розділ деякі дані і змінити точку монтування На користувальницьких системах найчастіше виносять на окремий розділ каталог / home Нічого складного в цьому немає Але просте копіювання командою ср-R каталогів дасть непередбачуваний результат, і все через те, що крім звичайних файлів всередині можуть бути спеціальні файли або посилання Однак команда ср має спеціальні ключі, які дозволяють перенести дані з усіма атрибутами, включаючи права доступу до файлу

Для прикладу перенесемо розділ / home в розділ / dev/sda5 Створення та форматування файлової системи і подробиці роботи з командою mount ми розглянемо далі в цьому розділі, поки обмежимося командами

Створюємо каталог, в який змонтуємо / dev/sda5:

$ sudo mkdir /mnt/home

Монтуємо / dev/sda5 в / mnt / home:

$ sudo mount /dev/sda5 /mnt/home

Тепер копіюємо файли з каталогу / home в / mnt / home Це можна зробити або використовуючи команду ср, або попередньо створивши архів

$ Sudo ср-a / home / mnt / home

Ключ-а (- archive) при копіюванні по можливості зберігає структуру і атрибути вихідних файлів Правда, в описі зазначено, що він не зобовязаний зберігати структуру каталогів, але зазвичай з цим проблем немає Аналогічно можна перенести і всю файлову систему, для цього слід в якості вихідного каталогу вказати кореневої, тобто «/» Але якщо на компютері знаходиться декілька

дисків, може бути корисний параметр-х або-one file-system, який дозволяє обмежити роботу ср в межах однієї файлової системи, тобто щоб вона «Не перескочила» на інший диск Але існує один момент, про який потрібно знати Сьогодні є кілька варіантів і версій команди ср, які підтримують свої специфікації Так, параметр-а відноситься до версії ср, пропонованої проектом GNU (http://wwwgnuorg/)

ПРИМІТКА

Як я вже згадував, назва проекту GNU походить від рекурсивного акроніма GNUs Not Unix («GNU НЕ Unix»), його завданням є розробка вільної UNIX-подібної операційної системи В даний час розроблено велику кількість утиліт, але ядро ​​GNU / Hurd ще не готове (хоча воно розробляється

з 1990 р і вже нормально функціонує) Зараз GNU з успіхом замінює GNU / Linux, в якому використовуються утиліти проекту GNU і ядро ​​Linux

Хоча в Linux використовується як раз варіант ср і тому проблем не виникає, але при роботі в інших UNIX-подібних системах до них потрібно бути готовим В принципі, замість параметра-а можна використовувати – dpR

$ Sudo ср-dpR / home / mnt / home

Ще одним варіантом є використання архіватора tar, який може бути корисним при створенні резервної копії розділу або перенесення його в іншу систему, так як він уміє зберігати оригінальні атрибути

У нашому випадку команда виглядає таким чином:

$ sudo (cd /home &amp&amp tar cf — ) | (cd /mnt/home &amp&amp tar xpvf -)

Іншими словами, ми створили архів tar каталогу / home (параметр з, від англ Create «створити») Але замість того, щоб створити файл, передавши висновок команди іншої копії tar, ми фактично розпакували архів, розмістивши файли на своїх місцях (параметр х – призначений для розпакування архіву (від англ eXtract – «витягти») Параметр-р дозволяє встановити потрібні права на файли, витягнуті з архіву

При необхідності команди можна розділити і стиснути архів за допомогою програми gunzip (або bzip2) Створимо архів:

$ cd /home sudo tar czf hometarbz

і разархивируем:

$ cd /mnt/home sudo tar xzf hometarbz

Тепер, коли файли знаходяться на своєму місці, змонтуємо розділ в / home:

$ sudo mount /dev/sda5 /home

Деякий час тестуємо Якщо все працює нормально, додаємо нову точку монтування в файл / etc / fstab, щоб розділ монтувався автоматично при

завантаженні системи (докладніше про команду mount і файлі fstab поговоримо далі)

І не забуваємо видалити старі файли з кореневого розділу, адже вони фактично залишилися на диску Размонтіруем, якщо потрібно, розділ, щоб випадково не видалити скопійовані файли:

$ sudo umount /dev/sda5

Тепер видаляємо непотрібні файли:

$ sudo rm -Rf /home/*

Диск почищений, монтуємо / dev/sda5 і працюємо

У результаті ми отримали деякі відомості про призначення основних каталогів Такий підхід має більшу гнучкість, оскільки можна все дерево каталогів розмістити на одному розділі жорсткого диска або рознести їх по різних розділах одного або декількох жорстких дисків або навіть мережевих ресурсів Заміна або додавання носія ніяк не позначиться на алгоритмі роботи системи і залишиться повністю прозорою для користувача

Джерело: Яремчук С А Linux Mint на 100% – СПб: Питер, 2011 – 240 е: ил – (Серія «На 100%»)

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*