ป้อมปราการคนแคระเริ่มต้นในระหว่างการอัพเกรด apt-get


322

เมื่อฉันเรียกใช้apt-get upgradeบนเครื่อง Ubuntu 17.04 บางครั้งมันก็เริ่มป้อมปราการคนแคระเอง

มันเกิดขึ้นแล้วอย่างน้อยสองครั้งดังนั้นมันอาจไม่ใช่แค่ครั้งเดียว นอกจากนี้การประหารชีวิตของapt-get upgradeดูเหมือนจะหยุดชั่วคราวจนกว่าฉันจะออกจากป้อมปราการคนแคระด้วยตนเองดังนั้นมันอาจจะไม่ได้เกิดจากสิ่งอื่นที่กำลังทำงานอยู่ในเวลานั้น

คอนโซลในเวลานั้นกล่าวว่าUnpacking xxx.ที่xxxเป็นสิ่งที่มีmysqlอยู่ในชื่อ ฉันไม่ทราบว่าเป็นแพคเกจที่แน่นอนในวันนี้apt-get upgradeอัพเกรดแพ็คเกจที่เกี่ยวข้องกับ MySQL จำนวนมาก

ฉันอยากจะรู้ว่าเกิดอะไรขึ้นและจะหยุดมันได้อย่างไร ขอบคุณสำหรับความคิดของคุณ


ดังนั้นคุณจะบอกว่าเมื่อใดก็ตามที่คุณวิ่งapt-get upgradeในสถานีเกมเริ่ม?

@MichaelBay ไม่ใช่ทุกครั้งเฉพาะเมื่ออัพเกรด somethink และฉันไม่สามารถทดสอบได้ว่ามันเกิดขึ้นเสมอหรือไม่เพราะไม่มีแพ็คเกจที่ต้องอัพเดทตอนนี้
Adrijaned

นี้DF สับเป็นอ่านนานและฉันให้ขึ้นส่วนหนึ่งทางผ่าน แต่บางทีมันอาจจะเป็นประโยชน์กับคุณ
WinEunuuchs2Unix

คำตอบ:


550

ด้วยคำถามแปลก ๆ อย่างนี้แน่นอนว่าเป็นไปไม่ได้ที่จะพูดอย่างแน่นอน - แต่ฉันจะกินหมวกถ้าลางสังหรณ์ครั้งแรกของฉันไม่ถูกต้อง :)

วิธีเดียวที่ฉันสามารถนึกได้ว่าสิ่งที่ไม่เกี่ยวข้องดังกล่าวสามารถเชื่อมโยงได้อย่างไร: หลังจากติดตั้ง (ดีแล้วแยก) ป้อมปราการ Dwarf แทนที่จะไปที่ไดเรกทอรีทุกครั้งและเรียกใช้ด้วย./dfคุณต้องการให้สามารถเรียกใช้จาก ที่ใดก็ได้เช่นคำสั่งเก่า ๆ คุณเพิ่มไดเรกทอรีป้อมแคระที่คุณ$PATH, ก่อนไดเรกทอรีระบบโดยอาจมีโอกาสบางทีอาจเป็นเพราะคุณสังเกตเห็นมันไม่ได้ทำงานอย่างอื่นและคุณต้องการแทนเพียงแค่ได้รับข้อมูลเกี่ยวกับระบบไฟล์ของคุณ

ความสามารถในการปฏิบัติการของ Dwarf Fortress นั้นdfเป็นชื่อของเครื่องมือระบบสำหรับแสดงการใช้พื้นที่ดิสก์ของระบบไฟล์ของคุณเพื่อสร้างการชนกัน เมื่อคุณพิมพ์dfDwarf Fortress จะเริ่มทำงานคุณได้ทำเงาระบบเครื่องมือดังนั้นเมื่อสคริปต์ต้องการ - สมมติว่า - ตรวจสอบว่าคุณมีพื้นที่ว่างเพียงพอสำหรับการแยกไฟล์เก็บถาวรแทนการเรียกใช้df- เครื่องมือระบบ - มันจะเริ่ม Dwarf Fortress แทน และหลังจากที่คุณออกจาก Dwarf Fortress สคริปต์ตัวเล็กที่น่าสงสารจะสับสนมากว่าทำไมมันไม่ได้รับข้อมูลการใช้งานดิสก์ที่มันถาม

