SSH bağlantısını kaybettikten sonra “uygun yükseltme” durumunu nasıl kontrol edebilirim?


16

Genellikle Ubuntu kurulumumu bir ssh bağlantısıyla yükseltirim. Bazen bu ssh bağlantısı kaybolur veya terminal penceresini yanlışlıkla kapatırdım.

Bir ssh bilgisayara yeniden giriş yaptıktan sonra yükseltme durumunu kontrol etmek mümkün mü?

Yanıtlar:


34

Aşağıdaki günlükler uygun yükseltmelerle ilgilidir:

/var/log/apt/history.log
/var/log/apt/term.log
/var/log/dpkg.log

Komut buysa, dist-upgradeek günlükler vardır:

/var/log/dist-upgrade

Bilginize, yükseltmeyi yeniden çalıştırmak genellikle güvenlidir ve bağlantı kesilmesi nedeniyle süreç öldüğünde kaldığı yerden devam edecektir. Ancak...

Bir GNU Ekran Astarı:

Uzak bir sunucuya bağlanırken ve ön planda uzun süren bir işlem başlatılırken, GNU Ekranı kullanmak en iyi uygulamadır. Ekran, ssh bağlantınız kesilse bile çalışmaya devam eden sanal bir terminal sağlar.

Kurulum ekranı:

sudo apt-get install screen

Çalışma ekranı:

screen

Ekranı çalıştırdıktan sonra normal bir terminalde olduğu gibi bir komut satırı istemi alırsınız. Ardından yükseltmeyi iç ekrandan çalıştırabilirsiniz:

sudo apt-get upgrade

Bunun nasıl çalıştığını anlamak için Ctrl + a, d tuşlarına basarak "ayır" ekranını açın . Bu sizi ekran dışı terminale döndürecektir. İle çalışan ekranların listesini görebilirsiniz.

screen -list

Yalnızca bir ekranınız çalışıyorsa, ekranı aşağıdakilerle yeniden bağlayabilirsiniz:

screen -raAd

(Bu, başka bir yere bağlı olması durumunda ekranı ayırır ve çalışmakta olduğunuz terminale yeniden bağlar.)

Genellikle, fazladan kurulum yapmadan ekranın içinden 'normal' kaydıramazsınız. Ekran içinde ilerlemek için imleç moduna girmek için Ctrl-Esc tuşuna basın . Daha sonra j ve k ile aşağı ve yukarı kaydırabilirsiniz . İmleç modundan çıkmak için Esc tuşuna tekrar basın .

Ek ekran işlevleri için internette çok daha fazla kaynak var. Sistem yönetimi için çok değerli bir standart araçtır.

Ayrıca bakınız:


2
Soruyu cevaplama VE ekrandan bahsetme +1 voor :)
Nanne

3
Ayrıca, screen -x- ekran oturumunu "çok oyunculu" hale getirerek başkalarını ayırmadan koşu ekranına ekleyin.
SF.

Bu yardımcı olur, ancak cevaba ek olarak önleme de içerir. Ayrıca, bakılacak doğru günlük belirtilir, ancak yeni başlayan bir kullanıcı, tail -fkomutun ve işaretleme seçeneğine aşina olmayabilir , bu da kullanıcının ilerlemeyi "yeniden" oturum aç." Ben onun eski ve kabul biliyorum, ama ben bu talimat setine kuyruk eklenmelidir düşünüyorum, çünkü bu detay eksik, @TheAnonymousBear tarafından aşağıdaki cevap daha doğrudan ve noktaya. @doublerebel
oemb1905

Genellikle sudo dpkg --configure -ahala harcama yaparken uygun yükseltmeye devam eder.
tehlike89

10

Doublerebel'in cevabına ek olarak, bugün bir alternatif fark ettim.

SSH üzerinde bir yükseltme başlattıktan sonra dün gece yatağa gittim. Aptalca başlatmayı unuttum screenve bir gecede SSH oturumumu kaybettim.

Bir seans başlattığını rettyfark ettiğimde araştırmaya başlamak üzereydim .rootscreen

