Linux
  • << DEBIAN >>

  •   Сървър на отделни хостове
  •     DNS Сървър
  •     SQL Сървър
  •     WEB Сървър
  •     Пощенски Сървър
  •   PXE Server
  •   PXE UEFI Server - TFTP
  •   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
  •     Как зарежда Linux
  •     Разпределение на диска при 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 Сървър
  •     Добавяне на втори диск
  •     Файлов сървър + WEBMIN
  •     SAMBA
  •     Инсталиране и настройка на Apache
  •     Инсталиране и настройка на Nginx
  •     MySQL и PHPMyAdmin
  •     Елементарен MAIL сървър
  •       Подобрение SSL/TLS, Maildir, LMTP
  •       Подобрение ВИРТУАЛИЗАЦИЯ без MySQL
  •       Подобрение ВИРТУАЛИЗАЦИЯ и MySQL
  •       Подобрение Антиспам - SpamAssasin
  •       Подобрение Антиспам - RSpamd
  •       Защита - SPF, DKIM и DMARK
  •       Подобрение Антивирус
  •     Пълноценен MAIL сървър
  •     Пощенски сървър с iRedMail и PHPMyAdmin
  •       DKIM, SPF и DMARK
  •     MAIL сървър за вътрешна мрежа
  •     NextCloud
  •     Сървър за отдалечен достъп - RustDESK
  • << UBUNTU >>
  •   Ubuntu SERVER 22.04
  •     Инсталиране на Ubuntu 22.04 Server
  •     Първоначални настройки на Ubuntu 22.04 Server
  •     DNS в Ubuntu 22.04 Server
  •     MySQL Apache PHPMyAdmin
  •     Пощенски сървър
  •       Пощенски сървър в опростен вариант
  •       PostFix, Dovecot по-подробно
  •   Ubuntu mini
  • << RAID >>
  •     BIOS RAID1+MSDOS
  •     BIOS RAID1+MSDOS+LVM
  •     UEFI RAID1
  • << BTRFS >>
  •     BTRFS - създаване монтиране fstab размер
  •     BTRFS - RAID
  •     BTRFS - subvolume и snapshot
  • << КОНТЕЙНЕРИ >>
  •     Инсталиране на LXC/LXD
  •     Образи (image) в LXC/LXD
  •     Контейнери в LXC/LXD
  •     Команди в LXC/LXD
  • << ОТСТРАНЯВАНЕ НА ГРЕШКИ >>
  •     SWAP
  •     InitRAMFs
  • Образи в LXC и LXD

    Работа с образи

    Проверка за наличие на образи.

    lxc image list To start your first container, try: lxc launch ubuntu:22.04 Or for a virtual machine: lxc launch ubuntu:22.04 --vm +-------+-------------+--------+-------------+--------------+------+------+-------------+ | ALIAS | FINGERPRINT | PUBLIC | DESCRIPTION | ARCHITECTURE | TYPE | SIZE | UPLOAD DATE | +-------+-------------+--------+-------------+--------------+------+------+-------------+

    Нямаме налични образи. Да проверим какви образи можем да заредим.

    lxc image list ubuntu:

    Показва всички налични образи на виртуални машини и контейнери ubuntu. Може да филтрираме.

    lxc image list ubuntu: | grep 22.04 | grep CONTAINER

    Всички налични ubuntu образи версии 22.04 за контейнери. Да проверим къде търсим за образи:

    lxc remote list | NAME | URL | PROTOCOL | AUTH TYPE | PUBLIC | STATIC | GLOBAL| ------------------------------------------------------------------------------------------------------------------------ | images | https://images.linuxcontainers.org | simplestreams | none | YES | NO | NO | | local (current) | unix:// | lxd | file access | NO | YES | NO | | ubuntu | https://cloud-images.ubuntu.com/releases | simplestreams | none | YES | YES | NO | | ubuntu-daily | https://cloud-images.ubuntu.com/daily | simplestreams | none | YES | YES | NO |

    До тук всичко работи но с някакви проблеми. За начало имаме образи само на ubuntu. Ако проверим:

    lxc image list images:

    Ще видим, че нямаме никакви образи. За целта ще обновим образите.

    lxc remote set-url images https://images.lxd.canonical.com

    И сега ако пробваме да видим какви налични образи можем да изтеглим:

    lxc image list images:

    Ще се покажат образи за виртуални машини и контейнери на най-различни дистрибуции. Може да филтрираме. Примерно търсим само контейнери, на основа Debian и с архитектура amd64.

    lxc image list images: | grep CONTAINER | grep 'debian/10' | grep amd64 | debian/10 (7 more) | be9bcd10796f | yes | Debian buster amd64 (20240621_0002) | x86_64 | CONTAINER | 76.77MB | Jun 21, 2024 at 12:00am (UTC) | | debian/10/cloud (3 more) | 34b7f0b781b2 | yes | Debian buster amd64 (20240621_0002) | x86_64 | CONTAINER | 92.10MB | Jun 21, 2024 at 12:00am (UTC) |

    Сваляне на образи в кеша

    Ще смъкнем образ Debian 10 и ще му дадем име debian.

    lxc launch images:be9bcd10796f debian Creating debian Retrieving image: rootfs: 70% (1.81MB/s) Starting debian

    Когато сваляте образ за виртуална машина, не за контейнер:

    lxc launch images:be9bcd10796f debian --vm

    Да проверим какви образи имаме смъкнати.

    lxc image list +-------+--------------+--------+-------------------------------------+--------------+-----------+---------+------------------------------+ | ALIAS | FINGERPRINT | PUBLIC | DESCRIPTION | ARCHITECTURE | TYPE | SIZE | UPLOAD DATE | +-------+--------------+--------+-------------------------------------+--------------+-----------+---------+------------------------------+ | | be9bcd10796f | no | Debian buster amd64 (20240621_0002) | x86_64 | CONTAINER | 76.77MB | Jun 21, 2024 at 9:21am (UTC) | +-------+--------------+--------+-------------------------------------+--------------+-----------+---------+------------------------------+

    Имаме един смъкнат образ.

    Информация за смъкнатите образи в кеша

    lxc image info be9bcd10796f Fingerprint: be9bcd10796fbe113474d5363c3a9d0d346d18c1ea0c733bee00ad51333a8d3d Size: 76.77MB Architecture: x86_64 Type: container Public: no Timestamps: Created: 2024/06/21 00:00 UTC Uploaded: 2024/06/21 09:21 UTC Expires: never Last used: 2024/06/21 09:21 UTC Properties: os: Debian release: buster serial: 20240621_0002 type: squashfs variant: default architecture: amd64 description: Debian buster amd64 (20240621_0002) Aliases: Cached: yes Auto update: enabled Source: Server: https://images.lxd.canonical.com Protocol: simplestreams Alias: be9bcd10796f Profiles: - default lxc image show be9bcd10796f auto_update: true properties: architecture: amd64 description: Debian buster amd64 (20240621_0002) os: Debian release: buster serial: "20240621_0002" type: squashfs variant: default public: false expires_at: 1970-01-01T00:00:00Z profiles: - default

    Изтриване на образи в кеша

    lxc image delete be9bcd10796f

    Работа с контейнери

    lxc list +--------+---------+-----------------------+-----------------------------------------------+-----------+-----------+ | NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS | +--------+---------+-----------------------+-----------------------------------------------+-----------+-----------+ | debian | RUNNING | 10.113.124.208 (eth0) | fd42:3c4e:517f:ed86:216:3eff:fe33:6f7f (eth0) | CONTAINER | 0 | +--------+---------+-----------------------+-----------------------------------------------+-----------+-----------+

    Спиране и пускане на контейнери

    lxc stop debian lxc ls +--------+---------+------+------+-----------+-----------+ | NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS | +--------+---------+------+------+-----------+-----------+ | debian | STOPPED | | | CONTAINER | 0 | +--------+---------+------+------+-----------+-----------+ lxc start debian lxc ls +--------+---------+-----------------------+-----------------------------------------------+-----------+-----------+ | NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS | +--------+---------+-----------------------+-----------------------------------------------+-----------+-----------+ | debian | RUNNING | 10.113.124.208 (eth0) | fd42:3c4e:517f:ed86:216:3eff:fe33:6f7f (eth0) | CONTAINER | 0 | +--------+---------+-----------------------+-----------------------------------------------+-----------+-----------+

    Преименуване на контейнери

    За да се преименува даден контейнер, той трябва да е спян.

    lxc move debian debian10 lxc ls +----------+---------+------+------+-----------+-----------+ | NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS | +----------+---------+------+------+-----------+-----------+ | debian10 | STOPPED | | | CONTAINER | 0 | +----------+---------+------+------+-----------+-----------+

    Рестартиране на контейнери

    lxc restart debian10

    Изтриване на контейнер

    lxc delete debian10

    Клониране на контейнер

    Може да се клонира контейнер даже да е пуснат.

    lxc copy debian10 debian

    Разглеждане настройките на контейнера

    lxc config show debian

    Използване на команди вътре в контейнера

    Примерно да видим IP адреса на контейнера.

    lxc exec debian -- ip a

    Съдържанието на дадена папка може да се види с:

    lxc exec debian -- ls /var/log/ alternatives.log apt bootstrap.log btmp dpkg.log faillog lastlog private wtmp

    Можем да влезем също така в самия контейнер, в конзолата му.

    lxc exec debian -- bash ### За изход от конзолата: exit

    Да зададем парола на root в контейнера.

    lxc exec debian passwd root New password: contPa$$ Retype new password: contPa$$ passwd: password updated successfully

    Получаване на достъп до конзолата на контейнера

    lxc console debian ### Показва с коя комбинация от клавиши се излиза от конзолата To detach from the console, press: <ctrl>+a q ### Натискаме Enter debian login: root Password: contPa$$ Linux debian 6.1.0-22-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.94-1 (2024-06-21) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. root@debian:~# ### За изход от login root@debian:~# exit logout Debian GNU/Linux 10 debian console debian login: ### За изход от конзолата натискаме клавишна комбинация: <ctrl>+a сляд това натискаме q

    Добавяне на файл в контейнер

    Пръво да създадем някакъв файл със съответното му съдържание.

    echo Тest >> /test.txt cat /test.txt Test

    Да преместим файла /test.txt в контейнера.

    lxc file push /test.txt debian/tmp/file_in_container.txt

    Добавихме файла test.txt, който беше в главната папка на ОС в контейнера в папка /tmp и му дадохме ново име file_in_container.txt Да проверим:

    lxc exec debian -- ls /tmp file_in_container.txt lxc exec debian -- cat /tmp/file_in_container.txt Test

    Да изтрием файла който не е в контейнера.

    rm /test.txt

    Извличане на файл от контейнера

    lxc file pull debian/tmp/file_in_container.txt /test.txt ls / bin boot dev etc home initrd.img initrd.img.old lib lib64 media mnt opt proc root run sbin srv sys test.txt tmp usr var vmlinuz vmlinuz.old cat /test.txt Test