Puncte:0

linia de comandă multipass cloud-init nu găsește fișierul yaml

drapel jp

Aceasta pare o întrebare destul de prostească, deoarece este prea simplă.

dar

Pur și simplu ud picioarele cu multipass, așa că unul dintre primele lucruri pe care le încerc este să folosesc un fișier de inițializare cloud. Dar multipass raportează eroare: Nu exista asemenea fisier:

[opt/multipass] $ lansare multipass -n test --cloud-init setup.yaml

eroare: Nu există un astfel de fișier: setup.yaml

asa ca am incercat ./setup.yaml și calea absolută /opt/multipass/setup.yaml toate nu dau aceeași eroare de fișier.

/opt/multipass

drwxrwsr-x+ 2 utilizatori david 4096 6 februarie 08:04 ./
drwxrwsr-x+ 44 de utilizatori sysadmin 4096 6 februarie 07:24 ../
-rw-rw-r--+ 1 utilizatori david 256 6 februarie 07:50 setup.yaml

Ce îmi lipsește aici? toate exemplele arată așa. https://ubuntu.com/blog/using-cloud-init-with-multipass Dă această eroare dacă există o problemă în fișierul yaml? Fișierele yaml trebuie să fie într-un anume director? sau au anumite permisiuni de proprietar (este citit pentru toată lumea acum). Asta pare atât de simplu... ar trebui să funcționeze, nu?

setup.yaml

utilizatori:
    - Mod implicit
    - nume: ubuntu
    - sudo: ALL=(ALL) NOPASSWD:ALL
      plain_text_passwd: „ubuntu”
      acasă: /acasă/ubuntu
      shell: /bin/bash
      lock_passwd: fals
      gecos: Ubuntu
      grupuri: [adm, audio, cdrom, dialout, floppy, video, plugdev, dip, netdev, sudo]
Puncte:0
drapel jp

Ei bine, întrebarea nu a fost complet proastă, deoarece problema vine deoarece snaps-urile nu au neapărat acces la sistemul de fișiere gazdă și multipass este o aplicație snap.

În mod implicit, totuși, atunci când instalați multipass, are acces la directorul de pornire al utilizatorului, așa că atunci când căutați fișiere init clould, trebuie să fie relativ la directorul dvs. de acasă și am avut fișierele yaml în /opt/multipass și multipass nu poate „vedea” acolo în mod implicit.

Deci, mutarea fișierului yaml la ~/multipass/setup.yaml iar apoi folosind

lansare multipass -n test --cloud-init ./multipass/setup.yaml din directorul principal funcționează.

Un script/funcție bash cu un alias alias mpl="lansare_multipass" poate face lansarea ușoară

lansare_multipass () {
    subdir=${MULTIPASS_HOME:-cloud-init}
    [[ $1 ]] && name="-n $1"
    dacă [[ $2 ]]; atunci
     dacă [[ -f $HOME/$subdir/$2.yaml ]]; atunci
       init="--cloud-init $HOME/$subdir/$2.yaml"
     altfel 
      echo no cloud init file $HOME/$subdir/$2.yaml
      întoarce 1
     fi
   fi  
    echo rulează: lansare multipass $name $init
    lansare multipass $name $init
 }
 }

acum lansarea cu acel fișier cloud init devine configurarea testului mpl

dacă doriți să păstrați fișierele multipass pe care le puteți găsi în altă parte, atunci utilizați bindfs

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.