B.2. Використання автоматичної установки

  1. B.2.1. Завантаження файлу відповідей
  2. B.2.2. Використання параметрів завантаження для автоматизації
  3. B.2.3. Автоматичний режим
  4. B.2.4. Корисні в автоматизації псевдоніми
  5. B.2.5. Використання сервера DHCP для зазначення файлів автоматичної конфігурації

По-перше, потрібно створити файл відповідей і зробити його доступним для використання. Створення файлу відповідей описується пізніше в цьому додатку. Розмістити його в потрібному місці досить просто для мережевої автоматичної установки і при читанні файлу з дискети або usb-носія. Якщо потрібно включити цей файл на CD або DVD, то доведеться оновлювати ISO образ. Тут не буде описано як помістити файл відповідей в initrd; зверніться до документації розробника debian-installer.

Приклад файлу відповідей, який можна взяти за основу доступний тут http://www.debian.org/releases/stretch/example-preseed.txt . Даний файл заснований на фрагментах конфігурації, включених в цей додаток.

B.2.1. Завантаження файлу відповідей

Якщо використовується метод initrd, то потрібно переконатися, що файл з ім'ям preseed.cfg лежить в кореневому каталозі initrd. Програма установки автоматично перевіряє наявність цього файлу і завантажує його.

Для інших методів автоматичної установки потрібно вказати при завантаженні програми установки який файл використовувати при завантаженні. Це можна зробити через параметр завантаження ядра, вручну під час завантаження або змінивши файл настройки системного завантажувача (наприклад, syslinux.cfg) і додати параметр в кінець рядка append для ядра.

Якщо ви вказуєте файл відповідей в налаштуванні системного завантажувача, то можна змінити конфігурацію таким чином, щоб не натискати клавішу введення для завантаження програми установки. Для syslinux це досягається установкою timeout рівним 1 у файлі syslinux.cfg.

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

Зауважимо, що preseed / url можна вкоротити до url, preseed / file - до file, а preseed / file / checksum - од preseed-md5, якщо вони передаються в параметрах завантаження.

B.2.2. Використання параметрів завантаження для автоматизації

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

Параметри завантаження також можна використовувати не тільки для автоматизації установки, а просто для того, щоб вказати відповідь на певний питання. Кілька прикладів такого використання є в різних місцях цього керівництва.

Щоб встановити значення, яке використовується всередині debian-installer, просто вкажіть шлях / до / змінна = значення для будь-якої автоматизируемой змінної, описаної в прикладах в цьому додатку. Якщо значення буде використовуватися для налаштування пакетів в встановлюваної системі, то потрібно перед змінної вказувати власник, наприклад, власник: шлях / до / змінної = значення. Якщо ви не вказуєте власника, то значення змінної не копіюється в базу даних debconf встановлюваної системи і тому не буде використовуватися під час налаштування відповідного пакета.

Зазвичай, автоматизація відповідей призводить до того, що питання поставлено не буде. Щоб встановити для питання відповідь за замовчуванням і залишити питання задається, використовуйте в якості оператора замість. Дивіться також Розділ B.5.2, «Використання автоматичної установки для зміни значень за замовчуванням» .

Зауважимо, що для деяких змінних, які часто задаються в запрошенні завантажувача, є короткі назви. Якщо є коротка назва, то воно використовується в прикладах в цьому додатку замість повного імені змінної. Наприклад, змінна preseed / url скорочується до url. Ще приклад: псевдонім tasks розкривається в tasksel: tasksel / first.

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

По-перше, потрібно створити файл відповідей і зробити його доступним для використання

Примітка

В даний час ядра linux версії (2.6.9 і новіше) максимально можуть прийняти 32 параметра в командному рядку і 32 параметра через змінні оточення, вважаючи всі параметри, що додаються програмою установки за замовчуванням. Якщо це число перевищено, то ядро ​​припиняє роботу з помилкою. (Для ранніх версій ядер ці значення менше.)

У більшості установок деякі параметри за замовчуванням в файлі конфігурації завантажувача, типу vga = normal, можна безпечно видалити, що може дозволити вам додати більше параметрів автоматизації.

У більшості установок деякі параметри за замовчуванням в файлі конфігурації завантажувача, типу vga = normal, можна безпечно видалити, що може дозволити вам додати більше параметрів автоматизації

Примітка

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

B.2.3. Автоматичний режим

Є кілька можливостей програми установки Debian, об'єднавши які за допомогою простих команд в запрошенні до завантаження, можна отримати автоматичну установку будь-якого рівня настраиваемости.

Це включається за допомогою вибору Automated install при завантаженні, також званому auto для деяких архітектур або методів завантаження. В цьому розділі auto означає не параметр, а вибір методу завантаження і додається в завантажувальні параметри в запрошенні до завантаження.

Ось один із прикладів використання налаштувань в запрошенні до завантаження:

