Zwykle aktualizuję moją instalację Ubuntu poprzez połączenie ssh. Czasami połączenie ssh zostało zerwane lub przypadkowo zamknąłem okno terminala.
Czy można sprawdzić status aktualizacji po ponownym zalogowaniu ssh do komputera?
Następujące dzienniki są powiązane z aktualizacjami apt:
/var/log/apt/history.log
/var/log/apt/term.log
/var/log/dpkg.log
Jeśli polecenie było dist-upgrade
, istnieją dodatkowe dzienniki:
/var/log/dist-upgrade
Do Twojej wiadomości, zwykle jest po prostu ponownie uruchomić aktualizację i apt będzie kontynuować od miejsca, w którym zostało przerwane, gdy proces zmarł z powodu rozłączenia. Jednak...
Podkład ekranu GNU:
Podczas ssh'owania na zdalnym serwerze i rozpoczynania długotrwałego procesu na pierwszym planie, najlepszą praktyką jest używanie GNU Screen. Screen zapewnia wirtualny terminal, który kontynuuje działanie nawet w przypadku utraty połączenia ssh.
Zainstaluj ekran:
sudo apt-get install screen
Uruchom ekran:
screen
Po uruchomieniu ekranu pojawi się wiersz polecenia, tak jak w przypadku normalnego terminala. Następnie możesz uruchomić aktualizację z poziomu ekranu wewnętrznego:
sudo apt-get upgrade
Aby zrozumieć, jak to działa, ekran „odłącz”, naciskając Ctrl + a, d . Spowoduje to powrót do terminala nieekranowego. Możesz zobaczyć listę uruchomionych ekranów za pomocą
screen -list
Jeśli masz tylko jeden ekran, możesz go ponownie podłączyć za pomocą:
screen -raAd
(Odłącza ekran w przypadku, gdy jest podłączony gdzie indziej, i ponownie podłącza go do terminalu, na którym obecnie pracujesz).
Zazwyczaj nie można przewijać „normalnie” z poziomu ekranu bez dodatkowej konfiguracji. Aby przewijać w obrębie ekranu, naciśnij Ctrl-Esc, aby przejść do trybu kursora. Następnie możesz przewijać w dół i w górę za pomocą j i k . Naciśnij klawisz Esc ponownie, aby wyjść z trybu kursora.
W sieci dostępnych jest wiele innych zasobów na dodatkowe funkcje ekranu. Jest to nieocenione standardowe narzędzie do administrowania systemem.
Zobacz też:
screen -x
- dołącz do uruchomionego ekranu bez odłączania innych, czyniąc sesję ekranową „multiplayer”.tail -f
polecenia i oznaczenia , co pozwoli użytkownikowi obserwować postęp w czasie rzeczywistym (lub zobaczyć, że się zawiesił) po „ponownym uruchomieniu” Zaloguj sie." Wiem, że jest stary i zaakceptowany, ale myślę, że do tego zestawu instrukcji należy dodać ogon, ponieważ bez tego szczegółu odpowiedź poniżej @TheAnonymousBear jest bardziej bezpośrednia i konkretna. @doublerebelsudo dpkg --configure -a
kontynuuje apt apt, kiedy to jeszcze wydawało.Oprócz odpowiedzi doublerebel zauważyłem dziś alternatywę.
Poszłam spać po rozpoczęciu aktualizacji SSH. Głupio zapomniałem go uruchomić
screen
i z dnia na dzień straciłem sesję SSH.Właśnie miałem rozpocząć badania,
retty
gdy zauważyłem, żeroot
rozpoczęła sięscreen
sesja.Więc wymieniłem
root
ekrany i dołączyłem do niego:I Bam! Wróciłem do gry.
źródło
do-release-upgrade
polecenie jest specyficzne dla Ubuntu? Nigdy nie musiałem sprawdzać Debiana, którego używam wyłącznie, ponieważ zawsze uruchamiam go ręcznie, odłączam, a potem wracam. I, oczywiście, używamysudo apt dist-upgrade
po zmianie/etc/apt/sources.list
.Aby wyświetlić dane wyjściowe z
apt
zadania w tle w czasie rzeczywistym , użyj:źródło
tail
) po tym, co nazwali „ponownym logowaniem”.Miałem dokładnie ten sam problem, straciłem połączenie i proces dpkg czekał na dane wejściowe.
Może następnym razem spróbuj:
sudo dpkg --configure -a
źródło
"dpkg: error: dpkg frontend is locked by another process"
/var/dpkg/lock
jeśli nadal działa. I niezależnie od tego, nie odpowiada na pytanie „jak sprawdzić status aktualizacji”, a zamiast tego będzie działać tylko wtedy, gdy aktualizacja ulegnie awarii (i tylko wtedy, gdy blokada nie będzie aktywna). Nie poleciłbym nikomu takiego podejścia. Z szacunkiem, oemb1905