Buduję skrypt zaopatrzenie dla ubuntu vagrant vm
, na zasadzie ubuntu host
, zarówno 12.10 64bit
Podczas instalacji następujące pakiety:
sudo apt-get -y install php5-xsl graphviz php-pear unison
Dostaję ostrzeżenie:
dpkg-reconfigure: unable to re-open stdin: No file or directory
próbowałem wyszukać, ale wyniki wyrzucają co drugi błąd z apt-get możliwym, nie mogę dowiedzieć się, jak wyłączyć powyższe ostrzeżenie. Instalacje działają, ale powyższe ostrzeżenie powoduje pojawienie się błędów w błędnym standardzie.
Każdy, kto ma pojęcie, co może być przyczyną lub jak znieść ostrzeżenie
export DEBIAN_FRONTEND=noninteractive
pracował dla mnie nadpkg-preconfigure
scenieOdpowiedzią było ustawić
perl:locale
„s, jak na to :To rozwiązuje problem, ale dodaje niechcianego czasu do
vagrant up
udostępniania.źródło
70debconf
komentowania @ kenorb dla wstępnej konfiguracji.Uruchom to polecenie:
aby sprawdzić, czy masz ten plik. Jeśli tak, rozwiązaniem jest skomentowanie
DPkg
linii, która uniemożliwia wstępną konfigurację wszystkich pakietówdebconf
przed ich instalacją.Dodaj więc te polecenia do pliku udostępniania:
W przeciwnym razie, jeśli nie obchodzi cię ten plik, po prostu go usuń:
Oto kilka innych poleceń do rozważenia, ale nie sądzę, aby zrobiły coś pożytecznego:
źródło
--frontend=noninteractive
opcję do polecenia zdefiniowanego w pliku.sudo sed -i 's/\(dpkg-preconfigure\) --apt/\1 --frontend=noninteractive --apt/' /etc/apt/apt.conf.d/70debconf
przed isudo sed -i 's/ --frontend=noninteractive//' /etc/apt/apt.conf.d/70debconf
po.Przekierowanie Bash działa dobrze dla stdout i stderr.
Aby przekierować strumień błędów, użyj:
Aby przekierować oba stdout (komunikaty, które nie są błędami / ostrzeżeniami) i stderr oba, użyj:
Jest to skrót dostępny w bash do tego:
Lub:
Poniżej wyraźnie widać, że deskryptor pliku 1 to stdout, 2 stderr, 3 stdin.
Więc do tego, co mówisz, że chcesz zrobić, powinieneś potrzebować tylko pierwszego polecenia, które wydałem.
źródło