•  unsoreh-light

Альпійська

Pine, Alpine linux на основі OSTree

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

Мої сервери є домашні тваринитому я в порядку вручну, періодично видаючи кілька команд, і не вимагаю повної автоматизації.

Після випробування CoreOS протягом року я перейшов на власне спрощене дистрибутив на основі альпійського і ostree.

Цілі

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

Цілі

В яких середовищах буде працювати система? Я націлився ОВЗ і [KVM], але загалом можна сказати контейнери та віртуальні машини з основною відмінністю в тому, що контейнери не запускають власне ядро, зокрема вони не мають процесу завантаження, вони викликають безпосередньо у у цьому системи (яка, наприклад, у aDockerfile це буде визначеноCMD абоENTRYPOINT оператори), який відповідає за управління деревом процесів, які будуть підтримувати роботу контейнера (так само, як звичайний сеанс, якщо процес ініціалізації вмирає, контейнер припиняється). Також контейнери не можуть налаштовувати системні регулятори і можуть мати додаткові обмеження щодо можливостей.

Розділення процесу збірки

Як будується образ?

Залежності

Файлprepare.sh скрипт обробляє залежності, більшість з яких є пакетами, які пропонують загальні інструменти cli, такі якcoreutils, util-linux, binutils , утиліти для роботи з блоковими пристроями на кшталтblkid, sfdisk, multipath-tools та файлові системи зxfsprogs таe2fsprogs . Файлsquashfs-tools пакет використовується в кінці для стиснення вбудованої кореневої файлової системи. А.glib Пакет сумісності також встановлюється за замовчуванням, оскільки alpine базується наmusl, пакет сумісності працює, надаючи деякі бібліотеки, створені на основі.

Дерево

Файлові дерева для віртуальних машин та контейнерів будуються відповідноmake.sh таmake_ovz.sh . Це спрощений опис кроків

Для контейнерів послідовність однакова, але конфігурація змінюється, оскільки система не завантажується з a завантажувач ostree має проблеми з перевіркою навколишнього середовища, ми маємо їх застосувати обхідні шляхи та налаштуйте деякі пристрої, якими зазвичай керує initramfs крок. Ось як ОВЗ або LXC шаблони налаштовані.

Упаковка

Після того, як у нас є дерево фіксованих файлів ostreebuild.sh абоbuild-update.sh піклується про створення артефакту, який буде розповсюджуватися. Різниця між сценаріями полягає в тому, що версія оновлення починається з попереднього сховища ostree, і також виробляє дельта -артефакт, який працює система може застосувати до свого екземпляра ostree для виконання оновлення. Це спрощений опис етапів складання

Конфігурація розділів застосовується за допомогою fdisklayout.cfg файл, який визначає розміри розділів, у нас є один розділ для rootfs (~430M ), завантажувальний розділ (~40M ) і розділ підкачки (~40M ). З контейнерами, просто пропустіть монтаж попередньої збірки на циклічному пристрої, і просто перетягніть нову комісію ostree над старим (вилученим) сховищем ostree.

Налаштування

Що я збираю у цьому зображенні (окрім встановлених пакетів)?

Те, що було раніше і більше не є

Встановлення

Щоб встановити образ, ви можете завантажити його до постачальника хостингу та встановити з VNC, у випадку віртуальних машин, але я зазвичай викрадаю наявну інсталяцію, тому що це завжди можливо, а також протягом тривалого часу, коли я перевіряв сценарій налаштування щодо версії дистрибутив linux, як правило, я використовую debian-8 або ubuntu-14, не перевіряв інших, оскільки вони завжди вважалися доступними. Крок налаштування наступний

Висновки

я зробив сосна 5 years from time of writing and I am still using it, and I see no reasons to switch to anything else. Alpine as a linux distro is great, simple, and I have never experienced breakage. I can easily deploy on NATED сервери, які, як правило, пропонують наднизькі ресурси, насправді у мене просто працює коробка64M оперативної пам’яті та все ще мають усі необхідні функції.

[1]коренева файлова система

Теги дописів: