ServerAdmin.ru
31.3K subscribers
669 photos
55 videos
22 files
2.87K links
Авторская информация о системном администрировании.

Информация о рекламе: @srv_admin_reklama_bot
Автор: @zeroxzed

Второй канал: @srv_admin_live
Сайт: serveradmin.ru

Регистрация в РКН: https://vk.cc/cG1Urj
Download Telegram
​​Мне для автоматизации с помощью bash скриптов понадобилось получить информацию о прошлом месяце, а именно:

год
номер месяца
первый и последний день

Набросал быстро скрипт, которым делюсь с вами. Оптимальный способ не искал, остановился, как только максимально быстро получил желаемый результат.

#!/bin/bash

LAST_MONTH=$(date "+%F" -d "$(date +'%Y-%m-01') -1 month")
YEAR=$(date "+%Y" -d "$(date +'%Y-%m-01') -1 month")
MONTH=$(date "+%m" -d "$(date +'%Y-%m-01') -1 month")
DAY_START=$(date "+%d" -d "$(date +'%Y-%m-01') -1 month")
DAY_END=$(date "+%d" -d "$LAST_MONTH +1 month -1 day")

echo "Полная дата: $LAST_MONTH"
echo "Год прошлого месяца: $YEAR"
echo "Номер прошлого месяца: $MONTH"
echo "Первый день прошлого месяца: $DAY_START"
echo "Последний день прошлого месяца: $DAY_END"

Тестировать можно с помощью faketime:
# faketime '2021-12-24 08:15:42' last-month.sh

Рекомендую забрать в закладки. Если пишите на bash, рано или поздно пригодится.

#bash #script
👍2
​​После подключения к Linux серверу, на нём останутся следы вашей активности. Вопрос очистки истории команд терминала я уже касался в прошлой заметке. Сейчас рассмотрю, какая еще информация остаётся о вас в самой системе.

Команда last покажет последних подключившихся пользователей, а также события reboot или shutdown.
# last
root   pts/0    192.168.13.197  Sun Oct 23 22:45  still logged in
Информацию команда берёт из бинарного файла /var/log/wtmp, которую туда пишет программа login.

Команда lastlog покажет историю подключений каждого пользователя системы. Причем в том же порядке, как они записаны в файле /etc/passwd.
# lastlog
Username     Port   From       Latest
root       pts/0  192.168.13.197  Sun Oct 23 22:45:11 +0300 2021
Информацию команда берёт из бинарного файла /var/log/lastlog.

Если вы использовали неверные учётные данные при подключении, то информацию об этом можно посмотреть командой lastb.
# lastb
user1  ssh:notty  192.168.13.197  Sun Oct 23 23:04 - 23:04 (00:00)
Информацию команда берёт из бинарного файла /var/log/btmp.

Также информация о ваших подключениях будет в логе сервиса sshd. В rpm дистрибутивах это обычно /var/log/secure, в deb - /var/log/auth.log. Это текстовые файлы, можно посмотреть любым редактором.

Если хотите почистить за собой следы, то эти файлы можно просто обнулить:
# echo > /var/log/wtmp
# echo > /var/log/btmp
# echo > /var/log/lastlog
# echo > /var/log/secure

Если же следите за безопасностью, то обязательно организуйте удаленную передачу информации из этих файлов куда-то во вне. Поможет расследовать инциденты.

#terminal #security
Хорошее наглядное видео от Zabbix на маленькую узкую тему. В видео за 2 минуты показано, как настроить анализ логов веб сервера apache и отправлять уведомления при появлении там ошибки, то есть слова error.

В записи нет никакого упрощения. Всё реально делается очень быстро и просто. Будет актуально для любых текстовых логов. Я часто пользуюсь такой возможностью. Нужно только понимать, что этот метод не подходит для очень больших логов, а также для их исторического хранения и анализа. Классическая sql база плохо подходит для хранения объемных логов. Для этого надо использовать специализированные решения.

В описываемом примере лог хранится только сутки, так что его размер не очень критичен. Функционал используется конкретно для оповещения о проблеме.

https://www.youtube.com/watch?v=rrgz9unRtSk

#zabbix #видео
​​Pspy - интересный и полезный инструмент командной строки, предназначенный для наблюдения за процессами без прав root. С его помощью можно видеть команды, выполняемые другими пользователями, в том числе системными. Программа наглядно демонстрирует, почему не стоит светить паролями, постоянными токенами и т.д. в виде аргументов к командам.