me@GAMMA:~$ ps aux | grep -E 'release|upgrade|apt'
root      6208  0.0  0.0  29140  1628 ?        Ss   01:57   0:05 SCREEN -e \0\0 -L -c screenrc -S ubuntu-release-upgrade-screen-window /tmp/ubuntu-release-upgrader-1h6_g4/raring --mode=server --frontend=DistUpgradeViewText
root      6209  0.2  5.6 287428 93144 pts/2    Ss+  01:57   3:13 /usr/bin/python /tmp/ubuntu-release-upgrader-1h6_g4/raring --mode=server --frontend=DistUpgradeViewText
root      6239  0.0  0.0  50052  1184 ?        Ss   01:58   0:00 /usr/sbin/sshd -o PidFile=/var/run/release-upgrader-sshd.pid -p 1022
root      7306  0.0  4.6 287432 77284 pts/2    S+   02:43   0:08 /usr/bin/python /tmp/ubuntu-release-upgrader-1h6_g4/raring --mode=server --frontend=DistUpgradeViewText
me       26829  0.0  0.0   9440   956 pts/5    S+   22:18   0:00 grep --color=auto -E release|upgrade|apt

Bu yüzden rootekranlarını listeledim ve ona ekledim:

me@GAMMA:~$ sudo screen -list
There is a screen on:
        6208.ubuntu-release-upgrade-screen-window       (12/11/2013 01:57:58 AM)        (Detached)
1 Socket in /var/run/screen/S-root.
me@GAMMA:~$ sudo screen -x -r

Ve Bam! Oyuna geri döndüm.


Ekrana başlamayı unuttuğunuzu sanıyordum. "Ekranda başlatmayı unuttuysanız" ekran nasıl çalışıyordu?
oemb1905

1
@ oemb1905 Çünkü Ubuntu sizin için bir tane başlatacak, unutacağınız varsayımı altında :)
Huckle

ilginç, bu do-release-upgradeubuntu'ya özgü komut ile mi? Özel olarak kullandığım Debian'ı kontrol etme ihtiyacım olmadı, çünkü her zaman manuel olarak çalıştırıyorum, ayırıyorum ve sonra geri geliyorum. Ve elbette, sudo apt dist-upgradedeğiştirdikten sonra /etc/apt/sources.listkullanıyoruz.
oemb1905

Onu buldum, evet bu Ubuntu'ya özgüdür, bu yüzden AskUbuntu'dan gelen kaçak avcı düzeltmelerinin, sistemlerinde olacağını varsaymaması gerekir. Bu konuda orijinal konu: serverfault.com/questions/387547/…
oemb1905

Ekranın kurulacağını nasıl biliyor?
Nacht - Monica'yı geri

4

Arka plan aptişinden gerçek zamanlı çıktı görmek için şunu kullanın:

sudo tail -f /var/log/apt/term.log

Bu doğru cevaptır - yukarıdaki cevap sadece bazı yararlı günlüklerin yerini belirtir ve ardından önlemeye geçer. Bu cevap, kullanıcıya tail"yeniden giriş" adını verdikten sonra nereye bakacağını ve nasıl bakılacağını ( ) gösterir.
oemb1905

0

Aynı sorun vardı, bağlantımı kaybetti ve dpkg işlemi girdi bekliyordu.

Belki bir dahaki sefere deneyin: sudo dpkg --configure -a


1
Bunu denediğimde, elde ettiğim tek şey,"dpkg: error: dpkg frontend is locked by another process"
CivMeierFan

Neyse ki giriş için bekleyen bir mesaj iletişim kutusu oluşturan bir alt işlem olduğunu görmek için bir bağlam grep yaptım, bu yüzden sadece tüm apt yükseltme işlemini öldürmeden bunu öldürmek mümkün.
CivMeierFan

Bu yaklaşım, dpkg işleminin yeniden oturum açıldığında sistem üzerinde hala çalışıp çalışmadığını araştırmayı yok sayar. Dahası, eğer çalışıyorsa, o zaman bu en kötü ihtimalle potansiyel olarak zararlı olabilir veya en iyi ihtimalle kötü bir uygulama olabilir, çünkü dpkg /var/dpkg/lockhala çalışıyorsa üzerinde bir kilit olacaktır . Ve ne olursa olsun, "yükseltme durumunu kontrol etme" sorusuna cevap vermez ve bunun yerine, yalnızca yükseltme çöktüğünde (ve ancak kilit etkin değilse) çalışacaktır. Ben bu yaklaşımı kimseye tavsiye etmem. Saygılarımla, oemb1905
oemb1905
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.