Встановлення Linux на флешку

Повноцінна операційна система на невеликому зовнішньому носії – це дуже зручно. Ви можете запустити систему практично на будь-якому комп'ютері, а також завжди мати під рукою всі ваші файли і дані, і вам більше не потрібно тримати на основному диску велику кількість систем.

Саме з цих причин багато користувачів комп'ютера цікавляться як виконується установка Linux на флешку, чи це можливо, і якщо можливо, то як все правильно реалізувати. У цій статті ми спробуємо відповісти на такі запитання. А також докладно розберемо процес встановлення на флешку для одного з найпопулярніших дистрибутивів – Ubuntu.

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

Енергонезалежна флеш-пам'ять має один істотний недолік - це обмежена кількість перезаписів одного осередку з даними. Обмежень на кількість читань даних немає, та й обмеження на запис дуже значні – десятки мільйонів разів. Для використання флешок за призначенням це не критично, оскільки частота запису не дуже велика і флешки вистачає надовго.

Але коли ви встановлюєте систему на флешку, ядро, файлова система, програми постійно зберігають свої тимчасові файли, постійно працюють з даними і щось записують на диск, ще ситуацію ускладнює журналування файлової системи, оскільки воно вносить дані про будь-яку зміну файлів в журнал, що ще більше збільшує кількість перезаписів блоків флешки.

Ви можете сказати, що існують SSD, отримані за тією ж технологією, що використовуються на комп'ютерах. Але все не зовсім так, SSD розраховані на таке навантаження, тому що мають ліміт перезаписів у кілька мільярдів, а також можливість гарячої заміни блоків, що вже вийшли з ладу, на резервні.

Тому коли ви погоджуєтесь на встановлення операційної системи на флешку, ви повинні розуміти, що флешка пропрацює набагато менше, ніж могла б. Але не все так погано, можна виконати деякі оптимізації, які змусять систему написати менше інформації на диск. Якщо ви погоджуєтесь з ризиком, то далі ми розглянемо як встановити Linux на флешку.

Встановлення Linux на флешку

Операційна система Linux дозволяє користувачеві зробити все, що йому потрібно, і якщо ви хочете Linux на флешці, то і це теж можна. Нам навіть не доведеться вдаватися до якихось спеціальних інструментів.

Розглядатимемо весь процес на прикладі Ubuntu і все буде зроблено за допомогою офіційного установника. Нас не цікавитиме звичайний запис образу на диск чи робота з оперативної пам'яті. Насамкінець ми отримаємо саме повноцінну операційну систему на флешці.

Спочатку все робите як завжди, виберіть мову, налаштування програмного забезпечення та оновлень. Відмінність починається на етапі розмітки дисків. Тут потрібно вибрати ручний варіант, тому що автоматична розмітка не дозволяє зробити те, що нам потрібно.

Тут буде одне зауваження, потрібно, щоб система не була завантажена з тієї флешки, на яку ви збираєтеся її встановлювати, інакше встановити ubuntu на флешку ви не зможете. Тобто, крім установника, до системи має бути підключена ще одна чиста флешка. Якщо все було зроблено правильно, то, крім основного диска /dev/sda, у вікні розмітки з'явиться флешка /dev/sdb:

Для флешки буде вказано її розмір, мітка диска, а також швидше за все на ній буде тільки один розділ. Цей розділ потрібно видалити, щоб отримати вільне місце.

Перший розділ потрібно створювати із файловою системою FAT32 і саме першим, щоб із ним могла працювати Windows. Наприклад, якщо у вас флешка розміром 16 Гб, 5-4 Гб можна віддати під дані. Крапка монтування для цього розділу - /home:

Другий розділ застосовується для системних файлів, тут нам потрібно щонайменше вісім гагабайт. Файлову систему краще взяти Btrfs, оскільки нам не потрібна журнальна ext4, а у btrfs є стиск та оптимізація для ssd. Як точку монтування вкажіть /:

Остання дія на цьому кроці майстра - вкажіть пристрій для завантажувача, це має бути та сама флешка, на яку ви встановлюєте систему.

Оптимізація Ubuntu для роботи на флешці

Установка Ubuntu на флешку завершена, але тепер нам залишилося змусити працювати її так, щоб щонайменше записувати дані на диск. Все це потрібно робити у вже встановленій системі.

Більшість налаштувань будуть проводитися у файлі /etc/fstab, спочатку включимо стиск усіх файлів та оптимізацію для ssd у btrfs, яка використана як корінь. Для кореня ми використовували розділ /dev/sdb2, оскільки /dev/sdb1 ми використовували для /home:

/dev/sdb1 / btrfs errors=remount-ro,noatime,nodiratime,compress=lzo,ssd,commit=60 0 1

Можливо, у вас диски в fstab будуть іменуватися по UUID, тоді вам доведеться знайти запис, в якому вказана точка монтування / та файлова система btfs, а тому вже її змінювати. Розглянемо опції:

  • errors=remount-ro- перемонтувати лише для читання під час помилок;
  • noatime- не оновлювати час доступу до файлів;
  • nodiratime- не оновлювати час доступу до папок;
  • compress=lzo- використовувати стиснення lzo, це найшвидший алгоритм zlib дає більший ступінь стиснення, але працює довше;
  • commit=60- за замовчуванням файлова система записує всю інформацію про зміни файлів кожні 30 секунд на диск, але за допомогою цього параметра можна вказати значення, але не більше 300;
  • ssd- Набір оптимізації для твердотільних накопичувачів.

Деякі папки, в які найчастіше записуються тимчасові файли системи, можна перемістити в оперативну пам'ять, для цього в кінець файлу /etc/fstab додайте рядки:

tmpfs /tmp tmpfs rw,size=100m 0 0
tmpfs /run tmpfs rw 0 0
tmpfs /var/lock tmpfs rw 0 0
tmpfs /var/log tmpfs rw,size=10m 0 0

Ядро не пише відразу дані на диск, а кешує їх у пам'яті, а записує коли диск не буде завантажений або їх більше не можна буде зберігати у пам'яті. Для налаштування параметрів скидання даних на диск використовуються файли /proc/sys/vm/. Наведені нижче параметри зменшують кількість записів, за рахунок збільшення споживання оперативної пам'яті.

Максимальний час між записами даних на диск:

sudo sysctl -w vm.laptop_mode=120
$ sudo sysctl -w vm.dirty_writeback_centisecs=12000
$ sudo sysctl -w vm.dirty_expire_centisecs=12000

Максимальна кількість пам'яті для кешу у відсотках:

sudo sysctl -w vm.dirty_ratio=10

Записувати дані на диск, коли вільно тільки % пам'яті:

sudo sysctl -w vm.dirty_background_ratio=1

Після цих налаштувань установка ubuntu на флешку завершена, система більш-менш готова для використання на флешці і не буде так сильно шкодити. Але все одно не забувайте час від часу робити резервні копії важливих даних, тому що все може зламатися в самий невідповідний момент.

Поділитися