Работает она очень просто. Идём в репозиторий и скачиваем исполняемый файл под обычным пользователем.
# wget https://github.com/DominicBreuker/pspy/releases/download/v1.2.0/pspy64
# chmod +x pspy64
# ./pspy64

А теперь подключаемся второй вкладкой и запускаем dump базы mysql от рута с передачей пароля через консоль. Результат увидите в прилагаемом скриншоте.

Я совсем недавно узнал про эту утилиту. Раньше не предполагал, что так просто можно утянуть процессы root непривилегированным пользователем. А дело вон как обстоит.

#terminal #security
👍3
Забавно видеть прокачанный мониторинг от Beeline на базе Zabbix с кучей активных дефолтных триггеров, которые в первую очередь стоит либо откалибровать, либо отключить. Ну кому сейчас нужен триггер на swap (less then 20% free 🙀), когда его чаще всего вообще нет?

По памяти и заполненности диска тоже активны дефолтные триггеры, которые чаще всего не годятся в исходном виде с %, так как памяти может быть 16 Гб, а может 512 Гб. Видно, что никто особо с мониторингом и не заморачивался. Взяли дефолтный Zabbix, дефолтный плагин для Grafana и связали их.

В статье всё это преподносится как замена решениям за $500 000 и $1 000 000. Zabbix может заменить все эти решения, но шаблоны придётся всё же свои написать полностью, а не взять готовые с метриками и триггерами для условно дефолтной инфраструктуры. Когда я делаю кастомизированный мониторинг по ТЗ, шаблоны собираю с нуля, убирая всё лишнее и меняя дефолты под текущие условия.

https://habr.com/ru/company/beeline/blog/585536/

#zabbix
👍3
​​Решил сделать напоминание о приятной халяве от Oracle, про которую писал уже, но достаточно давно. Думаю, многие заметку не видели или не помнят. Кратко скажу, что вы можете получить бесплатно 2 полноценные виртуальные машины с внешними ip у них в облаке навечно бесплатно. Читайте в прошлой заметке, как именно это сделать.

Поднимаю эту тему, чтобы актуализировать информацию. Скажите, кто после прошлого моего сообщения смог там зарегистрироваться и получить виртуалки? Я лично ими до сих пор пользуюсь. Работают нормально. Использую их для тестов и под vpn. Очень доволен. Судя по описанию программы, условия остались те же и обе виртуалки обещают.

Попробуйте, может вам повезет зарегистрироваться и получить их. После моей прошлой заметки у кого-то получилось, а кого-то динамить начали с подтверждением учетной записи и платёжной карты. Её нужно будет добавить и подтвердить. Я использовал пластиковую от яндекс.денег (теперь yoomoney) и потом заблочил у неё онлайн платежи, так как пользуюсь только в офлайне ей.

#бесплатно
​​Не совсем по теме канала информация, но тем не менее, мне кажется, она многим будет полезна. Речь пойдёт про расширение для браузера OneTab. С недавних пор мой основной браузер - Microsoft Edge. Причём вообще без плагинов. Я давно уже обхожусь возможностями чистого браузера. Для работы мне не нужны никакие расширения. Все плагины собраны в Firefox, который я иногда запускаю.

Недавно сделал исключение для указанного дополнения OneTab. Он обладает очень простым функционалом - создаёт html страницу и помещает на неё все открытые вкладки в виде ссылок, а сами вкладки закрывает. Я знаю, что многие пользователи любят открывать десятки, а некоторые и сотни вкладок. Мне лично это мешает. Когда вкладок больше 20, снижается продуктивность. В этот момент я обычно запускаю вторую копию браузера и работаю в ней. А кучу вкладок оставляю в отдельном окне, если они еще нужны.

Onetab позволяет избавиться от практики нескольких копий браузера. Когда вкладки начинают мешать, я их просто выгружаю в html страницу. Там они формируются в простом и наглядном списке, куда влезают полные имена заголовков. Очень удобно ориентироваться в ссылках.

В общем, советую попробовать. Мне очень зашел инструмент. Теперь редко когда бывает открыто более 10-ти вкладок. Обычно 5-7. У некоторых вижу браузеры с десятками открытых вкладок, на которых кроме иконок ничего не видно. По ним даже мышкой трудно попасть. Ума не приложу, зачем держать такое количество вкладок. В них же неудобно разбираться.

