Problem
Podczas pracy apt-get install
w nieinteraktywnej sesji SSH sesja nigdy się nie zamyka. Przykład:
ssh user@target "sudo apt-get -y install my_package"
Został my_package
poprawnie zainstalowany, ale sesja SSH po prostu zawisła.
Pytanie
Czy jest jakaś flaga, aby przekazać SSH, aby dostać się apt-get
do pracy?
Dodatkowe informacje
Kontekst
Instalacja zdalna służy do automatycznego wdrażania pakietu na serwerze integracyjnym. Jak tylko wprowadzimy pewne zmiany kodu do repozytorium, zadanie pobiera kod, buduje pakiet i wdraża go podczas integracji, aby sprawdzić, czy wszystko działa dobrze (jeśli chodzi o wdrożenie).
Już próbowałem i notatki
- Ta sama sesja SSH, która jest wykonywana, zostaje
apt-get update
zamknięta. Zauważ, żeapt-get update
nie jest interaktywny, podczas gdyapt-get install
jest. Może to sugerować, że interaktywność jest problemem. - Polecenie jak
ssh user@target "sudo apt-get install my_package && echo Hello"
nigdy nie dociera doecho
. debconf
narzeka, że nie może znaleźć ładnej nakładki (Display, Readline) i wraca do Teletype (chociaż Readline jest dostępny).- W odniesieniu do frontendu debconfa przejście
-t
do wymuszenia TTY z SSH nie pomaga. AniDEBIAN_FRONTEND=noninteractive
. - Wszystko zostało zrobione na Ubuntu 12_04 LTS.
ssh user@target
Wtedy polecenia z powłoki), czy działa ono poprawnie?