Я настраиваю скрипт CIT GitLab с использованием Ubuntu 17.04 внутри докеры, почти ничего не установлен (Docker tag ubuntu:zesty). В ходе сценария подпрограмма apt-get install приходит к настройке keyboard-configuration, которая случайно (!) Запрашивает выбор раскладки клавиатуры, даже если указан --yes --assume-yes --force-yes:
Setting up keyboard-configuration (1.142ubuntu5) ...
debconf: unable to initialize frontend: Dialog
debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.)
debconf: falling back to frontend: Readline
Configuring keyboard-configuration
----------------------------------
The layout of keyboards varies per country, with some countries having multiple
common layouts. Please select the country of origin for the keyboard of this
computer.
1. Afghani 48. Iraqi
2. Albanian 49. Irish
3. Amharic 50. Italian
4. Arabic 51. Japanese
5. Arabic (Morocco) 52. Japanese (PC-98xx Series)
6. Arabic (Syria) 53. Kazakh
7. Armenian 54. Khmer (Cambodia)
8. Azerbaijani 55. Korean
9. Bambara 56. Kyrgyz
10. Bangla 57. Lao
11. Belarusian 58. Latvian
12. Belgian 59. Lithuanian
13. Bosnian 60. Macedonian
14. Braille 61. Maltese
15. Bulgarian 62. Maori
16. Burmese 63. Moldavian
17. Chinese 64. Mongolian
18. Croatian 65. Montenegrin
19. Czech 66. Nepali
20. Danish 67. Norwegian
21. Dhivehi 68. Persian
22. Dutch 69. Polish
23. Dzongkha 70. Portuguese
24. English (Cameroon) 71. Portuguese (Brazil)
25. English (Ghana) 72. Romanian
26. English (Nigeria) 73. Russian
27. English (South Africa) 74. Serbian
28. English (UK) 75. Sinhala (phonetic)
29. English (US) 76. Slovak
30. Esperanto 77. Slovenian
31. Estonian 78. Spanish
32. Faroese 79. Spanish (Latin American)
33. Filipino 80. Swahili (Kenya)
34. Finnish 81. Swahili (Tanzania)
35. French 82. Swedish
36. French (Canada) 83. Switzerland
37. French (Democratic Republic of the Congo) 84. Taiwanese
38. French (Guinea) 85. Tajik
39. French (Togo) 86. Thai
40. Georgian 87. Tswana
41. German 88. Turkish
42. German (Austria) 89. Turkmen
43. Greek 90. Ukrainian
44. Hebrew 91. Urdu (Pakistan)
45. Hungarian 92. Uzbek
46. Icelandic 93. Vietnamese
47. Indian 94. Wolof
Country of origin for the keyboard:
t забота о том, какая клавиатура выбрана, но я думаю, English (US) может идти как псевдостандарт. Использование
yes 29 | apt-get ... не работает, потому что есть вопрос о раскладке клавиатуры, поэтому мне нужно будет использовать expect, что сложно, и я хотел бы исключить все более простые возможности. env DEBIAN_FRONTEND=noninteractive и убедитесь, что он передан подпроцессу, который все еще случайным образом (!) требует ввода.Почему этот запрос запрашивается в любом случае, если указан --force-yes и почему он происходит случайным образом? См. Https://gitlab.gnome.org/krichter/jhbuild/-/jobs/158 и https://gitlab.com/krichter/jhbuild/-/jobs/34123725 для неудачного и последующего запуска того же фрагмента скрипта код (разные серверы, но одна и та же соответствующая строка).
Перенаправить stdin. Запустите команду с вводом из файла: command < file. В файле вы можете поместить столько новых строк, сколько вам нужно, со всеми номерами на них. Например, запустите apt-get install keyboard-configuration <file, где файл содержит:
y
29
<next thing I need to type>
<whatever>
<whatever else>
Перенаправить stdin. Запустите команду с вводом из файла: command < file. В файле вы можете поместить столько новых строк, сколько вам нужно, со всеми номерами на них. Например, запустите apt-get install keyboard-configuration <file, где файл содержит:
y
29
<next thing I need to type>
<whatever>
<whatever else>
Перенаправить stdin. Запустите команду с вводом из файла: command < file. В файле вы можете поместить столько новых строк, сколько вам нужно, со всеми номерами на них. Например, запустите apt-get install keyboard-configuration <file, где файл содержит:
y
29
<next thing I need to type>
<whatever>
<whatever else>