ฉันจะติดตั้งใหม่ในกระบวนการ 'ทำอัปเกรด' ของ Ubuntu Server ได้อย่างไร


79

ฉันกด Ctrl + C โดยไม่ตั้งใจระหว่างdo-release-upgradeกระบวนการของเซิร์ฟเวอร์ Ubuntu ฉันจะไปที่เชลล์เพื่อเปรียบเทียบไฟล์. config ใน / etc / เมื่อฉันกด Ctrl-C ระบบจะถามว่าฉันต้องการลองติดตั้งใหม่เพื่อกระบวนการอัปเกรดหรือไม่ แต่ไม่สามารถทำเช่นนั้นได้

ดังนั้นฉันจึงเลิกและตอนนี้มีกระบวนการ dpkg แบบแขวนซึ่งถืออยู่บนล็อค apt นี่คือเซิร์ฟเวอร์เสมือนจริงที่ไม่มีส่วนหน้าของ GUI ...

เป็นไปได้หรือไม่ที่จะกู้คืนกระบวนการอัพเกรดหรือฉันต้องฆ่ากระบวนการ dpkg และเริ่มต้นอีกครั้ง?


2
หน้าจอ - รายการยังคงแสดงกระบวนการอัพเกรดหรือไม่? หากเป็นเช่นนั้นหน้าจอ -r อาจติดตั้งใหม่อีกครั้ง อะไรคือข้อผิดพลาดที่แน่นอนเมื่อพยายามใส่กลับเข้าไปใหม่
arjarj

ฉันลองในภายหลังscreen -RDแต่มันไม่ทำงาน ไม่มีภูตหน้าจอใด ๆ ที่ทำงานอยู่ดังนั้นจึงไม่มีอะไรให้เชื่อมต่ออีกครั้ง ข้อผิดพลาดที่แน่นอน? ฉันมีตัวเลือก 'r' หรือ 'q' ฉันคิดว่า (เชื่อมต่อใหม่หรือเลิก) ที่ด้านล่างของแอพที่คล้ายคำสาป ขออภัยฉันไม่สามารถช่วยเหลือได้มากกว่านั้น ฉันกำลังใช้ VirtualBox และไม่มีเซสชั่น tmux หรือหน้าจอฉันไม่มี scrollback และส่วนต่อประสานที่เหมือนคำสาปทำให้การล้างหน้าจอ เชื่อมต่อใหม่ไม่ทำงานดังนั้นฉันจึงเลิก
Alex Leach

1
ฉันควรเพิ่มว่าฉันไม่พยายามscreen -R -Dเป็นทั้งผู้ใช้และผู้ใช้ sudo ปกติของฉัน ..
อเล็กซ์กรอง

เป็นไปได้ที่ซ้ำกันของการอัพเกรดเซิร์ฟเวอร์ Ubuntu บน SSH hang
Michael Hampton

2
ใช่ dpkg configure -aเป็นคำตอบที่ถูก เกิดขึ้นกับฉันและสิ่งที่เลวร้ายจริงๆก็คือการที่ bind9 นั้นไม่ได้ตั้งค่าอย่างถูกต้อง (เช่น Ctrl-C ต้องหยุดกระบวนการนั้นและมันไม่สามารถเริ่มได้อีกต่อไป!) เมื่อฉันแก้ไข bind9 แล้ว apt-get update + upgrade + dist - อัพเกรดวิ่งเหมือนมีเสน่ห์หลังจากนั้นฉันรีบูทและมันก็ใช้ได้
Alexis Wilke

คำตอบ:


113

ฉันมักจะปล่อยการอัพเกรดผ่าน VPN ดังนั้นฉันจึงลองทำสองสามครั้ง เมื่อใดก็ตามที่มันอัพเดตแพ็คเกจ openvpn ของฉันฉันจะขาดการเชื่อมต่อดังนั้นฉันจึงเชื่อมต่อใหม่ในภายหลัง

do-release-upgradeเริ่มเซสชัน SSH สำรองในพอร์ต 1022 และเซสชันหน้าจอสำรอง หากคุณไม่ได้ติดตั้งหน้าจอไว้จะไม่สามารถใช้งานได้

คุณสามารถรับเซสชันของหน้าจอได้โดยเรียกใช้:

sudo screen -list
There is a screen on:
    2953.ubuntu-release-upgrade-screen-window   (09/13/2012 04:48:02 AM)    (Detached)
1 Socket in /var/run/screen/S-root.

จากนั้นให้ทำการติดใหม่:

sudo screen -d -r root/2953.ubuntu-release-upgrade-screen-window

ใช้หน้าจอที่ระบุไว้ก่อนหน้านี้หลังจาก root/

คุณควรกลับไปที่ที่คุณขาดการเชื่อมต่อ


1
ฉันไม่ได้ติดตั้งหน้าจอ ... และฉันไม่สามารถติดตั้งด้วย apt-get (ล็อคไฟล์)
inemanja

สิ่งนี้มีประโยชน์มาก มันอาจเป็นคำตอบที่ดียิ่งขึ้นถ้าคุณเพิ่งเพิ่มการกล่าวถึงสั้น ๆ ว่าdo-release-upgradeเริ่มเซสชันหน้าจอโดยอัตโนมัติ (คุณให้ฉันอ่านคำถามต่อไปเพื่อหาการพูดถึงการเริ่มกระบวนการอัปเกรดผ่านscreen)
polynomial_donut

1
ฉันประหลาดใจที่คำถามนี้ยังคงมี +1 อยู่เรื่อย ๆ
Alex R

@AlexR มันยังเกี่ยวข้องและเพิ่งช่วยฉันวันนี้! ความมหัศจรรย์ของเว็บไซต์ Stack *!
Luis Lobo Borobia

29

ฉันมีปัญหาเดียวกันในขณะที่อัปเกรดเป็นควอนตัม น่าเสียดายสำหรับฉันเช่นโปสเตอร์ต้นฉบับหน้าจอก็ถูกฆ่าเช่นกันเพราะ ctrl + c

ฆ่า dpkg และรีสตาร์ทด้วย "--configure -a" เพื่อแก้ไขปัญหา

ขอบคุณ


ขอบคุณขอบคุณขอบคุณ. สิ่งนี้ใช้ได้สำหรับฉัน
firebush

2

ฉันเป็นคน CentOS / RHEL มากกว่าตัวฉันเอง แต่จากประสบการณ์ของฉันคุณจะฆ่าและเริ่มต้นกระบวนการได้ดีกว่าเสมอ การดาวน์โหลดซิงค์ ฯลฯ ควรจะเสร็จสมบูรณ์แล้วและไม่จำเป็นต้องทำการประดับใหม่ เนื่องจากเป็นสิ่งที่ใช้เวลาส่วนใหญ่จึงไม่ควรพลาดเส้นทางนี้มากนัก


ใช่ฉันคิดว่าไม่มีอะไรอีกมากที่ทำได้ ฉันอาจใช้ reptyr เพื่อใส่กลับเข้าไป pty / tty (ฉันไม่เคยรู้ถึงความแตกต่าง) แต่มันง่ายกว่าที่จะเริ่มต้นจากศูนย์ และคุณพูดถูก; มันเร็วขึ้นมากในรอบที่สอง!
Alex Leach
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.