Score:0

นักเทียบท่าเริ่มต้นก่อนที่จะติดตั้งการแชร์ Virtualbox

ธง cx

การตั้งค่าของฉัน: Virtualbox พร้อมโฮสต์ Windows และแขกของเซิร์ฟเวอร์ Ubuntu ตอนนี้ Ubuntu เป็น 21.04 แต่มีปัญหาก่อนที่จะอัปเกรดจาก 20.04 และบนเซิร์ฟเวอร์ Ubuntu ฉันเรียกใช้ Docker

ปัญหา: การแชร์จาก virtualbox ซึ่งฉันคิดว่าติดตั้งโดยส่วนเสริมของผู้เยี่ยมชม Vbox จะไม่ถูกเมานต์จนกว่าจะเริ่ม Docker คอนเทนเนอร์เริ่มตกลงเนื่องจากการกำหนดค่าเปิดอยู่ /home ซึ่งเป็นไดรฟ์ในเครื่อง อย่างไรก็ตาม คอนเทนเนอร์มีข้อมูลที่ใช้ร่วมกัน เนื่องจาก Docker เริ่มทำงานก่อนที่จะติดตั้งการแชร์ คอนเทนเนอร์จึงผูกกับจุดเมาต์พอยต์เป็นไดเร็กทอรีแทนที่จะเป็นไดเร็กทอรีและสามารถเขียนลงดิสก์ที่นั่นเพื่อเติมระบบไฟล์รูทด้วยไฟล์ที่มองไม่เห็น

ฉันไม่ได้ทำการเปลี่ยนแปลงใด ๆ เมื่อเร็ว ๆ นี้นอกเหนือจากการติดตามการอัปเดตของ Ubuntu แต่ฉันรู้สึกว่าฉันอาจนอนหลับที่ไหนสักแห่งในอดีตเพื่อแก้ไขปัญหานี้ ฉันสามารถทำสิ่งนี้ได้อีกครั้ง แต่ดูเหมือนว่าค่อนข้างไม่สง่างามและฉันสงสัยว่าอาจมีวิธีที่ดีกว่าผ่าน systemd หรืออย่างอื่น

ฉันได้ลองใช้คำสั่งตัวเลขหรือ systemd โดยไม่มีโชค RequiresMountsFor และ ConditionPathIsMountPoint เป็นสองอย่างที่ฉันคิดว่าน่าจะใช้ได้ ฉันยังพยายามบอกบริการนักเทียบท่าให้เริ่มทำงานหลังจาก vbox guest service แต่ก็ไม่ได้ผลเช่นกัน

ข้อเสนอแนะใด ๆ

Jeff Schaller avatar
ru flag
การบอกให้นักเทียบท่าเริ่มทำงานหลังจาก vbox ดูเหมือนจะเป็นทางออกที่ถูกต้อง คุณช่วย [แก้ไข] คำถามของคุณเพื่ออธิบายว่าคุณทำสิ่งนั้นเพื่ออะไร และผลลัพธ์เป็นอย่างไร การประทับเวลา "เริ่มต้น" สำหรับแต่ละบริการควรระบุว่าเริ่มตามลำดับที่ต้องการหรือไม่
cx flag
ขอบคุณ ฉันจะทำตามขั้นตอนที่ฉันทำอีกครั้งและบันทึกรายละเอียดให้เพียงพอเพื่ออัปเดตโพสต์ของฉันด้านบน ขอบคุณสำหรับการตอบสนองของคุณ ฉันเชื่อว่าสิ่งนี้สามารถแก้ไขได้ใน systemd แต่ขั้นตอนที่ฉันทำก่อนหน้านี้ไม่ได้ผล
Score:1
ธง cx

วิธีแก้ไขคือแทนที่ไฟล์บริการ systemd สำหรับคอนเทนเนอร์

วิ่ง

    systemctl แก้ไขคอนเทนเนอร์

เพิ่มสิ่งต่อไปนี้ในสถานที่ที่ระบุไว้ในความคิดเห็น

    [หน่วย]
    หลังจาก=
    After=network.target local-fs.target vboxadd-service.service
    ต้องการ = vboxadd-service.service

คำสั่งแรก After= เคลียร์คำสั่งนั้นพร้อมสำหรับคำสั่งใหม่ จำเป็นต้องใช้ทั้ง After และ Requiresบันทึกไฟล์นี้แล้วรีสตาร์ทโฮสต์

ทำงานโดยไม่มีปัญหาและได้รับการยืนยันโดย 'systemd-analyse plot' ซึ่งเป็นคำสั่งที่มีประโยชน์มากสำหรับการสอบถามคำสั่งรัน systemd ของคุณ วิธีนี้จะรอดจากการอัพเดตซอฟต์แวร์

Jeff Schaller avatar
ru flag
คุณต้องทำการเปลี่ยนแปลงในเวอร์ชัน /etc/systemd/system/ ของไฟล์ เนื่องจากไฟล์ /lib/systemd จะถูกเขียนทับระหว่างการอัปเกรดในอนาคต
cx flag
นั่นเป็นเพียงสัญลักษณ์
cx flag
/etc/systemd/system/multi-user.target.wants/containerd.service -> /lib/systemd/system/containerd.service ฉันควรทำลายลิงก์และคัดลอกไฟล์แล้วแก้ไขหรือไม่
cx flag
พบสิ่งนี้จริงด้วยโดยใช้ 'systemctl edit containerd'
Jeff Schaller avatar
ru flag
คุณไม่ต้องการแก้ไข symlink ใน multi-user.target.wants ไม่ใช่ -- คุณต้องการแก้ไข (หรือสร้าง) ไฟล์ชื่อ `/etc/systemd/system/containerd.service`; อาจคัดลอกต้นฉบับจาก /lib และทำการเปลี่ยนแปลง?
cx flag
ฉันทำมันด้วยการแทนที่แล้ว ฉันจะอัปเดตโพสต์หลักด้วยวิธีแก้ปัญหาขั้นสุดท้าย

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา