Score:0

บรรทัดคำสั่ง multipass cloud-init ไม่พบไฟล์ yaml

ธง jp

นี่ดูเหมือนเป็นคำถามที่งี่เง่าเพราะมันง่ายเกินไป

แต่

เพิ่งเริ่มเปียกด้วย multipass ดังนั้นสิ่งแรกที่ฉันลองใช้คือการใช้ไฟล์ cloud init แต่ข้อผิดพลาดในการรายงาน multipass: ไม่มีไฟล์ดังกล่าว:

[opt/multipass] $ multipass เปิดตัว -n ทดสอบ --cloud-init setup.yaml

ข้อผิดพลาด: ไม่มีไฟล์ดังกล่าว: setup.yaml

ฉันจึงพยายาม ./setup.yaml และเส้นทางที่แน่นอน /opt/multipass/setup.yaml ทั้งหมดให้เหมือนกันไม่มีข้อผิดพลาดของไฟล์ดังกล่าว

/opt/มัลติพาส

drwxrwsr-x+ 2 ผู้ใช้ david 4096 6 ก.พ. 08:04 ./
drwxrwsr-x+ 44 ผู้ใช้ดูแลระบบ 4096 6 ก.พ. 07:24 ../
-rw-rw-r--+ 1 david users 256 ก.พ. 6 07:50 setup.yaml

ฉันพลาดอะไรไปที่นี่? ตัวอย่างทั้งหมดมีลักษณะเช่นนี้ https://ubuntu.com/blog/using-cloud-init-with-multipass มันให้ข้อผิดพลาดนี้หรือไม่หากมีปัญหาในไฟล์ yaml? ไฟล์ yaml จำเป็นต้องอยู่ในไดเร็กทอรีเฉพาะหรือไม่? หรือมีเจ้าของเฉพาะสิทธิ์ (ตอนนี้ทุกคนอ่านได้แล้ว) ดูเหมือนง่ายมาก .. ควรจะใช้งานได้หรือไม่

setup.yaml

ผู้ใช้:
    - ค่าเริ่มต้น
    - ชื่อ: อูบุนตู
    - sudo: ALL=(ทั้งหมด) NOPASSWD:ทั้งหมด
      plain_text_passwd: 'อูบุนตู'
      โฮม: /โฮม/อูบุนตู
      เชลล์: /bin/bash
      lock_passwd: เท็จ
      gecos: อูบุนตู
      กลุ่ม: [adm, เสียง, cdrom, โทรออก, ฟล็อปปี้ดิสก์, วิดีโอ, plugdev, dip, netdev, sudo]
Score:0
ธง jp

คำถามนั้นไม่งี่เง่าโดยสิ้นเชิงเนื่องจากปัญหาเกิดขึ้นเนื่องจาก snaps ไม่จำเป็นต้องเข้าถึงระบบไฟล์โฮสต์และ multipass เป็นแอปพลิเคชัน snap

ตามค่าเริ่มต้นแม้ว่าเมื่อคุณติดตั้ง multipass มันจะเข้าถึงไดเร็กทอรีโฮมของผู้ใช้ ดังนั้นเมื่อค้นหาไฟล์ clould init จะต้องสัมพันธ์กับโฮมไดเร็กตอรี่ของคุณ และฉันมีไฟล์ yaml อยู่ /opt/มัลติพาส และ multipass ไม่สามารถ "เห็น" ที่นั่นตามค่าเริ่มต้น

ดังนั้นการย้ายไฟล์ yaml ไปที่ ~/multipass/setup.yaml แล้วใช้

multipass เปิดตัว -n ทดสอบ --cloud-init ./multipass/setup.yaml จากโฮมไดเร็กตอรี่ทำงาน

สคริปต์ทุบตี / ฟังก์ชันพร้อมนามแฝง นามแฝง mpl="multipass_launch" สามารถทำให้เปิดตัวได้ง่าย

multipass_launch () {
    subdir=${MULTIPASS_HOME:-cloud-init}
    [[ $1 ]] && ชื่อ="-n $1"
    ถ้า [[ $2 ]]; แล้ว
     ถ้า [[ -f $HOME/$subdir/$2.yaml ]]; แล้ว
       init="--cloud-init $HOME/$subdir/$2.yaml"
     อื่น 
      echo ไม่มีไฟล์เริ่มต้นระบบคลาวด์ $HOME/$subdir/$2.yaml
      กลับ 1
     ไฟ
   ไฟ  
    เสียงสะท้อนทำงาน: multipass เปิดตัว $name $init
    multipass เปิดตัว $name $init
 }
 }

ตอนนี้การเปิดตัวด้วยไฟล์ cloud init จะกลายเป็น การตั้งค่าการทดสอบ mpl

หากคุณต้องการเก็บไฟล์ multipass สามารถหาได้จากที่อื่น ให้ใช้ bindfs

โพสต์คำตอบ

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