Kupatula malo otukuka okhala ndi zotengera za LXD

Ndilankhula za njira yokonzekera madera akumidzi akutali pa malo anga antchito. Njirayi idapangidwa motengera zinthu zotsatirazi:

  • Zilankhulo zosiyanasiyana zimafuna ma IDE osiyanasiyana ndi zida;
  • Ma projekiti osiyanasiyana amatha kugwiritsa ntchito mitundu yosiyanasiyana ya zida ndi malaibulale.

Njira yake ndikukhazikitsa mkati mwa zotengera za LXD zomwe zikuyenda kwanuko pa laputopu kapena malo ogwirira ntchito okhala ndi zithunzi zomwe zimatumizidwa kwa wolandirayo.

Chitsanzo kasinthidwe Ubuntu 20.04.

Kulingalira pa zosankha ndi zifukwa zaperekedwa kumapeto kwa nkhaniyo.

1. Kuyika kwa LXD

Π’ Ubuntu 20.04 LXD sikupezekanso kuti ikhazikitsidwe ngati phukusi la deb, pokhapokha kudzera pazithunzi:

$ snap install lxd

Pambuyo kukhazikitsa muyenera kuchita zoyambira:

$ lxd init

Parameter yokhayo yomwe ndimasintha ndi storage bakend - Ndimagwiritsa ntchito dir monga chophweka. Popeza sindigwiritsa ntchito zithunzi ndi makope, machenjezo mkati zolemba Sakundiwopa:

Mofananamo, bukhu la backend liyenera kuonedwa ngati njira yomaliza.
Imagwira ntchito zonse zazikulu za LXD, koma ndiyochedwa komanso yosagwira ntchito chifukwa siyitha kuchita
Makope apompopompo kapena zithunzithunzi ndiye muyenera kukopera zonse zomwe zasungidwa nthawi zonse.

2. Kukhazikitsa mbiri ya LXD

Mbiri mu LXD - awa ndi magawo a magawo omwe amagwiritsidwa ntchito pazotengera zingapo. Pazosowa zanga, mbiri yokhayo yomwe idapangidwa mwachisawawa ndiyokwanira kwa ine default ndi zosintha zotsatirazi:

  • $ lxc profile device add default X0 disk source=/tmp/.X11-unix/X0 path=/tmp/.X11-unix/X0 - kotero kuti mapulogalamu omwe ali muzotengera azitha kulumikizana ndi seva yolandila X11;
  • $ lxc profile set default environment.DISPLAY :0 - kotero kuti kusintha kwa chilengedwe DISPLAY anaikidwa bwino mu zotengera;
  • $ lxc profile set default raw.idmap "both 1000 1000" - Zangwiro chizindikiro cha mapu.

3. Kupanga ndi kukhazikitsa chidebe

Kupanga chidebe chotengera chithunzi images:ubuntu/20.04:

$ lxc launch images:ubuntu/20.04 dev1

Ndimakonda zithunzi za m'nkhokwe https://images.linuxcontainers.org, popeza ali ndi mapulogalamu ochepa omwe adayikiratu. Pazifukwa izi ndinawonjezera prefix images: ku dzina lachithunzi. Kupanga chidebe chotengera chithunzi kuchokera ku Ubuntu repository zitha kuchitika motere: $ lxc launch ubuntu/20.04 dev1.

Kufikira pachigoba cha mizu ya chidebecho:

$ lxc exec dev1 -- bash

Ndikhazikitsa Firefox ndi VS Code (kuchokera kunkhokwe malinga ndi malangizo):

$ apt update
$ apt install curl gpg firefox

$ curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
$ install -o root -g root -m 644 packages.microsoft.gpg /usr/share/keyrings/
$ echo "deb [arch=amd64 signed-by=/usr/share/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list

$ apt update
$ apt install code

Ndiphatikiza chidebe kuti chimveke bwino.

poweroff

