![Kako ustaviti in onemogočiti neželene storitve v sistemu Linux](/f/64c42673573d278efb2437654acb9cda.png?width=100&height=100)
LXC, kratica za Kontejnerji za Linux, je lahka rešitev za virtualizacijo na osnovi jedra Linuxa, ki praktično deluje na vrhu operacijskega sistema in vam omogoča, da hkrati zaženete več izoliranih distribucij.
Razlika med LXC in Virtualizacija KVM je, da LXC ne posnema strojne opreme, ampak ima isti imenski prostor jedra, podobno kot pri kroot aplikacijah.
Zaradi tega je LXC zelo hitra rešitev za virtualizacijo v primerjavi z drugimi rešitvami za virtualizacijo, kot je npr KVM, XEN ali VMware.
Ta članek vas bo vodil o tem, kako lahko namestite, uvedete in zaženete vsebnike LXC v distribucijah CentOS/RHEL in Fedora.
Delujoči operacijski sistem Linux z minimalno namestitvijo:
1. Virtualizacija LXC je zagotovljena prek Skladišča Epel. Če želite uporabiti to repo, odprite terminal in v sistem namestite skladišča Epel v sistem z naslednjim ukazom:
# yum namestite epel-release.
2. Preden nadaljujete s postopkom namestitve LXC, se prepričajte Perl jezikovnega tolmača in pakete za odpravljanje zagona namestite z izdajo spodnjih ukazov.
# yum install debootstrap perl libvirt.
3. Končno namestite rešitev virtualizacije LXC z naslednjim ukazom.
# yum namestite lxc lxc-predloge.
4. Po namestitvi storitve LXC preverite, ali LXC in libvirt daemon teče.
# systemctl status lxc.service. # systemctl zaženite lxc.service. # systemctl start libvirtd # systemctl status lxc.service.
Preverite stanje demona LXC
[[zaščiteno po e -pošti] ~]# systemctl status lxc.service lxc.service - Inicializacija vsebnika LXC in koda za samodejni zagon Naložena: naloženo (/usr/lib/systemd/system/lxc.service; onemogočeno) Aktivno: neaktivno (mrtvo) [[zaščiteno po e -pošti] ~]# systemctl zaženite lxc.service [[zaščiteno po e -pošti] ~]# systemctl status lxc.service lxc.service - Inicializacija vsebnika LXC in koda za samodejni zagon Naložena: naloženo (/usr/lib/systemd/system/lxc.service; onemogočeno) Aktivno: aktivno (zapustilo)od petka 2016-04-01 02:33:36 EDT; Pred 1 min 37s Postopek: 2250 ExecStart =/usr/libexec/lxc/lxc-autostart-helper start (code = exited, status = 0/SUCCESS) Process: 2244 ExecStartPre =/usr/libexec/lxc/lxc-devsetup (code = exited, status = 0/SUCCESS) Glavni PID: 2250 (code = exited, status = 0/SUCCESS) 01. april 02:33:06 mail systemd [1]: Zagon inicializacije LXC vsebnika in koda za samodejni zagon... 1. april 02:33:06 pošta lxc-devsetup [2244]: Ustvarjanje /dev/.lxc. 1. april 02:33:06 pošta lxc-devsetup [2244]: /dev is devtmpfs. 1. april 02:33:06 pošta lxc-devsetup [2244]: Ustvarjanje /dev/.lxc/user. 1. april 02:33:36 mail lxc-autostart-helper [2250]: Zagon vsebnikov za samodejni zagon LXC: [OK] 1. april 02:33:36 mail systemd [1]: Začetek inicializacije vsebnika LXC in koda za samodejni zagon.
in preverite stanje virtualizacije jedra LXC z izdajo spodnjega ukaza.
# lxc-checkconfig.
Preverite konfiguracijo virtualizacije jedra LXC
[[zaščiteno po e -pošti] ~]# lxc-checkconfig
Konfiguracije jedra ni mogoče najti na /proc/config.gz; iščem... Konfiguracijo jedra najdete na /boot/config-3.10.0-229.el7.x86_64. Imenski prostori imenski prostori: omogočeno
Utsname imenski prostor: omogočeno
Imeniški prostor IPC: omogočeno
Pid imenski prostor: omogočeno
Uporabniški imenski prostor: omogočeno
Mrežni imenski prostor: omogočeno
Več primerov /dev /pts: omogočeno Kontrolne skupine Cskupina: omogočeno
Cgroup clone_children zastava: omogočeno
Naprava Cgroup: omogočeno
Razpored skupin C: omogočeno
CPU račun Cgroup: omogočeno
Pomnilniški krmilnik Cgroup: omogočeno
Cgroup cpuset: omogočeno Razno parna naprava Veth: omogočeno
Macvlan: omogočeno
Vlan: omogočeno
Mostovi: omogočeno
Napredni mrežni filter: omogočeno
CONFIG_NF_NAT_IPV4: omogočeno
CONFIG_NF_NAT_IPV6: omogočeno
CONFIG_IP_NF_TARGET_MASQUERADE: omogočeno
CONFIG_IP6_NF_TARGET_MASQUERADE: omogočeno
CONFIG_NETFILTER_XT_TARGET_CHECKSUM: omogočeno Checkpoint/Restore Obnovitev kontrolne točke: manjka. CONFIG_FHANDLE: omogočeno
CONFIG_EVENTFD: omogočeno
CONFIG_EPOLL: omogočeno
CONFIG_UNIX_DIAG: omogočeno
CONFIG_INET_DIAG: omogočeno
CONFIG_PACKET_DIAG: omogočeno
CONFIG_NETLINK_DIAG: omogočeno
Zmožnosti datotek: omogočeno Opomba: Pred zagonom novega jedra lahko preverite njegovo konfiguracijo. uporaba: CONFIG =/path/to/config/usr/bin/lxc-checkconfig.
5. Če želite prikazati razpoložljive vsebnike predlog LXC, ki so že nameščeni v vašem sistemu, izdajte spodnji ukaz.
# ls -alh/usr/share/lxc/templates/
Seznam vsebnikov LXC predlog
skupaj 344 tisoč. drwxr-xr-x. 2 korenski koren 4,0K 1. april 02:32. drwxr-xr-x. 6 koreninski koren 100 apr 1 02:32.. -rwxr-xr-x. 1 koren koren 11K 15. nov. 10:19 lxc-alpski. -rwxr-xr-x. 1 korenski koren 14K 15. november 10:19 lxc-altlinux. -rwxr-xr-x. 1 korenski koren 11K 15. november 10:19 lxc-archlinux. -rwxr-xr-x. 1 korenski koren 9,7K 15. nov. 10:19 lxc-busybox. -rwxr-xr-x. 1 korenski koren 29K 15. nov. 10:19 lxc-centos. -rwxr-xr-x. 1 korenski koren 11K 15. nov. 10:19 lxc-cirros. -rwxr-xr-x. 1 korenski koren 17K 15. november 10:19 lxc-debian. -rwxr-xr-x. 1 korenski koren 18K 15. november 10:19 lxc-download. -rwxr-xr-x. 1 korenski koren 49K 15. nov. 10:19 lxc-fedora. -rwxr-xr-x. 1 korenski koren 28K 15. nov. 10:19 lxc-gentoo. -rwxr-xr-x. 1 korenski koren 14K 15. nov. 10:19 lxc-openmandriva. -rwxr-xr-x. 1 korenski koren 14K 15. nov. 10:19 lxc-opensuse. -rwxr-xr-x. 1 korenski koren 35K 15. november 10:19 lxc-oracle. -rwxr-xr-x. 1 koreninski koren 12K 15. nov. 10:19 lxc-plamo. -rwxr-xr-x. 1 korenski koren 6,7K 15. nov. 10:19 lxc-sshd. -rwxr-xr-x. 1 korenski koren 23K 15. november 10:19 lxc-ubuntu. -rwxr-xr-x. 1 korenski koren 12K 15. november 10:19 lxc-ubuntu-cloud.
6. Postopek ustvarjanja vsebnika LXC je zelo preprost. Sintaksa ukaza za ustvarjanje novega vsebnika je razložena spodaj.
# lxc -create -n ime_kontejnerja -t vsebnik_predloga.
V spodnjem odlomku bomo ustvarili nov vsebnik z imenom mydeb
na podlagi a debian
predlogo, ki bo izvlečena iz skladišč LXC.
Ustvarjanje LXC vsebnika
[[zaščiteno po e -pošti] ~]# lxc -create -n mydcb -t debian
debootstrap je/usr/sbin/debootstrap. Preverjanje prenosa predpomnilnika v/var/cache/lxc/debian/rootfs-jessie-amd64... Prenos minimalnega debiana... W: Podpisa izdaje ni mogoče preveriti; datoteka obeska za ključe ni na voljo /usr/share/keyrings/debian-archive-keyring.gpg. I: Pridobivanje izdaje I: Pridobivanje paketov I: Preverjanje paketov I: Odpravljanje odvisnosti zahtevanih paketov... I: Odpravljanje odvisnosti osnovnih paketov... ...
7. Po vrsti osnovnih odvisnosti in paketov, ki bodo naloženi in nameščeni v vašem sistemu, bo vsebnik ustvarjen. Ko se postopek konča, se v sporočilu prikaže vaše privzeto geslo za korenski račun. To geslo spremenite, ko zaženete in se prijavite v konzolo vsebnika, da boste varni.
so podprte in nameščene v vašem sistemu. perl: opozorilo: Vrnitev na standardno področno nastavitev ("C"). Branje /proc /cmdline ni uspelo. Ignoriranje: Taka datoteka ali imenik ni. invoke-rc.d: policy-rc.d zavrnil izvajanje zagona. Časovni pas v vsebniku ni nastavljen. Prilagodite ga ročno. Root geslo je 'koren', spremenite! Ustvarjanje področij (to lahko traja nekaj časa)... en_IN.en_IN... datoteke zemljevida znakov `en_IN 'ni mogoče najti: take datoteke ali imenika ni. /usr/share/i18n/locales/en_IN: 55: LC_MONETARY: neznani znak v polju `currency_symbol 'dokončan. Generacija končana.
8. Zdaj lahko uporabite lxc-ls
za seznam vaših zabojnikov in lxc-info
pridobiti informacije o delujočem/ustavljenem vsebniku.
Za zagon na novo ustvarjenega vsebnika v ozadju (bo deloval kot demon z določitvijo -d
možnost) izdajte naslednji ukaz:
# lxc -start -n mydeb -d.
9. Ko je zabojnik zagnan, lahko s pomočjo lxc-ls --aktiven
ukaz in dobite podrobne informacije o delujočem vsebniku.
# lxc-ls --aktiven.
10. Če se želite prijaviti v konzolo vsebnika, izdajte datoteko lxc-konzola
ukaza proti delujočemu imenu vsebnika. Prijavite se z uporabniškim korenom in geslom, ki ga privzeto ustvari nadzornik lxc.
Ko ste prijavljeni v vsebnik, lahko zaženete več ukazov, da preverite distribucijo tako, da prikažete datoteko /etc/issue.net
vsebino datoteke, z izdajo spremenite korensko geslo passwd
ukaz ali si oglejte podrobnosti o omrežnih vmesnikih z ifconfig
.
# lxc -console -n mydeb. # mačka /etc/issue.net. # ifconfig. # passwd.
Povežite se z vsebnikom LXC
[[zaščiteno po e -pošti]~]# lxc -console -n mydcb Povezan s tty 1. Za izhod iz konzole vnesite & ltCtrl+a q>,za vnos Ctrl+a sam Debian GNU/Linux 8 mydcb tty1 mydcb prijava: koren Geslo: Zadnja prijava: 1. apr. 07:39:08 UTC 2016 na konzoli. Linux mydcb 3.10.0-229.el7.x86_64 #1 SMP pet mar 6 11:36:42 UTC 2015 x86_64 Programi, vključeni v sistem Debian GNU/Linux, so brezplačna programska oprema; natančni pogoji distribucije za vsak program so opisani v. posamezne datoteke v/usr/share/doc/*/copyright. Debian GNU/Linux prihaja z ABSOLUTNO BREZ GARANCIJE. dovoljeno z veljavno zakonodajo. [zaščiteno po e -pošti]:~# mačka /etc/issue.net Debian GNU/Linux 8. [zaščiteno po e -pošti]:~# ifconfig eth0 Link encap: Ethernet HWaddr 00: 16: 3e: d9: 21: d7 inet6 addr: fe80:: 216: 3eff: fed9: 21d7/64 Področje uporabe: UP UP BROADCAST RUNNING MULTICAST MTU: 1500 Metric: 1 RX paketi: 107 napak: 0 padlo: 0 prekoračitev: 0 okvir: 0 paketi TX: 8 napak: 0 padlo: 0 prekoračitev: 0 nosilec: 0 trkov: 0 txqueuelen: 1000 RX bajtov: 5796 (5,6 KiB) TX bajtov: 648 (648,0 B) lo Zajemanje povezave: Lokalna zanka inet addr: 127.0.0.1 Maska: 255.0.0.0 inet6 addr::: 1/128 Obseg: Host UP LOOPBACK RUNNING MTU: 65536 Metrika: 1 RX paketov: 0 napak: 0 padlo: 0 prekoračitev: 0 okvir: 0 paketov TX: 0 napak: 0 padlo: 0 prekoračitev: 0 nosilec: 0 trkov: 0 txqueuelen: 0 RX bajtov: 0 (0,0 B) TX bajtov: 0 (0,0 B) [zaščiteno po e -pošti]:~# root root Vnesite novo geslo UNIX: Ponovno vnesite novo geslo UNIX: passwd: geslo je uspešno posodobljeno.
11. Če se želite ločiti od konzole vsebnika in se vrniti na konzolo gostitelja, pustite vsebnik v aktivnem stanju, pritisnite Ctrl+a
potem q
na tipkovnici.
Če želite ustaviti delujoč vsebnik, izdajte naslednji ukaz.
# lxc -stop -n mydcb.
12. Če želite ustvariti vsebnik LXC na podlagi predloge Ubuntu, vnesite /usr/sbin/
imenik in ustvarite naslednje debootstrap simbolna povezava.
# cd /usr /sbin. # ln -s debootstrap qemu -debootstrap.
13. Uredi qemu-debootstrap
datoteko z Vi urednik in zamenjata naslednja dva OGLEDALO vrstice, kot sledi:
DEF_MIRROR = ” http://mirrors.kernel.org/ubuntu” DEF_HTTPS_MIRROR = ” https://mirrors.kernel.org/ubuntu”
Za referenco poglejte naslednjo vsebino in postavite zgornji dve vrstici, kot je navedeno:
... MAKE_TARBALL = "" EXTRACTOR_OVERRIDE = "" UNPACK_TARBALL = "" DODATNO = "" IZKLJUČI = "" VERBOSE = "" CERTIFICATE = "" CHECKCERTIF = "" PRIVATEKEY = ""DEF_MIRROR = ” http://mirrors.kernel.org/ubuntu” DEF_HTTPS_MIRROR = ” https://mirrors.kernel.org/ubuntu”
14. Končno ustvarite nov vsebnik LXC, ki temelji na Ubuntu predloga, ki izdaja isto lxc-create
ukaz.
Ko se postopek ustvarjanja vsebnika Ubuntu konča, se prikaže sporočilo, ki prikazuje vaše privzete poverilnice za prijavo v vsebnik, kot je prikazano na spodnjem posnetku zaslona.
# lxc -create -n myubuntu -t ubuntu.
Ustvarite LXC zabojnik Ubuntu
Preverjanje prenosa predpomnilnika v/var/cache/lxc/natančno/rootfs-amd64... Namestitev paketov v predlogo: ssh, vim, language-pack-en. Prenos natančnega minimalnega ubuntuja...
15. Če želite ustvariti poseben vsebnik na podlagi lokalne predloge, uporabite naslednjo skladnjo:
# lxc -create -n ime_kontejnerja -t kontejner_template --r distro_release -a distro_architercture
Tukaj je odlomek ustvarjanja debian piskanje posodo z amd64 sistemska arhitektura.
# lxc -create -n mywheezy -t debian --r wheezy -a amd64.
Ustvarite LXC zabojnik na podlagi Distro arhitekture
debootstrap je /sbin /debootstrap. Preverjanje prenosa predpomnilnika v/var/cache/lxc/debian/rootfs-wheezy-amd64... Prenos minimalnega debiana... W: Podpisa izdaje ni mogoče preveriti; datoteka obeska za ključe ni na voljo /usr/share/keyrings/debian-archive-keyring.gpg. I: Pridobivanje izdaje I: Pridobivanje paketov I: Preverjanje paketov I: Odpravljanje odvisnosti zahtevanih paketov... I: Odpravljanje odvisnosti osnovnih paketov... I: Najdene so dodatne zahtevane odvisnosti: insserv libbz2-1.0 libdb5.1 libsemanage-common libsemanage1 libslang2 libustr-1.0-1 I: Najdene so dodatne osnovne odvisnosti: adduser debian-archive-keyring gnupg gpgv isc-dhcp-common libapt-pkg4.12 libbsd0 libclass-isa-perl libedit2 libgdbm3 libgssapi-krb5-2 libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 libncursesw5 libprocps0 libreadline6 libssl1.0.0 libstdc ++ 6 libswitch-perl libusb-0.1-4 libwrap0 openssh-client perl perl-moduli procps readline-skupno I: Preverjanje komponente glavni na http://http.debian.net/debian... I: Pridobivanje libacl1 2.2.51-8. I: Potrditev libacl1 2.2.51-8. I: Pridobivanje adduserja 3.113+nmu3. I: Preverjanje adduserja 3.113+nmu3. I: Pridobivanje apt 0.9.7.9+deb7u7. I: Potrditev apt 0.9.7.9+deb7u7. I: Pridobivanje libapt-pkg4.12 0.9.7.9+deb7u7. I: Potrditev libapt-pkg4.12 0.9.7.9+deb7u7. I: Pridobivanje libattr1 1: 2.4.46-8. I: Potrditev libattr1 1: 2.4.46-8. I: Pridobivanje osnovnih datotek 7.1wheezy9. I: Preverjanje osnovnih datotek 7.1wheezy9. I: Pridobivanje base-passwd 3.5.26...
16. Na primer, lahko ustvarite tudi posebne vsebnike za različne izdaje distribucij in arhitekture iz splošne predloge, ki bo prenesena iz skladišč LXC, kot je prikazano spodaj primer.
# lxc -create -n mycentos6 -t prenos --d centos -r 6 -a i386.
Tukaj je seznam lxc-create
stikala ukazne vrstice:
-n = ime -t = predloga. -d = distibucija. -a = lok -r = sprostitev.
17. Vsebnike lahko z gostitelja izbrišete z lxc-uničiti
ukaz, izdan proti imenu vsebnika.
# lxc -uniči -n mywheezy.
18. Vsebnik lahko klonirate iz obstoječega vsebnika z izdajo lxc-klon
ukaz:
# lxc-klon mydeb mydeb-klon.
19. In končno, vsi ustvarjeni vsebniki prebivajo v /var/lib/lxc/
imenik. Če morate iz nekega razloga ročno prilagoditi nastavitve vsebnika, morate urediti konfiguracijsko datoteko iz vsakega imenika vsebnika.
# ls/var/lib/lxc.
To so le osnovne stvari, ki jih morate vedeti, če se želite premakniti v LXC.