Chrome web store

#разное
👍3
Мои изменения стандартного шаблона для Windows в Zabbix

Если взять стандартный шаблон и применить его к виндовым хостам, получится так себе решение. Вас завалит практически бесполезными триггерами, плюс будет собираться куча ненужной информации. Ниже то, что я делаю практически всегда.

1️⃣ Отключаю правило автообнаружения служб Windows. Вообще не вижу смысла мониторить их все. Zabbix будет слать уведомления каждый раз, когда будет остановлена служба с параметром автозапуска. Вас завалит этими уведомлениями. Если нужен мониторинг какой-то службы, то настраиваю это отдельно.
2️⃣ Запускаю вручную автообнаружение сетевых интерфейсов на хосте и отключаю все те, что не нужны. А это большая часть. Наряду с физическим интерфейсом, там будет огромный список встроенных виртуальных. Все они попадут в мониторинг. Зачем это сделано по дефолту, я не понимаю. Мало того, что это бесполезная информация, так она еще и нехило забивает базу, а сбор нагружает сервер. Если у вас много Windows машин, в обязательном порядке отключить или изменить автообнаружение сетевых интерфейсов в исходном шаблоне. Это значительно снизит нагрузку на мониторинг.
3️⃣ Редактирую триггеры на занятое место на дисках. Здесь нет универсального совета, так как зависит от ваших условий. Обычно отключаю триггер на 80% и добавляю еще один критический на 95%.
4️⃣ Отключаю триггеры на время отклика диска. Эти значения сильно зависят от производительности дисков и по умолчанию толку от них нет. Если вам нужны эти уведомления, то триггеры надо калибровать в зависимости от средних значений конкретно ваших дисков.
5️⃣ Редактирую триггеры на использование оперативной памяти в зависимости от конкретных условий. Есть хосты, которые всегда работают с полной загрузкой памяти, буквально до 95-98%. Сразу отключаю триггер на использование swap.

Из основного всё, что вспомнил по ходу дела. А вообще, я стараюсь больше фокусироваться на мониторинге конечных приложений, а не системных метриках. Если приложение нормально работает, какая нам разница, что там какие-то всплески по CPU и отклику диска. Сейчас они есть, через пол часа их нет, а приложение работает нормально. Важны исторические данные для расследования, это да. А здесь и сейчас нужно реагировать на действительно важные события.

#zabbix
👍4
​​Очень удобная программа для просмотра используемых ресурсов контейнерами - Сtop. Это прям то, что мне очень не хватало при работе с контейнерами. Я за ними всегда через htop смотрел и другие инструменты общего назначение. А в ctop все метрики собраны в одно место для каждого контейнера. Очень удобно.

Docker обычно запускаю на Ubuntu, для неё есть репа:
# echo "deb https://packages.azlux.fr/debian/ buster main" \
| tee /etc/apt/sources.list.d/azlux.list
# wget -qO - https://azlux.fr/repo.gpg.key | apt-key add -
# apt update
# apt install docker-ctop

После этого запускаете ctop и наслаждаетесь красотой. Можно вообще ничего не устанавливать локально, а запустить ctop в docker, пробросив ему docker.sock.
# docker run --rm -ti \
 --name=ctop \
 --volume /var/run/docker.sock:/var/run/docker.sock:ro \
 quay.io/vektorlab/ctop:latest

Помимо непосредственно отображения используемых ресурсов, можно выбрать контейнер и быстро посмотреть его логи, остановить/перезапустить или провалиться внутрь через exec shell. Если постоянно работаете с контейнерами, то программа must have, особенно для разработчиков, которые постоянно эти контейнеры гоняют. Посоветуйте им, спасибо скажут.

Репозиторий - https://github.com/bcicen/ctop

#docker
​​Рассказываю про еще один инструмент для совместного хранения и использования паролей - KeePassXC. Это бесплатный мультиплатформенный форк известного KeePass, который я использую для своих паролей. Но при этом в KeePassXC есть уникальный функционал под названием KeeShare.

С помощью KeeShare вы можете один и тот же файл с паролями, к которому есть общий доступ, открыть в разных клиентах KeePassXC. При этом есть возможность ограничивать доступ, настраивать параметры синхронизации этого файла. Он может быть доступен для остальных в режиме только чтения или обоюдной синхронизации.

