Использование bash
:
while IFS='=' read -r i j; do echo "${i//./_}=$j" ; done
Мы использовали шаблон расширения параметров $ {i //./_}
, чтобы заменить все .
с _
в имени переменной.
Пример:
$ cat file.txt
my.variable.var1=a-long-ling.with.lot_of_different:characters:and_numbers
my.variable.another.var2=another-long-ling.with.lot_of_different:characters:and_numbers
my.variable.number3=yet_another_long-ling.with.lot_of_different:characters:and_numbers
$ while IFS='=' read -r i j; do echo "${i//./_}=$j" ; done <file.txt
my_variable_var1=a-long-ling.with.lot_of_different:characters:and_numbers
my_variable_another_var2=another-long-ling.with.lot_of_different:characters:and_numbers
my_variable_number3=yet_another_long-ling.with.lot_of_different:characters:and_numbers
A menos que se utilice una herramienta de administración de configuración e implementación "adecuada" como Ansible o Salt, debconf
la preconfiguración puede ser perfectamente suficiente para preconfigurar -los paquetes de Debian. No se limita en absoluto a instalaciones completas; se puede aplicar a cualquier número de paquetes.
La forma más sencilla de comenzar es configurar manualmente los paquetes que desea instalar, instalando el paquete y respondiendo las preguntas. Luego ejecutedebconf-get-selections
(desde el paquete debconf-utils
); eso enumerará todas las configuraciones que están almacenadas, incluidas las de los paquetes que acaba de instalar, junto con el texto de la pregunta en los comentarios, para que pueda encontrar fácilmente las preguntas que desea preconfigurar. El formato es
<package> <debconf key> <type> <value>
Por ejemplo
# 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
Guarde las configuraciones que desea preseleccionar en un archivo,luego ejecutedebconf-set-selections
(en el paquete debconf
)en el sistema de destino, ya sea con el archivo disponible localmente y nombrado como el primer argumento, o su contenido canalizado:
cat preseed-file | ssh remotehost debconf-set-selections
Haga esto antes de instalar los paquetes en el sistema de destino.