Koneksi SSH hilang selama peningkatan server - Bagaimana menghubungkan kembali ke proses?

32

Jadi, saya melakukan upgrade Server Ubuntu dari 11,04 menjadi 11,10.

Saya lupa tentang hal itu di latar belakang, dan klien SSH saya kehabisan waktu dan terputus (dempul pada Windows, lanjutkan gambar). Hal terakhir di terminal saya adalah pertanyaan tentang menjaga konfigurasi lama, dll.

Ketika saya masuk kembali ke server, file aptitude dikunci oleh proses lain, jadi saya menganggap proses upgrade ini ada di sana menunggu input saya.

Bagaimana saya bisa berinteraksi dengan proses ini dan melanjutkan peningkatan? Jika memungkinkan.

Terima kasih

Stephen Melrose
sumber

Jawaban:

36

Proses sebenarnya berjalan di layar atau sesi byobu sebagai pengguna root. sambungkan kembali ke server dengan dempul pada port 22 atau failafe 1022. sudo su - atau su - ke akun root Anda dan lanjutkan layar dengan byobu atau layar -r dan lanjutkan di mana Anda pergi.

oh dan ya saya menemukan cara yang sulit ;-)

pengguna120896
sumber
1
Woah terima kasih! Saya benar-benar menjalankan upgrade rilis dari 11,10 ke 12,04 di byobu dan kemudian ditutup ketika byobu ditingkatkan tetapi saya dapat menyambung kembali ke sesi layar root dan menonton upgrade selesai! Saya hampir mencoba untuk mematikan upgrade, tetapi untungnya saya membaca jawaban ini tepat waktu.
Ibrahim
3
Pada instalasi yang macet, dikatakan layar sudah terpasang, jadi saya memaksa layar melepaskan, saya bisa memasang kembali. Perintahnya adalah layar -D Informasi dari sini: kb.iu.edu/data/ahrm.html
David
1
Menggunakan screen -r <id>juga berfungsi, dan Anda hanya perlu mengetikkan beberapa karakter ID agar bisa berfungsi.
Daniel
1
Ini tidak berfungsi untuk saya, karena dikatakan itu screentidak diinstal.
starbeamrainbowlabs
1
Penggunaan Ubuntu yang lebih baru sudo screen -D -rsetelah sudo su -(jika tidak root).
bshea
34

Kamu tidak bisa Temukan proses peningkatan dengan melakukan

lsof /var/lib/dpkg/lock

Bunuh, perbaiki pemutakhiran yang terputus

dpkg --configure --pending

dan mulai kembali pemutakhiran.

Teddy
sumber
3
Apakah ini aman dengan proses menjadi do-release-upgrade?
Stephen Melrose
1
@StephenMelrose Tidak pernah aman. Tapi itu cukup aman, dan satu-satunya pilihan yang tersisa.
Teddy
2
jawaban terbaik di antara banyak orang tentang cara memperbaiki upgrade apt-get dibatalkan oleh timeout sesi dempul ... berhasil diuji, terima kasih!
Kojo
The and restart the upgradelangkah tidak bekerja dalam kasus saya (saya kehilangan sesi ssh selama do-release-upgrade14,04 -> 16,04). Apa yang saya lakukan sebagai langkah terakhir untuk menyelesaikan peningkatan rilis adalah sudo apt autoremovedan kemudian sudo shutdown -r now.
Ruslan Stelmachenko
Menemukan jawaban yang lebih lengkap di sini yang saya ikuti pemutakhiran secara otomatis melanjutkan di mana ia tinggalkan. askubuntu.com/questions/219545/…
lacostenycoder
4

cryopid (ditemukan melalui pertanyaan ini ) dapat membantu kecuali jika "satu proses, bukan pohon proses" saat ini merupakan masalah dalam contoh ini.

File-file itu mungkin dikunci karena prosesnya secara tidak sengaja terbunuh dan tidak mendapatkan kesempatan untuk membersihkannya sendiri, jadi konfirmasikan bahwa aptitude sebenarnya masih berjalan. Gunakan lsof /var/lib/dpkg/lockseperti yang disarankan dalam jawaban Teddy untuk memeriksa - ini akan memberitahu Anda pid untuk mencoba cryopid juga.

Di masa depan saya sarankan untuk mencoba menjalankan melalui layar sedapat mungkin. Saya telah membiasakan layar (atau byobu, yang merupakan pembungkus di sekitar layar yang mendefinisikan beberapa perilaku bermanfaat) menjadi hal pertama yang saya jalankan ketika SSHing ke mana saja kemudian saya dapat menyambung kembali jika ada masalah. Anda dapat mengaturnya untuk memulai atau memasang kembali secara otomatis, meskipun saya belum pernah melakukannya di mana pun - ada sejumlah contoh online (yang ini misalnya ) jika Anda ingin mencobanya.

David Spillett
sumber
1
Kebetulan, saya mendahului ini dan melakukan do-release-upgrade over ssh dengan menggunakan byobu, tetapi ketika byobu ditingkatkan itu membunuh sesi saya! Saya ingin tahu apakah menggunakan layar secara langsung akan mencegah hal ini. Tetapi jawaban lain untuk pertanyaan ini menjawab situasi saya, sepertinya installer cerdas dan menjalankan sesi layarnya sendiri: D
Ibrahim