อย่างไรก็ตามขอบคุณสำหรับการหัวเราะนี่เป็นปัญหาที่ตลกที่สุดที่ฉันเคยเห็นใน StackExchange :)


ความคิดเห็นไม่ได้มีไว้สำหรับการอภิปรายเพิ่มเติม การสนทนานี้ได้รับการย้ายไปแชท
โธมัสวอร์ด

64

ลางสังหรณ์ของฉันคล้ายกับAleksi ของแต่ฉันคิดว่าคุณอาจย้ายไบนารีป้อมปราการคนแคระไปที่/usr/local/binหรือ/usr/bin(และหวังว่าจะไม่/bin)

ลองใช้งานsudo which dfในเครื่องของคุณ หากยังไม่ได้บอก/bin/dfให้ลองย้ายไฟล์ที่ระบุในwhichผลลัพธ์ไปที่/usr/games/(คุณจะสามารถเรียกใช้เกมในอนาคตได้โดยเรียกใช้/usr/games/df) ฉลาดควรทำงานอีกครั้งหลังจากนั้น

======

มิฉะนั้นในสถานการณ์ที่sudo which dfบอกว่าให้ลองเรียกใช้/bin/df หากได้รับการเขียนทับด้วยเกมที่คุณจะต้องย้ายเกมไบนารีดังกล่าวข้างต้นและ/bin/dfsudo apt-get install --reinstall coreutils

หากสิ่งนั้นล้มเหลวเนื่องจากdfหายไปคุณอาจต้องใช้มาตรการที่รุนแรงกว่าเดิม (เช่นการสร้างสคริปต์ปลอมเพื่อแทนที่ df ชั่วคราวหรือดาวน์โหลดแพ็คเกจด้วยตนเอง


7
มันเป็นเรื่องน่าขันที่ความคิดเห็นของผู้ถามต่อคำตอบที่ได้รับการยอมรับเป็นการยืนยันว่านี่คือสิ่งที่ผู้ถามทำโดยมีลิงก์สัญลักษณ์แทนที่จะแก้ไขPATHตามคำตอบนั้น
JdeBP

1
@JdeBP: ไม่จริงประเด็นหลักคือความขัดแย้งในการตั้งชื่อ - ฉันคิดว่าสิ่งที่ประสบความสำเร็จนั้นเป็นเรื่องรองแม้ว่าฉันจะพูดอย่างนั้นก็ตาม ฉันยังกล่าวถึงนี้ในความคิดเห็นของคำตอบอื่น ๆ เพื่อตอบสนองต่อความคิดเห็นที่แนะนำสิ่งเดียวกันกับคำตอบนี้ แต่ฉันได้พิจารณาถึงการกล่าวถึงสิ่งนี้เป็นความเป็นไปได้อีกครั้งจนกระทั่งฉันตระหนักว่าการย้าย / คัดลอกไบนารี การเชื่อมโยงซึ่งฉันไม่ได้คิด) จะไม่ทำงานเนื่องจากวิธีการทำงานของป้อมปราการคนแคระ (นั่นคือมันถูกแยกออกมาไม่ได้ติดตั้ง - จะไม่พบไฟล์ข้อมูลของตัวเองเมื่อไม่อยู่ในไดเรกทอรีเดียวกัน)
Aleksi Torhamo

2
คำสั่งที่ดีกว่าอาจจะsudo which -a dfเห็นdfคำสั่งทั้งหมดที่พบในเส้นทาง
Doug Henderson

เดี๋ยวก่อนปี 2560 แล้วเราจะใช้apt-getเหรอ?
EKons

@AleksiTorhamo เพียงชี้แจงตัวแปร PATH ที่ apt จะเห็นถูกแทนที่โดยคำสั่ง sudo ( /etc/sudoersมีsecure_pathตัวแปรเพื่อป้องกันปัญหาด้านความปลอดภัยกับผู้ใช้ปรับเปลี่ยนเส้นทางของพวกเขา) ฉันยอมรับว่าการตระหนักว่าไบนารีของ Dwarf Fortress กำลังสำคัญกว่าในการแก้ปัญหา PATH นั้นเป็นข้อมูลเชิงลึกที่สำคัญ
maccam94
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.