Linux
  •     Как зарежда Linux Ремонт на GRUB
  •     Linux дистрибуции за слаби компютри

  • DEBIAN

  •   Debian 9
  •     Инсталиране на Debian 9
  •     Първоначални настройки (мрежа, VIM, Кирилизация)
  •     Инсталиране и настройка на SSH
  •     Инсталиране и настройка на DNS
  •     Инсталиране и настройка на NTP
  •     Инсталиране и настройка на Apache
  •     Инсталиране и настройка на MySQL (MariaDB)
  •     Инсталиране и настройка на PHPMyAdmin
  •     Инсталиране и настройка на собствен облак
  •     Инсталиране и настройка на SAMBA
  •     Инсталиране и настройка на FTP сървър
  •     Инсталиране и настройка на OSCAM
  •     Инсталиране и настройка на Mail server
  •       Първоначално конфигуриране на базата данни
  •       Инсталиране и конфигуриране на PostFix
  •       Инсталиране и конфигуриране на Dovecot
  •       PostFix дефинира Dovecot да удостоверява
  •       RoundCube
  •       Тестване доставката на поща
  •       Създаване на TLS криптиран ключ и сертификат
  •       WEB администриране
  •       Антиспам със SpamAssassin
  •       Антиспам с RSpmad
  •   Debian 11
  •     Разпределение на диска при BIOS и UEFI
  •     Debian 11 на BIOS върху LVM и RAID
  •     Инсталиране на Debian 11 на BIOS и ZFS
  •     Инсталиране на Debian 11 на BIOS и ZFS-1
  •     Инсталиране на Debian 11 на UEFI и ZFS
  •     ZFS Замяна на развален огледален диск
  •     Ремонт на GRUB и INITRAMFS
  •   Debian 12
  •     Първоначални настройки
  •     DNS Сървър
  •     Добавяне на втори диск
  •     SAMBA + WEBMIN
  •     SAMBA
  •     Инсталиране и настройка на Apache
  •     MySQL и PHPMyAdmin
  •     Инсталиране и настройка на Nginx
  •       Директиви location в Nginx
  •       MYSQL,PHP и PHPMyAdmin в Nginx
  •     Елементарен MAIL сървър
  •       Подобрение SSL/TLS, Maildir, LMTP
  •       Подобрение ВИРТУАЛИЗАЦИЯ без MySQL
  •       Подобрение ВИРТУАЛИЗАЦИЯ и MySQL
  •       Подобрение Антиспам - SpamAssasin
  •       Подобрение Антиспам - RSpamd
  •       Защита - SPF, DKIM и DMARK
  •       Подобрение Антивирус
  •     Пълноценен MAIL сървър
  •     Пощенски сървър с iRedMail
  •       CertBot 1 домейн
  •       Виртуални хостове, CertBot 2 домейна
  •       DKIM, SPF и DMARK
  •       Допълнителни настройки (спам и т.н.)
  •     MAIL сървър за вътрешна мрежа
  •     NextCloud
  •     Сървър за отдалечен достъп - RustDESK
  •     Минимално KDE в Debian

  • UBUNTU
  •   Ubuntu SERVER 22.04
  •     Инсталиране на Ubuntu 22.04 Server
  •     Първоначални настройки на Ubuntu 22.04 Server

  • ARCH
  •     Arch в команди
  •     Минимална базова инсталация на Arch
  •        Настройка user, хост, регион
  •        Настройка мрежа, ядро, DOS
  •        Pacman, Reflector, YAY, SSD-TRIM, SSH
  •        Пакети за графични среди в Arch
  •        Пакети за видео-драйвери в Arch
  •     Инсталиране на Arch на UEFI и ext4
  •     Инсталиране на Arch на UEFI и btrfs
  •       Резервно копиране в Arch
  •     Инсталиране на Arch на UEFI и DualBoot
  •     Инсталиране на Arch с DualBoot и archinstall
  •     OpenBOX-минимум в Arch
  •     ArchInstall и KDE
  •       Първи стъпки след archinstall
  •       Необходими приложения след archinstall
  •       Почистване на системата след archinstall
  •     KDE по избор, приложения и TimeSHIFT
  •     KDE-минимум в Arch
  •       Настройка и оптимизация на KDE
  •       Приложения за KDE в Arch
  •       Външен вид и стил в KDE
  •       От PipeWire към PulseAudio в KDE
  •     LXDE в Arch
  •     LXQt в Arch
  •     QEMU-KVM в Arch
  •     VMware-TOOLS в Arch
  •     WINE в Arch
  •       CS 1.6 Portable с WINE в Arch
  •     Игри в Arch

  • CHROMEOS
  •     Инсталация на ChromeOS
  •     Настройка на ChromeOS

  • TROUBLESHOOTING
  •     Отстраняване на неизправности

  • RAID
  •     BIOS RAID1+MSDOS
  •     BIOS RAID1+MSDOS+LVM
  •     UEFI RAID1
  •     UEFI LVM RAID1

  • ZFS
  •     ZFS теория и малко практика

  • BTRFS
  •     BTRFS - създаване монтиране fstab размер
  •     BTRFS - RAID
  •     BTRFS - subvolume и snapshot

  • КОНТЕЙНЕРИ
  •     Инсталиране на LXC/LXD
  •     Образи (image) в LXC/LXD
  •     Контейнери в LXC/LXD
  •     Команди в LXC/LXD

  • ОТСТРАНЯВАНЕ НА ГРЕШКИ
  •     SWAP
  •     InitRAMFs

  • PROGRAMS
  •   Conky
  •   Sublime Text
  •   PiHole
  •   AdGuard

  • BGPOST
  •     Tar-App-01 SAMBA

  • Виртуализация в Arch линукс

    https://www.youtube.com/watch?v=jEYvCRJ_pGg
    https://www.youtube.com/watch?v=5TT1C6prxrg


    Тази тема не е от сложните, но пък е интересна и си заслужава внимание. Има много видове hypervisor-и но смятам да се спрезм на QEMU и KVM. Самия емулатор е QEMU, а KVM е ускорител за QEMU. Тези два модула са взаимно свързани и примерно KVM не може да работи без QEMU. За да се разбере по ясно QEMU е софтуер създаващ виртуализация. Той е сравнително бавен, макар, че емулира много среди. KVM прави връзка между хардуерната поддръжка на виртуализация и QEMU. По-точно KVM е апаратна поддръжка на виртуализация. Примерно пускате поддръжката на виртуализация на процесора и KVM прави връзката с QEMU за да може да се ускори работата. Също така на видеото от QEMU, KVM дава 3D ускорение и така нататък. Обяснението е много грубо но да се има долу горе представа кое за какво отговаря. За начало трябва да се убедите, че вашия компютър поддържа виртуализация. Грубо казано процесора който ползвате поддържа виртуализация и в BIOS-a е включена тази опция. В Linux можете да проверите чрез командата:

    lscpu | grep Virtual Virtualization: VT-x Virtualization type: full

    Още една проверка дали процесора поддържа виртуализация.

    egrep --color=auto 'vmx|svm|0xc0f' /proc/cpuinfo

    Ако в отговора има vmx оцветен в червено, значи процесора поддържа виртуализация. Модула KVM е динамичен и той се зарежда допълнително. Първо да открием модула между всички модули на ядрото.

    find /lib/modules/ -type f -name "*kvm*" /lib/modules/6.18.3-zen1-1-zen/kernel/arch/x86/kvm/kvm.ko.zst /lib/modules/6.18.3-zen1-1-zen/kernel/arch/x86/kvm/kvm-amd.ko.zst /lib/modules/6.18.3-zen1-1-zen/kernel/arch/x86/kvm/kvm-intel.ko.zst /lib/modules/6.18.3-zen1-1-zen/kernel/drivers/gpu/drm/i915/kvmgt.ko.zst /lib/modules/6.18.3-zen1-1-zen/kernel/drivers/ptp/ptp_kvm.ko.zst

    Имаме такъв модул, който може да се зареди. Да проверим дали модула KVM е зареден в ядрото.

    lsmod |grep kvm kvm_intel 520192 0 kvm 1421312 1 kvm_intel irqbypass 16384 1 kvm

    Процесора ми е Intel затова модула е kvm_intel. За процесори AMD, модула ще е kvm_amd. Може да проверим как системата ще възприеме този модул.

    modinfo kvm modinfo kvm-intel

    Получаваме информация за модулите.

    Пълна инсталация на всички пакети

    Избързвам и ще покажа пълната инсталация и ще можете да си създавате и управлявате различни виртуални машини, а за тези които се интересуват от темата препоръчвам да прочетете статията докрай. Инсталираме всички необходими пакети.

    sudo pacman -Syu sudo pacman -S qemu libvirt virt-manager dnsmasq bridge-utils spice-protocol spice-vdagent :: Има 3 източници достъпни за qemu: :: Хранилище extra 1) qemu-base 2) qemu-desktop 3) qemu-full Въведете номер (default=1): 2

    qemu - програма за емулиране на компютъра libvirt - програма имаща графичен интерфейс за управление на виртуалната машина virt-manager - надстройка на quemu и libvirt dnsmasq - програма за настройка на мрежата bridge-utils - оше една програма за настройка на мрежата spice-protocol - по-напреднал протокол за връзка с вашата виртуална машина spice-vdagent - още един по-напреднал протокол за връзка с вашата виртуална машина, подобни на протоколите vnc, rdp и т.н. qemu-base - минимални услуги на емулатора, тук няма поддръжка на spice-protocol, само vnc, qemu-desktop - оптимален набор от функции, поддържа spice-protocol и 3D функции, qemu-full - пълна поддръжка на функции но става по-тежка системата. След инсталацията пускаме Virtual Machine Manager (Мениджър на виртуални машини). Появява се екран Unable to connect to libvirt qemu:///system. Ако натиснем на линка Детайли ще видим, че не може да се свръже с libvirt qemu:///system. Предлага ни да проверим дали услугата libvirt е стартирана като демон. За целта:

    sudo systemctl enable libvirtd sudo systemctl start libvirtd

    Сега програмата се стартира но изисква права. За целта:

    sudo usermod -aG libvirt cccp

    Казахме, че потребителя cccp ще е член на групата libvirt

    Наново стартираме Virtual Machine Manager. Сега не ни иска парола за удостоверение. Вече може да се създават виртуални машини.

    Първа стъпка в работата

    В зависимост от инсталацията стъпките ще са различни. Първото нещо обаче е да проверите дали имате създаден Connection. Ако нямате такъв то тогава: File >> Add Connection.... Това ще позволи виртуалната машина да се свърже мрежово. След тази стъпка можете да изграждате виртуални машини, да ги свързвате помежду си и т.н.

    Инсталиране стъпка по стъпка

    За да добиете пълна представа от виртуализацията последвайте стъпките които ще се изпълнят.

    QEMU

    sudo pacman -S qemu :: There are 3 providers available for qemu: :: Repository extra 1) qemu-base 2) qemu-desktop 3) qemu-full Enter a number (default=1): 2

    qemu - мощна програма за софтуерно емулиране на компютъра. Qemu на практика може да емулира всичко, от различни видове процесори, видеокарти, USB портове и т.н. Обаче е софтуерна емулация и е сравнително бавна. qemu-base - минимални услуги на емулатора, тук няма поддръжка на spice-protocol, само vnc, qemu-desktop - оптимален набор от функции, поддържа spice-protocol и 3D функции, qemu-full - пълна поддръжка на функции но става по-тежка системата. За пълноценна работа с виртуалната машина ни трябва диск където ще се инсталира файловата система Дисковете ще се имитират като истински работещи под протоколите SCISI или Serial ATA. Когато инсталирахме пакета qemu вътре имаше програмата qemu-img. Тя отговаря за имитирането на типа диск. Нас ни интерисуват най-вече форматите на дискове raw и qcow2. Формата raw имитира файл който ще е голям колкото размера на диска. Примерно искаме да имаме диск 20GB то при този случай ще се създаде файл с размер 20GB. За по-рационално ползване на дисковото пространство ще ползваме формата qcow2. Дискове създадени по този начин първоначално имат размер 0. В последствие размера ще се увеличава в зависимост от това какво ще слагате по диска като информация (програми, архивни файлове, логове и т.н.)

    LibVirt

    sudo pacman -S libvirt

    libvirt - програма имаща графичен интерфейс за управление на виртуалната машина След инсталацията ще можем да поддържаме протоколите iSCSI, Gluster storage backend и RDB. Това ни показва какви контролери можем да ползваме за включването на дискове. Освен това се поддържа и технологията LVM. Това е допълнителен сървис който включва възможности които липсват в QEMU или в модулите на ядрото. Този сървис не свързан да работи само с KVM. Може да го видите в VMware, VirtualBOX, Xen и т.н. За да определим какви драйвери и модули има в нашата версия на libvirt

    sudo libvirtd -V libvirtd (libvirt) 11.10.0

    Група помощни програми

    Освен сървиса libvirt ще ползваме и още една помощна програма, а именно virt-install. Тази помощна програма не е задължителна, но дава удобство в работата и ще ни икономиса много време.

    sudo pacman -S virt-install

    Още една група от помощни програми, които допълнително ще улеснят работата ни.

    sudo pacman -S ebtables dnsmasq dmidecode virt-viewer

    dnsmasq: проста DNS услуга, работеща като кеширащ и пренаправляващ DNS за виртуалната машина. virt-viewer: ще позволи да се включим във виртуалната системата през конзола. Ако нямаме пусната услуга SSH то остава да се свържем само през конзола.

    Стартиране на libvirt

    Инсталирахме почти всичко. Време да пунем услугата libvirt и да накараме автоматично да се стартира при рестартиране на системата.

    sudo systemctl enable libvirtd sudo systemctl start libvirtd sudo systemctl status libvirtd ● libvirtd.service - libvirt legacy monolithic daemon Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; preset: disabled) Active: active (running) since Fri 2026-01-09 20:42:33 EET; 6s ago Invocation: 5ed406d7ef6b44e3aa5c29be38ab07ae TriggeredBy: ● libvirtd-ro.socket ● libvirtd-admin.socket ● libvirtd.socket Docs: man:libvirtd(8) https://libvirt.org/ Main PID: 1308 (libvirtd) Tasks: 21 (limit: 32768) Memory: 21.7M (peak: 22.4M) CPU: 141ms CGroup: /system.slice/libvirtd.service └─1308 /usr/bin/libvirtd --timeout 120 Jan 09 20:42:33 Arch systemd[1]: Starting libvirt legacy monolithic daemon... Jan 09 20:42:33 Arch systemd[1]: Started libvirt legacy monolithic daemon.

    Проверка за работоспособност

    Да проверим дали системата е опредлелила и автоматично заредила модула в ядрото KVM.

    sudo lsmod | grep kvm kvm_intel 532480 0 kvm 1531904 1 kvm_intel irqbypass 16384 1 kvm

    До тук всичко е наред.

    Потребители работещи с виртуализация

    Всеки потребител в зависимост от правата си може да работи само с тези параметри на libvirt които са му позволени. За да може потребителя на системата да има достъп до libvirt трябва да се добави към групата libvirt.

    sudo usermod -a -G libvirt cccp

    Така добавихме потребителя cccp към групата libvirt. По принцип потребителя root има право да определя мрежовите настройки. Обикновения потребител няма такива права. Услугата е готова за работа. Трябва ни само клиент който да се свърже с libvirt или по мрежата или по локален сокет. Клиента може да стартира машини създадени не на машината на която е инсталиран клиента. Грубо казано може отдалечено да управлява виртуални машини. Клиента се пуска под root. Пищем командата:

    virsh virsh # net-list --all Name State Autostart Persistent ---------------------------------------- help Grouped commands: Domain Management (help keyword 'domain'): attach-device attach device from an XML file attach-disk attach disk device attach-interface attach network interface autostart autostart a domain blkdeviotune Set or query a block device I/O tuning parameters. domthrottlegroupset Add or update a throttling group. domthrottlegroupdel Delete a throttling group. domthrottlegroupinfo Get a throttling group. ............................ ............................ ............................

    Показва какви мрежи имаме. По принцип има налични над 200 команди които може да се използват.

    Инсталиране на последни пакети

    Малко силно казано последни пакети. Вариантите на инсталация са толкова различни в зависимост от работата която ще се върши, че да кажем последни пакети е леко казано невярно. Но за първоначална работа тези са последните пакети с които може да се правят най-често срещаните виртуални машини.

    sudo pacman -S virt-manager bridge-utils spice-protocol spice-vdagent

    virt-manager - надстройка на quemu и libvirt bridge-utils - оше една програма за настройка на мрежата spice-protocol - по-напреднал протокол за връзка с вашата виртуална машина spice-vdagent - още един по-напреднал протокол за връзка с вашата виртуална машина, подобни на протоколите vnc, rdp и т.н.