GNU/Linux >> Znalost Linux >  >> Debian

Debian – automatizace instalace jednotlivých balíčků Debian 8 s interaktivními výzvami?

Hledám automatizaci některých instalací balíčků pomocí bash skriptu; budou nainstalovány do již existujícího souborového systému chroot’d. Některé z balíčků však zahrnují interaktivní uživatelský vstup (tj. ddclient žádá o výběr poskytovatele dynamických DNS služeb), což se mi nepodařilo tak snadno automatizovat.

Přednastavení debconf se zdá být nejběžnějším způsobem automatizace instalací interaktivních balíčků, ale všechny příklady, které jsem četl, naznačují, že je to pro celou instalaci Debianu, nikoli pouze pro jednotlivé balíčky.

Sledoval jsem tento návod Jak automatizovat interaktivní instalace balíčků Debianu, ale ve skutečnosti to nevysvětluje specifika.

Předem děkuji!

Přijatá odpověď:

Bez použití „správného“ nástroje pro správu nasazení a konfigurace, jako je Ansible nebo Salt, debconf přednastavení může být naprosto dostačující pro přednastavení balíčků Debianu. Není to vůbec omezeno na plnohodnotné instalace; lze jej použít na libovolný počet balíčků.

Nejjednodušší způsob, jak s tím začít, je ručně nakonfigurovat balíčky, které chcete nainstalovat, instalací balíčku a zodpovězením otázek. Poté spusťte debconf-get-selections (z debconf-utils balík); to bude seznam všech nastavení, která jsou uložena, včetně těch pro balíčky, které jste právě nainstalovali, spolu s textem otázky v komentářích — takže můžete snadno najít otázky, které chcete přednastavit. Formát je

<package> <debconf key> <type> <value>

Například

# System's default paper size:
# Choices: letter, a4, note, legal, executive, halfletter, halfexecutive, 11x17, statement, folio, quarto, 10x14, ledger, tabloid, a0, a1, a2, a3, a5, a6, a7, a8, a9, a10, b0, b1, b2, b3, b4, b5, c5, DL, Comm10, Monarch, archE, archD, archC, archB, archA, flsa, flse, csheet, dsheet, esheet
libpaper1       libpaper/defaultpaper   select  a4

Uložte nastavení, která chcete přednastavit, do souboru a poté spusťte debconf-set-selections (v debconf package) na cílovém systému, buď se souborem dostupným lokálně a pojmenovaným jako první argument, nebo jeho obsahem přes rouru:

cat preseed-file | ssh remotehost debconf-set-selections

Udělejte to před instalace balíčků na cílový systém.


Debian
  1. Tasksel – nástroj pro instalaci skupinových balíčků pro Debian

  2. Různé metody instalace balíčku Debian (.deb).

  3. Debian – vytvořit balíček .deb pouze se závislostmi?

  1. Debian – Jak poznat zdrojové úložiště balíčku v Debianu?

  2. Debian – Jak blokovat Non-free s předvolbami Apt?

  3. Debian – Proč mě Debian někdy požádá o vložení (instalačního?) CD při instalaci balíčků?

  1. Debian – Nalezení balíčku, který poskytuje daný příkaz?

  2. Debian – bezpečnost úložiště Debian?

  3. Debian – nelze spustit instalaci Devuan/debian?