Я попробовал этот функционал. Настраивается просто. Положил файл с паролями на сетевой диск, подключил его к разным клиентам как отдельную папку в существующем локальном хранилище. Одному в режиме записи, второму - чтения.

Внешний вид KeePassXC лично мне не понравился по сравнению с классическим KeePass. Но тут уж выбирать не приходится. Подобных возможностей лично я ни в одной другой программе (не сервисе) для хранения паролей не видел. Приходилось просто на общий диск класть файл и кричать на весь кабинет, чтобы отпустили файл, когда в него что-то записать нужно было.

Сайт - https://keepassxc.org/
Исходники - https://github.com/keepassxreboot/keepassxc

#password
👍2
Я уже постил видео с этого канала, но как-то не проникся сразу самим каналом, бегло почитав заголовки роликов. А потом решил посмотреть и очень зашло. Отличная игра актёров и перевод. Посмотрел почти все видео про VLDL Bored. Не могу сказать, что там есть что-то прям супер интересное. Они все плюс-минус одинаково забавные. Это скетчи из компьютерного магазина.

Пример с интригой - Плоский кликер:
https://www.youtube.com/watch?v=GgOk_pE5MGg
Я не догадался по ходу дела о чём шла речь. Не буду рассказывать, на что подумал при просмотре. Попробуйте сами догадаться, что хочет покупатель.

#юмор
На днях обновлял очень старую self-hosted версию Gitlab до актуальной 14-й. Несмотря на то, что продукт достаточно сложный и многокомпонентный, обновление у меня всегда проходит без ошибок, даже когда переходишь с релиза на релиз. Не знаю, как команде удается так хорошо отладить этот процесс, тем не менее, это так.

В обновлении gitlab есть только один важный нюанс - нужно чётко соблюдать цепочку переходов с версии на версию, чтобы все прошло гладко. На эту тему я уже писал статью, которую актуализировал до самых свежих версий gitlab. Если делать по ней, всё получится. Я проверил лично.

Проблемы возникли только в самом конце, при обновлении на свежую версию 14.4. Почему то автоматически не выполнились миграции БД. Получил ошибку со ссылкой на документацию, где описано решение. Сделал, как указано, и всё получилось.

https://serveradmin.ru/obnovlenie-gitlab-cherez-neskolko-relizov/

#gitlab #devops
👍1
Системный администратор/сетевой администратор (Linux/Windows) в компанию Cloud4Y
Заработная плата: от 60 000 до 100 000 руб. до вычета налогов

Cloud4Y - один из ведущих поставщиков облачных решений в России и за рубежом

🔸Должностные обязанности:
- Администрирование оборудования и программного обеспечения (cервера, сетевое оборудование и программное обеспечение) преимущественно удаленно
- Поддержка и развитие ИТ-инфраструктур корпоративных Заказчиков
- Оперативное реагирование и разрешение инцидентов
- Осуществление процедур диагностики и разрешение проблем
- Готовность работать при необходимости во внерабочее время.

🔹Требования:
- Образование: высшее
- Полный спектр требований к системному-сетевому администратору
- Linux, на уровне выше среднего
- Windows Server, настройка, администрирование на уровне выше среднего
- Сетевое оборудование и протоколы, маршрутизация пакетов, VPN, NAT, DNS, VLAN и т.п.
- Виртуализация, знание любого из: XEN, VMware, KVM, Hyper-V и т.д.
- Умение работать с железом: сервера, коммутаторы, маршрутизаторы
- Коммуникабельность и умение общаться с людьми
- Знание английского языка на уровне среднего (переписка)
- Навыки документирования ИТ-решений

Плюсом является (но не обязательно):
- Знания по СХД (любой)
- Опыт работы в ISP или хостинг компании
- Знакомство с Cisco/Juniper
- Знание какой либо системы мониторинга Zabbix, Nagios и т.д.
- Знание любого языка программирования, умение делать скрипты для автоматизации задач


🔻Условия работы:
- Полный рабочий день 5/2, удаленно
- Официальное трудоустройство, белая з/п.
- Четкая и понятная система мотивации, индексация зарплаты.
- Интенсивное внутреннее обучение, профессиональный и карьерный рост.
- Дружный и сплоченный коллектив, комфортная адаптация на рабочем месте.
- Дополнительные бонусы от компании по прошествии 3-12 месяцев: доступ к библиотеке, компенсация питания, участие в корпоративных мероприятиях, обучение за счет компании, подарки.

