„COMP::OmegaByte::Linux beállítás” változatai közötti eltérés
| (6 közbenső módosítás ugyanattól a szerkesztőtől nincs mutatva) | |||
| 83. sor: | 83. sor: | ||
* Aktiváljuk a ''Virtuális gép indítása a gép indulásakor'' opciót | * Aktiváljuk a ''Virtuális gép indítása a gép indulásakor'' opciót | ||
* Kattintsunk a ''Befejezés'' gombra | * Kattintsunk a ''Befejezés'' gombra | ||
=== Teljes képernyős megjelenítő === | === Teljes képernyős megjelenítő === | ||
| 89. sor: | 88. sor: | ||
Lépések: | Lépések: | ||
* Hozzuk létre a ''/etc/profiles.d/virtviewer.sh'' állományt ''root'' joggal: | * Hozzuk létre a ''/etc/profiles.d/virtviewer.sh'' állományt ''root'' joggal: | ||
* Írjuk bele az alábbi scriptet: | sudo nano /etc/profiles.d/virtviewer.sh | ||
* Írjuk bele az alábbi scriptet: | |||
sleep 30s && virt-viewer -f vm1 & | |||
* Mentsük el és lépjünk ki a szerkesztésből | * Mentsük el és lépjünk ki a szerkesztésből | ||
=== Statikus IP cím beállítása === | === Statikus IP cím beállítása === | ||
'''''Végül nem ez a megoldás lett alkalmazva, a megoldás csak az információ megtartása miatt került bele a dokumentációba!''''' | |||
Ahhoz, hogy a vendég OS megosztásait megbízhatóan fel tudjuk csatolni, szükségünk lesz egy statikus IP címre. Ezt a virtuális gép kezelőn keresztül tehetjük meg. | Ahhoz, hogy a vendég OS megosztásait megbízhatóan fel tudjuk csatolni, szükségünk lesz egy statikus IP címre. Ezt a virtuális gép kezelőn keresztül tehetjük meg. | ||
* Másoljuk ki a virtuális gép konfigurációjából a MAC címet - NiC | * Másoljuk ki a virtuális gép konfigurációjából a MAC címet - NiC | ||
| 171. sor: | 174. sor: | ||
Szúrjuk be a következő sort a végére: | Szúrjuk be a következő sort a végére: | ||
@reboot root sleep 3m && mount ''<xp_ip>/C | @reboot root sleep 3m && mount ''<xp_ip>/C | ||
=== Időbeállítás vendég OS-en === | |||
A vendég OS kezdőidejét XML formátumban állíthatjuk be. | |||
<syntaxhighlight lang="xml"> | |||
<clock offset="utc"> | |||
<timer name="rtc" tickpolicy="catchup"/> | |||
<timer name="pit" tickpolicy="delay"/> | |||
<timer name="hpet" present="yes"/> | |||
</clock> | |||
</syntaxhighlight> | |||
A fenti sorban az ''offset'' paramétert kell át írnunk ''localtime''-ra Windows esetén, így a Linux rendszer időzónája szerinti időt állítjuk be induláskor. Az alatta lévő ''rtc'' timer segítségével állíthatjuk be, hogy mi történjen, ha megállítottuk a virtuális gépet (''pause''). A ''catchup'' azt jelenti, hogy gyorsítva lejátszik minden kihagyott órajelet - a Windows rendszeren az óra gyorsítva fog pörögni. | |||
''Catchup'' helyett jó lenne ''discard'' opciót használni, de ezt jelen állapotban nem támogatja a QEMU. | |||
==== XML szerkesztése futó rendszeren ==== | |||
<syntaxhighlight lang="bash"> | |||
virsh list # VM-ek listázása | |||
virsh edit vm1 # kiválasztott (vm1) VM szerkesztése | |||
</syntaxhighlight> | |||
Itt szúrjuk be a konfigurációt | |||
<syntaxhighlight lang="xml"> | |||
<clock offset="localtime"> | |||
<timer name="rtc" tickpolicy="catchup"/> | |||
<timer name="pit" tickpolicy="delay"/> | |||
<timer name="hpet" present="yes"/> | |||
</clock> | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash"> | |||
virsh shutdown vm1 # VM leállítása | |||
virsh start vm1 # VM elindítása | |||
export DISPLAY=:0 # GUI-ra küldés | |||
virt-viewer --full-screen vm1 & # Grafikus alkalmazás megnyitása :0-n | |||
</syntaxhighlight> | |||
'''Fontos''', hogy a fenti scriptet annak a felhasználónak a nevében futtassuk, aki a grafikus felületen be van jelentkezve. | |||
A fenti script futtatása után a felhasználói képernyőn megjelenik a virtuális gép képe, teljes képernyős módban. | |||
== Scriptek == | == Scriptek == | ||
A lap jelenlegi, 2023. szeptember 28., 21:34-kori változata
Linux beállítása virtualizáláshoz
Az itt leírt fájlok elérési útvonala változhat különböző disztribúciók esetén
IOMMU támogatás aktiválása kernelben
Az IOMMU támogatás azt jelenti, hogy a processzor VT-d technológiájának köszönhetően virtualizálhatjuk hardvereinket.
Az aktiváláshoz a következő lépések szükségesek:
- Lépjünk át root üzemmódba: sudo su, majd írjuk be jelszavunk
- Nyissuk meg a etc/default/grub állományt egy szövegszerkesztővel, pl.: nano /etc/default/grub
- Keressük meg az alábbi változót: GRUB_CMDLINE_LINUX_DEFAULT
- Szerkesszük az értéket, úgy, hogy hozzáfűzzük a következőt: intel_iommu=on
- Az eredmény: GRUB_CMDLINE_LINUX_DEFAULT='quiet splash intel_iommu=on'
- Futtassuk le a grub konfigurációját frissítő segédprogramot: update-grub
- Újraindítást követően a /sys/kernel/iommu_groups tartalmazza a csoportokat
Fontos! A VT-d technológia támogatja a hardver használatát több virtuális gép számára is, de ehhez speciális kártyák szükségesek, amelyek képesek úgynevezett "többfelhasználós" módban működni.
Virtualizáló környezet telepítése
| Név | Leírás |
| KVM | A guest OS kernel szintjét beépíti a host OS kernel szintjébe. Így a virtuális gép közvetlen kommunikál a host hardvereivel, közel 100%-ban ki tudja használni azok teljesítményét. Windows (guest os) driverek hiányosak! |
| XEN | A guest OS kernel szintjét a host OS kernel szintje felett tartja és minden hardver elemet virtualizál. Sebessége elmarad a KVM-hez képest a köztes réteg miatt, de Windows (guest os) támogatása jobb. |
KVM környezet telepítése
|QEMU emulátor telepítése |sudo apt install qmu-kvm | |QEMU GUI telepítés |sudo apt install virt-manager |
Virtuális gép létrehozása
- Indítsuk el a Start->Rendszer->Virtuális gép vezérlőpult programot
- Válasszuk ki a bal felső sarokban az Új virtuális gép létrehozása gombot vagy a Fájl->Új virtuális gép menüpontot
Outer:omegabyte:virt:linux:kvm panel.png?nolink&400
- Válasszuk ki a Létező lemezkép importálása lehetőséget a listában és kattintsunk a Tovább gombra.
Outer:omegabyte:virt:linux:kvm new.png?nolink&400
- Adjuk hozzá a bal oldalon a lemez elérési útvonalát - a tartalmazó mappát kell megadni, nem rekurzív. Majd válasszuk ki a kívánt lemezt és kattintsunk az Válasszon kötetet gombra.
Outer:omegabyte:virt:linux:kvm new hdd.png?nolink&400
- Az oldal alján található OS típusnál válasszuk ki a következőt: Generic
Outer:omegabyte:virt:linux:kvm new machine type.png?nolink&400
- A következő lapon állítsuk be a virtuális gép erőforrásait és kattintsunk a Tovább gombra.
Outer:omegabyte:virt:linux:kvm new cpu.png?nolink&400
- Ellenőrízzük a beállításainkat, majd kapcsoljuk be a Konfiguráció testreszabása indítás előtt opciót.
Outer:omegabyte:virt:linux:kvm new info.png?nolink&400
- A kívánt konfiguráció elvégzését követően kattintsunk a Telepítés megkezdése gombra.
Hardver csatolása virtuális géphez
A virtuális gép módosításához meg kell nyitnunk a a Virtuális gép vezérlőpultot. A szerkeszteni kívánt virtuális gép nevén kattintsunk kétszer.
Figyelem! A változások csak a virtuális gép leállítását követően lépnek életbe!
Lépések:
- Kattintsunk az Új hardver hozzáadás gombra (bal alsó sarok)
- Válasszuk ki a csatolni kívánt eszköz típusát (pl. PCI)
- A jobb oldalon megjelenő listából válasszuk ki, hogy melyiket szeretnénk át csatolni
- Kattintsunk az Befejezés gombra
Outer:omegabyte:virt:linux:kvm pci pass1.png?nolink&400
| Parancs | Leírás |
| lspci | Listázza a PCI eszközöket |
| lspci -n | Listázza a PCI címeket a bennük található <VENDOR>:<DEVICE> ID-kkal |
| lspci -v | Több információ a PCI eszközről |
| lspci -vv | Minden információ a PCI eszközről |
Virtuális gép indítása automatikusan
A virtuális gép elindítható a rendszerrel együtt. A host rendszer betöltését nem befolyásolja az esetleges KVM konfigurációs hiba, ez esetben a virtuális gép nem indul el.
Gép indítás
- Válasszuk ki az indítani kívánt virtuális gépet szerkesztésre a virtuális gép vezérlőpultban
- Navigáljunk a Boot options menüpontra
- Aktiváljuk a Virtuális gép indítása a gép indulásakor opciót
- Kattintsunk a Befejezés gombra
Teljes képernyős megjelenítő
A virtuális gép elindítása után a QEMU által létrehozott VNC kapcsolatra fel kell csatlakoznunk, hogy a vendég OS képernyőjét használhassuk.
Lépések:
- Hozzuk létre a /etc/profiles.d/virtviewer.sh állományt root joggal:
sudo nano /etc/profiles.d/virtviewer.sh
- Írjuk bele az alábbi scriptet:
sleep 30s && virt-viewer -f vm1 &
- Mentsük el és lépjünk ki a szerkesztésből
Statikus IP cím beállítása
Végül nem ez a megoldás lett alkalmazva, a megoldás csak az információ megtartása miatt került bele a dokumentációba!
Ahhoz, hogy a vendég OS megosztásait megbízhatóan fel tudjuk csatolni, szükségünk lesz egy statikus IP címre. Ezt a virtuális gép kezelőn keresztül tehetjük meg.
- Másoljuk ki a virtuális gép konfigurációjából a MAC címet - NiC
- Nyissunk meg egy terminált
- Nyissuk meg szerkesztésre a hálózati konfigurációt: virsh net-edit default
- Szúrjuk be az alábbi sorokat (a range már létezik)
<range start='192.168.122.100' end='192.168.122.254'/> <host mac='<mac>' name='<vm_név>' ip='<vm_ip>'/>
- A <mac> helyére illesszük be a kimásolt MAC címet
- A <vm_név> helyére írjuk be a virtuális gép nevét (vm1)
- A <vm_ip> helyére írjuk be a virtuális gép kívánt IP címét (192.168.122.24)
- Mentsük el és lépjünk ki a szerkesztőből
- Indítsuk újra a hálózatot:
virsh net-destroy default && virsh net-start default
A default mindenhol legyen az aktuális gépen elérhető hálózat neve! A hálózatok lekérése:
virsh net-list
Tűzfal beállítások
Követelmények
| Program | Leírás | Telepítés |
| iptables | Tűzfal szabályok manipulálása | Nem kell |
| iptables-persistent | Tűzfal szabályok mentése fájlba és visszaállítása | sudo apt install iptables-persistent |
Használat
- Az iptables-persistent program telepítésekor megkérdezi, hogy mentse-e az aktuális tűzfal szabályokat. Feleljünk nem-mel, majd másoljuk be a /etc/iptables/rules.v4 elérési útvonalra az OB_FA_tools.iso ugyanezen elérési útvonalán található fájlját.
Samba
Követelmények
| Program | Leírás | Telepítés |
| samba | Megosztások létrehozása | sudo apt install samba |
| cifs-tools | Csatlakozás távoli megosztásokhoz | sudo apt install cifs-tools |
Megosztás létrehozás
- Nyissuk meg a konfigurációs állományt: nano /etc/samba/smb.conf
- Hozzuk létre benne az alábbi kódrészletet:
[shared] comment = XP mount point sharing browseable = yes path = /media/virt/xp01 guest ok = no public = no writable = yes read only = no valid users = vm</sxh>
- A kódrészletnek köszönhetően létrejön a "shared" nevű megosztás, amit a "vm" felhasználóval nyithatunk meg. Írási és olvasási joggal.
- Állítsuk be a vm felhasználó jelszavát megosztásokhoz: sudo smbpasswd -a vm
- Indítsuk újra a szolgáltatást: sudo systemctl restart smbd
Csatlakozás megosztáshoz
- Könyvtár létrehozása csatolási pontnak
- /etc/fstab fájl szerkesztése
- /etc/crontab fájl szerkesztése
Könyvtár létrehozása
mkdir -p /media/virt/xp01
/etc/fstab állomány szerkesztése
nano sudo /etc/fstab
Szúrjuk be a következő sort a végére:
<xp_ip>/C /media/virt/xp01 cifs user=FolderShare,password=12345,vers=1.0,uid=1000,file_mode=0700,dir_mode=0700 0 0
/etc/crontab fájl szerkesztése
nano sudo /etc/crontab
Szúrjuk be a következő sort a végére:
@reboot root sleep 3m && mount <xp_ip>/C
Időbeállítás vendég OS-en
A vendég OS kezdőidejét XML formátumban állíthatjuk be.
<clock offset="utc">
<timer name="rtc" tickpolicy="catchup"/>
<timer name="pit" tickpolicy="delay"/>
<timer name="hpet" present="yes"/>
</clock>
A fenti sorban az offset paramétert kell át írnunk localtime-ra Windows esetén, így a Linux rendszer időzónája szerinti időt állítjuk be induláskor. Az alatta lévő rtc timer segítségével állíthatjuk be, hogy mi történjen, ha megállítottuk a virtuális gépet (pause). A catchup azt jelenti, hogy gyorsítva lejátszik minden kihagyott órajelet - a Windows rendszeren az óra gyorsítva fog pörögni.
Catchup helyett jó lenne discard opciót használni, de ezt jelen állapotban nem támogatja a QEMU.
XML szerkesztése futó rendszeren
virsh list # VM-ek listázása
virsh edit vm1 # kiválasztott (vm1) VM szerkesztése
Itt szúrjuk be a konfigurációt
<clock offset="localtime">
<timer name="rtc" tickpolicy="catchup"/>
<timer name="pit" tickpolicy="delay"/>
<timer name="hpet" present="yes"/>
</clock>
virsh shutdown vm1 # VM leállítása
virsh start vm1 # VM elindítása
export DISPLAY=:0 # GUI-ra küldés
virt-viewer --full-screen vm1 & # Grafikus alkalmazás megnyitása :0-n
Fontos, hogy a fenti scriptet annak a felhasználónak a nevében futtassuk, aki a grafikus felületen be van jelentkezve.
A fenti script futtatása után a felhasználói képernyőn megjelenik a virtuális gép képe, teljes képernyős módban.
Scriptek
Telepítés
#!/bin/bash mkdir -p /media/$USER/virt/xp01 echo "Install cifs-tools for connection to Windows shared folder.." sudo apt install -y cifs-tools echo "Install samba for sharing folders on Ubuntu" sudo apt install -y samba echo "Install grub2" sudo apt install -y grub2 echo "Create password for $USER for samba sharing" echo "Write the password, when cursor blink in empty line" sudo smbpasswd -a $USER
Csatlakozás XP C mappához
#!/bin/bash if test `mount | grep -c '/media/virt/xp01'` -eq 1; then echo "/media/virt/xp01 is mounted, umount it..." sudo umount /media/virt/xp01 fi echo "mount /media/virt/xp01" sudo mount 192.168.122.24/C