Bonasi! Ndikosavuta kuponya GPU mu chidebe kuti mapulogalamu omwe akuyendetsamo agwiritse ntchito khadi lojambula. Kuti muchite izi muyenera:

  • onjezani chipangizo $ lxc config device add dev1 mygpu gpu;
  • khazikitsani madalaivala a makadi a kanema mu chidebe - zomwezo zomwe zimayikidwa pa wolandirayo.

4. Kugwiritsa ntchito chidebe

Ngati chidebe sichikuyenda, muyenera kuyiyambitsa:

lxc start dev1

Kuthamanga VS Code ngati osagwiritsa ntchito mizu Ubuntu:

lxc exec dev1 -- sudo --login --user ubuntu code

Tsegulani Firefox:

lxc exec dev1 -- sudo --login --user ubuntu firefox

Mawindo ogwiritsira ntchito adzawonetsedwa pa wolandirayo, koma adzaperekedwa mkati mwa chidebecho - mofanana ndi kutumiza zithunzi pogwiritsa ntchito ssh.

Sindimatseka pamanja zotengera zomwe zikuyenda, chifukwa sindikuwona mfundo yochulukirapo - ndimadziletsa kutseka mawindo ogwiritsira ntchito.

5. Kutsiliza

Ndimakonda kusagwiritsa ntchito makina opangira ma OS popanga chitukuko, chifukwa izi zingafune kukhazikitsa zida zachitukuko, zosintha zamalaibulale, kukonza magawo adongosolo mwanjira inayake, ndikusintha kwina. Zonsezi zitha kuyambitsa machitidwe osayembekezeka mu mapulogalamu ena osatukuka, kapena OS yonse. Mwachitsanzo, kusintha kwa kasinthidwe ka OpenSSL kungapangitse OS kusiya kuyamba bwino.

Ndayesa zida zosiyanasiyana kuti ndipatule malo achitukuko:

  • makina enieni (KVM, VirtualBox, etc.) ndi njira yodziwikiratu, koma amawononga zinthu zambiri, ngakhale kuti palibe njira zina zopangira chitukuko pansi pa Windows (ngati mwiniwakeyo ndi Linux);
  • zida zopangira mtambo zomwe zikuyenda pamakina am'deralo (Cloud9 mu chidebe kapena makina enieni, Eclipse Che, etc.) - sizinapangidwe kuti zigwiritsidwe ntchito, zimafunikira kasinthidwe ndi kukonza kowonjezera, ndikwabwino kuzigwiritsa ntchito pazolinga zawo. cholinga - mu mtambo;
  • Zotengera za Docker zimapangidwiranso china; m'malingaliro mwanga, sizothandiza kuti zitheke mwachangu kugwiritsa ntchito mapulogalamu omwe sanapakidwe m'matumba osiyana.

Njira yosankhidwa imandichititsa chidwi ndi kuphweka kwake komanso chotchinga chochepa cholowera. Muzotengerazo, mutha kugwiritsa ntchito njira zenizeni za projekiti: kukhazikitsa ndikusintha chilichonse pamanja, kapena gwiritsani ntchito makina (Puppet, Ansible, etc.), ngakhale tumizani. Docker-based maziko. Ndimagwiritsanso ntchito zotengera za LXD kuyendetsa mapulogalamu enaake omwe amafunikira kuyika zodalira zambiri kapena mtundu wina wa OS - apa mutha kupanga chidebe chokhala ndi mtundu wa OS womwe mukufuna, mwachitsanzo. $ lxc launch images:ubuntu/16.04 dev16.

Ndikofunikira kukumbukira kuti pankhani ya kudzipatula, kontena imakhala ndi chiwopsezo chokulirapo poyerekeza ndi virtualization - wolandila ndi chidebe amagawana pachiwopsezo chimodzi, chiwopsezo chomwe chingalole pulogalamu yaumbanda kuthawa mumtsuko. Poyesa mapulogalamu okayikitsa, ndi bwino kugwiritsa ntchito njira zoyenera zodzipatula.

maulalo othandiza

Source: www.habr.com

Kuwonjezera ndemanga