В цьому випадку для установки згідно з отриманими налаштувань з DHCP сервера буде знайдена машина autoserver із записів DNS, можливо до імені буде додано ім'я локального домену, якщо він передається в DHCP. Якщо в мережі використовується доменне ім'я example.com, і цей домен передається по DHCP, то в результаті файл з відповідями буде отримано з http://autoserver.example.com/di/stretch/./preseed.cfg.

Остання частина цього url (di / stretch /./ preseed.cfg) береться з auto-install / defaultroot. За замовчуванням в нього включений каталог stretch, щоб для майбутніх версій можна було задати свою назву, що дозволить людям контролювати процес переходу на нову версію. Частина /./ використовується для вказівки кореня, щодо якого будуть задані інші шляхи (для використання в preseed / include і preseed / run). Це дозволяє вказувати файли з повним URL (шляху, що починаються з /) або навіть шляху щодо місця, де був знайдений останній файл відповідей. Це може бути використано для написання більш стерпних сценаріїв, для того щоб повне дерево сценаріїв можна було перемістити в нове місце нічого при цьому не зламавши, наприклад скопіювати файли на USB-носій, якщо раніше вони бралися з веб-сервера. Продовжуючи приклад, якщо у файлі відповідей значення preseed / run замінити на /scripts/late_command.sh, то файл буде отримано з http://autoserver.example.com/di/stretch/./scripts/late_command.sh.

Якщо в мережі немає локальних серверів DHCP або DNS, або, якщо ви не хочете використовувати шляхи за замовчуванням до preseed.cfg, то ви все ще можете явно задати url, і, якщо ви не використовуєте елемент /./, то це буде початком шляху (третій / в URL). Ось приклад, для якого потрібна мінімальна підтримка служб в локальній мережі:

Це працює так:

  • якщо в URL не вказано протокол, то використовується http,

  • якщо в імені машини немає точок, то буде доданий домен, отриманий по DHCP, і

  • якщо немає / після імені машини, то додається шлях за замовчуванням.

Також, крім вказівки url, ви можете задати налаштування, які не впливають безпосередньо на поведінку самого debian-installer, але будуть передані в усі сценарії, задані задані за допомогою preseed / run в завантаженому файлі відповідей. На даний момент, як приклад використання, є тільки auto-install / classes з псевдонімом classes. Це можна використовувати так:

classes, наприклад, може означати тип встановлюваної системи або використовувану локалізацію.

Природно, можна розширити цю концепцію, і якщо ви це робите, має сенс задіяти простір імен auto-install. Це може виглядати як auto-install / style, що потім буде використано в ваших сценаріях. Якщо ви думаєте, що вам це потрібно, напишіть в список розсилки < [email protected] >, Для того щоб ми змогли уникнути конфлікту імен, і можливо, додали псевдоніми для ваших параметрів.

Вибір завантаження auto поки визначений не для всіх архітектур. Такий же ефект можна отримати просто додавши два параметра auto = true priority = critical в командному рядку параметрів ядра. Параметр ядра auto - це псевдонім для auto-install / enable і установка його в trueзадержівает видачу питань про локалі і клавіатурі, щоб була можливість налаштувати їх автоматично, а priority є псевдонімом для debconf / priority, і установка в значення critical змушує програму установки не ставити питання з меншим рівнем важливості.

Для автоматизації з використанням DHCP можуть стати в нагоді такі додаткові параметри: interface = auto netcfg / dhcp_timeout = 60, буде обрана перша робоча мережева карта, відповідь на DHCP запит буде очікуватися більше ніж зазвичай.

Для автоматизації з використанням DHCP можуть стати в нагоді такі додаткові параметри: interface = auto netcfg / dhcp_timeout = 60, буде обрана перша робоча мережева карта, відповідь на DHCP запит буде очікуватися більше ніж зазвичай

Підказка

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

B.2.4. Корисні в автоматизації псевдоніми

При використання автоматизації установки (режим auto) можуть стати в нагоді такі псевдоніми. Зауважимо, що скорочуються тільки імена питань, і вам завжди потрібно вказувати ще і значення. Наприклад, auto = true або interface = eth0.

B.2.5. Використання сервера DHCP для зазначення файлів автоматичної конфігурації

Також можливо використовувати DHCP для вказівки файлу автоматичної конфігурації, що завантажується по мережі. DHCP дозволяє вказати ім'я файлу. Зазвичай, він вказується для способу установки по мережі, але якщо він заданий у вигляді URL, то установчий носій, який підтримує автоматичну установку по мережі, завантажить пакунки зазначеного в URL адреси і використовує його як файл автоматичної установки. Ось приклад, як можна налаштувати dhcpd.conf для третьої версії сервера ISC DHCP (Debian пакет isc-dhcp-server).

Зауважимо, що приклад вище обмежує використання імені файлу тільки DHCP клієнтами з ідентифікатором "di", тому він не впливає на простих DHCP клієнтів, а тільки на програму установки. Ви також можете помістити текст в строфу вказавши певну машину, щоб уникнути автоматизації всіх установок в мережі.

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