Контакты Марии - HR-менеджера Cloud4Y: 
telegram: @kondakovica
email: [email protected]

#реклама
👍1
Синий синий синьор
Научно-технический рэп
У меня есть несколько особенностей:

1. Не люблю, когда ругаются матом и сам почти не ругаюсь. 
2. Не употребляю алкоголь уже много лет (что-то около 10) и не люблю алкогольную тематику.
3. Не слушаю песни с бессмысленными текстами. 

И при всём при этом мне нравится песня от Научно-технического рэпа - Синий синий синьор. Я её включаю постоянно. Надо же было такое придумать и спеть 😁 

Синий синий синьор лег на провода, 
Сервер не поднимется больше никогда,
О-о-у-о, это синий, синий, синий, синьор.

#песня
​​Я на днях сделал пост на своем втором канале на тему необычного устройства от Mikrotik в виде флешки. Я подумал, что это фейк, который смастерили для показа в рекламе. Никогда таких устройств у Микротика не видел. Каково же было моё удивление, когда оказалось, что это реальное устройство. Называется оно Woobm-USB.

Каким образом я умудрился ни разу даже не слышать о нём, не знаю. Я постоянно пользуюсь и покупаю устройства Mikrotik. Ориентируюсь в моделях, постоянно захожу в интернет магазины. Но данное чудо-юдо мне ни разу не попадалось на глаза.

Woobm-USB используется для подключения к устройствам Mikrotik, к которым по какой-то причине нет сетевого доступа. Вы втыкаете в usb порт Woobm-USB и подключаетесь к нему по Wifi. А дальше управляете целевым Микротиком, как-будто подключены напрямую к нему.

Стоит такая штуковина всего $16.00.

#mikrotik
👍4
​​Команда, которую часто приходится использовать в Linux - ps. Но не просто ps, а с ключами:
# ps ax или ps aux
Она выводит список всех процессов. Чаще всего этот список приходится грепать, чтобы получить подробную информацию о конкретном процессе.
# ps ax | grep mysql

Есть утилита procs, которая расширяет функционал ps. Она имеет более удобный для восприятия вывод и некоторые другие возможности. Например, добавляет информацию о занимаемых TCP/UDP портах. В ней можно использовать поиск, делать древовидный вывод и многое другое.

Procs есть под Linux, Macos и даже Windows. Есть готовый rpm пакет:
# rpm -i https://github.com/dalance/procs/releases/download/v0.11.10/procs-0.11.10-1.x86_64.rpm

В Ubuntu можно из snap поставить:
# snap install procs

Под винду экзешник из репозитория надо скачать. Я попробовал, реально работает на Win10. Единственное, что я не понял, так это почему у меня не отображались используемые процессом порты. Ни в centos, ни в windows. Всё описание и все ключи запуска изучил, но так и не понял, как вывести эту информацию. На скринах из репозитория она есть.

У меня как-то появилась идея получать список запущенных процессов в системе после того, как в Zabbix сработает триггер на нагрузку CPU. Так можно сразу понять, кто нагрузил систему. В Linux я без проблем это реализовал с помощью ps. Подробно описал в статье. Если нужно будет сделать то же самое в Windows, то можно взять для этого утилиту procs.

Исходники - https://github.com/dalance/procs

#утилита #terminal
👍1
Плотно алерты лететят
Частушки
Практиковался на днях в составлении частушек. Это очень просто сделать с @ChastushkiBot. Держите тематический к понедельнику.

Думаю на постоянной основе что-то сочинять на тему админства. Если у кого-то есть веселые примеры, делитесь.

#частушка
​​Случилось знаменательное событие. Zabbix научился сам мониторить время жизни TLS сертификатов. Реализуется это средствами Zabbix Agent 2 и нового шаблона для него. Данный шаблон был зарелизен вместе с версией 5.4.4. Поддержка также добавлена в LTS версию 5.0.15. Реализуется данный функционал с помощью нового айтема web.certificate.get.

Настройка подобных проверок там следующая. Добавляете новый хост, на котором установлен Zabbix Agent 2. Добавляете к нему шаблон Website certificate by Zabbix agent 2. Взять можно в репе. В макросе указываете dns имя сайта и сохраняете хост.

Раньше приходилось всякие костыли применять - https://serveradmin.ru/monitoring-sroka-deystviya-ssl-sertifikata-v-zabbix/ Оцените количество комментов к статье. Такими темпами скоро писать будет не о чём. Zabbix покрывает готовыми шаблонами все основные потребности. Все мои костыли стали больше не нужны. Все из коробки работает.

Видео процесса настройки - https://www.youtube.com/watch?v=QwEDWk0Ky64

#zabbix
​​Рекомендую к просмотру интересное выступление с HighLoad ++ Даниила Захлыстова (Яндекс) - Надежные и быстрые бэкапы PostgreSQL. Речь там идёт про всем известный инструмент WAL-G для бэкапов баз PostgreSQL.

Выступление короткое и достаточно ёмкое. Рассказано в основном про нововведения готовящегося релиза на момент записи трансляции, так как в целом про WAL-G много информации. Релиз v1.0 в итоге состоялся 31 мая.

WAL-G один из лучших бесплатный инструмент для резервного копирования PostgreSQL. Поддерживает полные и инкрементные бэкапы. Его отличает хорошая поддержка современных облачных хранилищ для хранения архивов.

В видео помимо непосредственно рассказа о WAL-G дана общая информация по бэкапам баз данных, что может быть интересно для тех, кто не сильно разбирается в этой теме.

📌 Полезные ссылки:
Youtube - https://www.youtube.com/watch?v=DcIq7H622dQ
Тэзисы выступления - https://www.highload.ru/spring/2021/abstracts/7276
Исходники WAL-G - https://github.com/wal-g/wal-g
Статья с настройкой и примерами - https://habr.com/ru/post/486188/

В связи с тем, что сейчас многие переезжают на PostgreSQL, в том числе с 1С, информация актуальна. Стоит сохранить в закладках.

#backup #postgresql
​​Недавно к какой-то из заметок с докером у меня кто-то спрашивал в комментариях, есть ли для него удобный веб интерфейс. Я так сходу не назвал, так как сам не пользуюсь. Но вчера разбирал заметки старые, нашёл закладку сервиса, который хотел проверить - Portainer.

Это оказался отличный веб интерфейс для контейнеров. Причем, поддерживает он не только Docker, но и Swarm, Kubernetes. Ставится очень просто - в контейнере 😁 Достаточно ему docker.sock пробросить.

docker run -d -p 8000:8000 -p 9443:9443 --name portainer \
  --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce:latest

Идём в веб интерфейс - https://192.168.13.157:9443 и создаём учётную запись администратора. Дальше все достаточно просто и интуитивно понятно. Можете управлять своим локальным хостом - создавать контейнеры, просматривать images, volumes, создавать сети, смотреть логи и т.д. В общем, полное управление докером через веб интерфейс.

Я немного потестировал и в итоге оставил эту панель на своем тестовом хосте для Docker. Хороший продукт, мне понравился. Рекомендую.

Сайт - https://www.portainer.io/
Исходники - https://github.com/portainer/portainer
Demo - https://demo.portainer.io/ (admin / tryportainer)

#docker #devops
​​Времена, когда были очень актуальны ISO образы на флешках безвозвратно уходят. Сейчас всё реже и реже приходится именно с внешних носителей выполнять установки ОС. Тем не менее, иногда приходится это делать. Я помню раньше был единственный рабочий способ получить загрузочный носитель с кучей ISO образов, которые можно выбирать по своему желанию, это купить какой-то известный внешний хард, умеющий эмулировать CD-ROM. Не помню производителя и модель.

Сейчас с этим проще. Есть программа Ventoy, которая позволяет сделать загрузочную флешку, накидать в неё образов и потом выбирать, с какого из них грузиться. Причём она поддерживает не только ISO, но и прочие образы, типа IMG, VHD(x) и другие. Программа бесплатная, open source.

Настраивается все достаточно просто. Качаете Ventoy из репозитория под свою систему. Поддерживается как Windows, так и Linux. Создаёте с его помощью загрузочную флешку. Программа всё сделает сама. Причём будет поддерживаться загрузка как на MBR, так и UEFI системах. Затем в основной раздел флешки загружаете нужные вам образы дисков. После загрузки с этой флешки, вы сможете выбрать один из образов для загрузки системы.

Из минусов то, что не на всём железе работает, и иногда какие-то образы могут глючить, не грузиться. Но в общем и целом лучше всё равно ничего нет (я не видел).

Сайт - https://www.ventoy.net/
Исходники - https://github.com/ventoy/Ventoy
👍6