Rufus: надежная утилита форматирования USB
Форматирование USB, флэш-карт и виртуальных дисков в FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3
Создание загрузочных USB-накопителей DOS, используя FreeDOS или MS-DOS (Windows 8.1 или более ранние версии)
Создание загрузочных дисков BIOS или UEFI, включая загрузочные диски UEFI NTFS
Создание загрузочных дисков из загрузочных ISO (Windows, Linux и т.д.)
Создание загрузочных дисков из загрузочных образов дисков, включая сжатые.
Создание установочных дисков Windows 11 для ПК, не оснащенных TPM или Secure Boot
Создание дисков Windows To Go
Создание постоянных разделов Linux
Создание образов дисков VHD/DD
Вычисление контрольных сумм MD5, SHA-1, SHA-256 и SHA-512 выбранного образа
Улучшение процесса установки Windows путем автоматической настройки параметров OOBE (локальная учетная запись, параметры конфиденциальности и т.д.)
Выполняйте проверку плохих блоков, включая обнаружение "поддельных" флеш-накопителей
Загрузка официальных розничных ISO-образов Microsoft Windows 7, Windows 8, Windows 10 или Windows 11
Загружать ISO-файлы UEFI Shell
Современный и привычный пользовательский интерфейс, встроенная поддержка 38 языков
Малая занимаемая площадь. Не требует установки.
Портативный. Совместимость с Secure Boot.
100% свободное программное обеспечение (GPL v3)
https://github.com/pbatard/rufus
Форматирование USB, флэш-карт и виртуальных дисков в FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3
Создание загрузочных USB-накопителей DOS, используя FreeDOS или MS-DOS (Windows 8.1 или более ранние версии)
Создание загрузочных дисков BIOS или UEFI, включая загрузочные диски UEFI NTFS
Создание загрузочных дисков из загрузочных ISO (Windows, Linux и т.д.)
Создание загрузочных дисков из загрузочных образов дисков, включая сжатые.
Создание установочных дисков Windows 11 для ПК, не оснащенных TPM или Secure Boot
Создание дисков Windows To Go
Создание постоянных разделов Linux
Создание образов дисков VHD/DD
Вычисление контрольных сумм MD5, SHA-1, SHA-256 и SHA-512 выбранного образа
Улучшение процесса установки Windows путем автоматической настройки параметров OOBE (локальная учетная запись, параметры конфиденциальности и т.д.)
Выполняйте проверку плохих блоков, включая обнаружение "поддельных" флеш-накопителей
Загрузка официальных розничных ISO-образов Microsoft Windows 7, Windows 8, Windows 10 или Windows 11
Загружать ISO-файлы UEFI Shell
Современный и привычный пользовательский интерфейс, встроенная поддержка 38 языков
Малая занимаемая площадь. Не требует установки.
Портативный. Совместимость с Secure Boot.
100% свободное программное обеспечение (GPL v3)
https://github.com/pbatard/rufus
❤3
Примеры полезного использования команды netsh в Windows
Команда netsh (от англ. «сетевая оболочка» или network shell) — программа, включенная в линейку продуктов операционных систем Microsoft Windows NT начиная с Windows 2000. Она позволяет осуществлять локальное или удаленное конфигурирование сетевых параметров.
https://bookflow.ru/primery-poleznogo-ispolzovaniya-komandy-netsh-v-windows/
Команда netsh (от англ. «сетевая оболочка» или network shell) — программа, включенная в линейку продуктов операционных систем Microsoft Windows NT начиная с Windows 2000. Она позволяет осуществлять локальное или удаленное конфигурирование сетевых параметров.
https://bookflow.ru/primery-poleznogo-ispolzovaniya-komandy-netsh-v-windows/
❤2👍1
📌 Все о DHCP
1. DHCP (Dynamic Host Configuration Protocol) - это ключевой игрок в управлении сетью, упрощающий процесс назначения IP-адресов и связанной с ними информации о конфигурации устройств.
2. DHCP работает по модели клиент-сервер. Когда устройство (клиент) подключается к сети, оно отправляет запрос DHCP. В ответ DHCP-сервер предоставляет клиенту IP-адрес, маску подсети, основной шлюз, DNS-серверы и многое другое. Это как цифровой приветственный пакет!
3. DHCP динамически распределяет IP-адреса, что позволяет избежать головной боли, связанной с ручной настройкой. Такая гибкость особенно удобна в больших сетях, где назначение IP-адресов вручную было бы непрактичным.
4. DHCP использует механизм аренды. Сервер предоставляет клиенту IP-адрес в аренду на определенный срок. Когда срок аренды истекает, клиент должен продлить его. В противном случае IP-адрес возвращается в пул доступных адресов.
5. Сообщения DHCP включают в себя Discover, Offer, Request и Acknowledge. Клиент отправляет сообщение Discover, чтобы найти сервер, а сервер отвечает сообщением Offer. Клиент запрашивает предложенный IP-адрес, а сервер подтверждает.
6. В сети может существовать несколько DHCP-серверов. Чтобы предотвратить конфликты, клиенты DHCP следуют процессу выбора сервера, гарантируя, что они не примут конфликтующие предложения. Это похоже на выбор лучшего сигнала WiFi в переполненном районе!
7. DHCP поддерживает IPv4 и IPv6, адаптируясь к развивающимся технологиям. IPv6 с его расширенным адресным пространством обеспечивает актуальность DHCP в постоянно развивающемся цифровом ландшафте.
8. Безопасность DHCP очень важна. Несанкционированные серверы DHCP могут посеять хаос, поэтому такие методы, как DHCP snooping, помогают выявить и смягчить потенциальные угрозы. Это как вышибалы на входе в сеть, чтобы держать все под контролем!
9. Понимание DHCP является основополагающим для сетевых администраторов и ИТ-специалистов. Это безмолвный герой, который обеспечивает бесперебойное подключение наших устройств к огромной паутине сетей и их взаимодействие.
10. Знаете ли вы? DHCP не только назначает IP-адреса, но и предоставляет такую информацию, как адреса DNS-серверов и шлюзов по умолчанию. Это все равно что получить карту и ключ для навигации по огромному ландшафту Интернета!
11. Агенты ретрансляции DHCP расширяют зону действия серверов DHCP в разных сетях. Когда клиент находится в другой подсети, агенты ретрансляции пересылают сообщения DHCP, обеспечивая бесперебойную связь. Думайте о них как об эффективных перевозчиках почты для цифровых адресов!
12. Устранение проблем с DHCP?
Проверьте журналы событий! Серверы DHCP регистрируют важные события, помогая администраторам выявлять и устранять проблемы. Это как сетевой детектив, который оставляет улики для беспрепятственного расследования.
13. Масштабируемость - сильная сторона DHCP. От небольших домашних сетей до огромных корпоративных комплексов - DHCP легко масштабируется, управляя IP-адресами для нескольких устройств или тысяч. Универсальность на высоте!
14. DHCP может работать наряду со статическими IP-адресами. Некоторым устройствам, например серверам или принтерам, может быть полезен фиксированный адрес. DHCP позволяет им сосуществовать, обеспечивая лучшее из двух миров - гибкость и стабильность!
1. DHCP (Dynamic Host Configuration Protocol) - это ключевой игрок в управлении сетью, упрощающий процесс назначения IP-адресов и связанной с ними информации о конфигурации устройств.
2. DHCP работает по модели клиент-сервер. Когда устройство (клиент) подключается к сети, оно отправляет запрос DHCP. В ответ DHCP-сервер предоставляет клиенту IP-адрес, маску подсети, основной шлюз, DNS-серверы и многое другое. Это как цифровой приветственный пакет!
3. DHCP динамически распределяет IP-адреса, что позволяет избежать головной боли, связанной с ручной настройкой. Такая гибкость особенно удобна в больших сетях, где назначение IP-адресов вручную было бы непрактичным.
4. DHCP использует механизм аренды. Сервер предоставляет клиенту IP-адрес в аренду на определенный срок. Когда срок аренды истекает, клиент должен продлить его. В противном случае IP-адрес возвращается в пул доступных адресов.
5. Сообщения DHCP включают в себя Discover, Offer, Request и Acknowledge. Клиент отправляет сообщение Discover, чтобы найти сервер, а сервер отвечает сообщением Offer. Клиент запрашивает предложенный IP-адрес, а сервер подтверждает.
6. В сети может существовать несколько DHCP-серверов. Чтобы предотвратить конфликты, клиенты DHCP следуют процессу выбора сервера, гарантируя, что они не примут конфликтующие предложения. Это похоже на выбор лучшего сигнала WiFi в переполненном районе!
7. DHCP поддерживает IPv4 и IPv6, адаптируясь к развивающимся технологиям. IPv6 с его расширенным адресным пространством обеспечивает актуальность DHCP в постоянно развивающемся цифровом ландшафте.
8. Безопасность DHCP очень важна. Несанкционированные серверы DHCP могут посеять хаос, поэтому такие методы, как DHCP snooping, помогают выявить и смягчить потенциальные угрозы. Это как вышибалы на входе в сеть, чтобы держать все под контролем!
9. Понимание DHCP является основополагающим для сетевых администраторов и ИТ-специалистов. Это безмолвный герой, который обеспечивает бесперебойное подключение наших устройств к огромной паутине сетей и их взаимодействие.
10. Знаете ли вы? DHCP не только назначает IP-адреса, но и предоставляет такую информацию, как адреса DNS-серверов и шлюзов по умолчанию. Это все равно что получить карту и ключ для навигации по огромному ландшафту Интернета!
11. Агенты ретрансляции DHCP расширяют зону действия серверов DHCP в разных сетях. Когда клиент находится в другой подсети, агенты ретрансляции пересылают сообщения DHCP, обеспечивая бесперебойную связь. Думайте о них как об эффективных перевозчиках почты для цифровых адресов!
12. Устранение проблем с DHCP?
Проверьте журналы событий! Серверы DHCP регистрируют важные события, помогая администраторам выявлять и устранять проблемы. Это как сетевой детектив, который оставляет улики для беспрепятственного расследования.
13. Масштабируемость - сильная сторона DHCP. От небольших домашних сетей до огромных корпоративных комплексов - DHCP легко масштабируется, управляя IP-адресами для нескольких устройств или тысяч. Универсальность на высоте!
14. DHCP может работать наряду со статическими IP-адресами. Некоторым устройствам, например серверам или принтерам, может быть полезен фиксированный адрес. DHCP позволяет им сосуществовать, обеспечивая лучшее из двух миров - гибкость и стабильность!
❤3👍2
Doas – утилита, которая позволяет обычным пользователям выполнять задачи от имени root, так же как это делает sudo. Она была разработана проектом OpenBSD как минималистичная альтернатива sudo.
Запускайте
Так как doas не входит по умолчанию в коробочные версии linux, утилита требует немного бОльших настроек, в отличие от sudo. Но конфигурация намного проще для понимания чем sudo. Настраивается все это через файл /etc/doas.conf. Если файла нет — создайте.
Сымитируем поведение sudo и позволим пользователю выполнять любые команды от пользователя root. Добавим в конфиг такое:
Теперь пользователь user сможет выполнять команды от root + пользователь получает льготный период, когда не нужно вводить пароль в течение нескольких минут после последовательных команд doas.
Допустим нужно сделать подобное, но для определенной группы, добавляем в конфиг строчку:
Теперь все кто в группе wheel смогут побыть рутом. Также и с белым списком команд, которые можно выдать для запуска без пароля:
Да, конфиг более читабельный чем у sudo
Конфиг sudo
Конфиг doas
Ну и с помощью doas можно запустить root shell такой командой:
Запускайте
apt install doas.Так как doas не входит по умолчанию в коробочные версии linux, утилита требует немного бОльших настроек, в отличие от sudo. Но конфигурация намного проще для понимания чем sudo. Настраивается все это через файл /etc/doas.conf. Если файла нет — создайте.
Сымитируем поведение sudo и позволим пользователю выполнять любые команды от пользователя root. Добавим в конфиг такое:
permit persist user as root
Теперь пользователь user сможет выполнять команды от root + пользователь получает льготный период, когда не нужно вводить пароль в течение нескольких минут после последовательных команд doas.
Допустим нужно сделать подобное, но для определенной группы, добавляем в конфиг строчку:
permit persist :wheel as root
Теперь все кто в группе wheel смогут побыть рутом. Также и с белым списком команд, которые можно выдать для запуска без пароля:
permit persist user as root
permit nopass :user as root cmd apt
Да, конфиг более читабельный чем у sudo
Конфиг sudo
%wheel ALL=(ALL) NOPASSWD: ALL
Конфиг doas
permit nopass :wheel as root
Ну и с помощью doas можно запустить root shell такой командой:
doas -s
❤3👍2
GitHub Actions для Terraform
Если вы используете Terraform и хотите интегрировать его с CI/CD процессами на GitHub Actions, используйте библиотеку terraform-github-actions.
С её помощью вы сможете:
- Автоматизировать и тестировать Terraform-код.
- Настраивать проверки terraform plan и terraform apply.
- Ускорить деплой инфраструктуры.
Документация в репозитории описывает примеры использования и тонкости настройки.
https://github.com/dflook/terraform-github-actions
Если вы используете Terraform и хотите интегрировать его с CI/CD процессами на GitHub Actions, используйте библиотеку terraform-github-actions.
С её помощью вы сможете:
- Автоматизировать и тестировать Terraform-код.
- Настраивать проверки terraform plan и terraform apply.
- Ускорить деплой инфраструктуры.
Документация в репозитории описывает примеры использования и тонкости настройки.
https://github.com/dflook/terraform-github-actions
❤2
Системные утилиты для безопасного удаления файлов с HDD
Windows
В данном примере мы форматируем том D в файловую систему NTFS, при этом даем операционной системе команду предварительно перезаписать весь раздел нулями 10 раз, используя параметр /p («passes»), задающий количество проходов.
Linux
Быстро и надежно удаляет один или несколько файлов.
В этом примере мы перезаписали файл file.txt случайными данными 40 раз подряд (параметр -n, по умолчанию же shred совершает 25 проходов) и затем удалили его (параметр -u, поскольку по умолчанию shred не удаляет файлы, а сразу перезаписывает).
Если нам внужно дополнительно скрыть и сам факт «зачистки», то можете воспользоваться параметром -z:
Единственный недостаток shred — данная утилита не умеет работать с директориями. Поэтому если вам требуется уничтожить содержимое целого каталога с вложенными папками, стоит воспользоваться wipe. В данном примере мы отдали команду рекурсивно (-r) удалить все, что находится в папке private, а также отключили запрос подтверждения удаления папок и файлов (-f), которое wipe выводит по умолчанию. Среди интересных дополнительных опций, поддерживаемых утилитой, стоит выделить принудительное выполнение chmod для каталогов и файлов, защищенных от перезаписи (-c), работу в тихом режиме (-s) и возможность заставить wipe следовать символическим ссылкам (-D, конфликтует с -r).
Mac OS
В версиях операционной системы с 10.4 по 10.10 вы могли инициировать перезапись файлов, переместив их в корзину, а затем выбрав в Finder опцию «Очистить корзину необратимо», однако впоследствии Apple от нее отказалась. Вплоть до версии 10.11 для безопасного удаления данных можно было воспользоваться консольной командой srm. В данном примере мы рекурсивно удаляем содержимое папки private (-r), перезаписывая каждый файл случайными данными 7 раз подряд (-m). Также можно выбрать однократную перезапись файлов (-s) или же не указывать этот параметр вовсе — в этом случае утилита выполнит 35 проходов.
В актуальных версиях Mac OS инициировать безопасное удаление файлов с жесткого диска можно с помощью Дисковой утилиты (для этого необходимо нажать на кнопку «Параметры безопасности» и задать количество циклов перезаписи), либо через терминал, используя конструкцию вида. Параметр -P является специфичным для Mac OS и сообщает утилите, что удаляемые файлы необходимо трижды перезаписать.
Windows
В данном примере мы форматируем том D в файловую систему NTFS, при этом даем операционной системе команду предварительно перезаписать весь раздел нулями 10 раз, используя параметр /p («passes»), задающий количество проходов.
format d: /fs:NTFS /p:10Linux
Быстро и надежно удаляет один или несколько файлов.
shred -u -n 40 /private/file.txtВ этом примере мы перезаписали файл file.txt случайными данными 40 раз подряд (параметр -n, по умолчанию же shred совершает 25 проходов) и затем удалили его (параметр -u, поскольку по умолчанию shred не удаляет файлы, а сразу перезаписывает).
shred -u -n 40 /private/file.txt /private/file2.txtЕсли нам внужно дополнительно скрыть и сам факт «зачистки», то можете воспользоваться параметром -z:
shred -u -z -n 40 /private/file.txtЕдинственный недостаток shred — данная утилита не умеет работать с директориями. Поэтому если вам требуется уничтожить содержимое целого каталога с вложенными папками, стоит воспользоваться wipe. В данном примере мы отдали команду рекурсивно (-r) удалить все, что находится в папке private, а также отключили запрос подтверждения удаления папок и файлов (-f), которое wipe выводит по умолчанию. Среди интересных дополнительных опций, поддерживаемых утилитой, стоит выделить принудительное выполнение chmod для каталогов и файлов, защищенных от перезаписи (-c), работу в тихом режиме (-s) и возможность заставить wipe следовать символическим ссылкам (-D, конфликтует с -r).
wipe -rf /private/*Mac OS
В версиях операционной системы с 10.4 по 10.10 вы могли инициировать перезапись файлов, переместив их в корзину, а затем выбрав в Finder опцию «Очистить корзину необратимо», однако впоследствии Apple от нее отказалась. Вплоть до версии 10.11 для безопасного удаления данных можно было воспользоваться консольной командой srm. В данном примере мы рекурсивно удаляем содержимое папки private (-r), перезаписывая каждый файл случайными данными 7 раз подряд (-m). Также можно выбрать однократную перезапись файлов (-s) или же не указывать этот параметр вовсе — в этом случае утилита выполнит 35 проходов.
srm -rm /private/В актуальных версиях Mac OS инициировать безопасное удаление файлов с жесткого диска можно с помощью Дисковой утилиты (для этого необходимо нажать на кнопку «Параметры безопасности» и задать количество циклов перезаписи), либо через терминал, используя конструкцию вида. Параметр -P является специфичным для Mac OS и сообщает утилите, что удаляемые файлы необходимо трижды перезаписать.
rm -P /private/file.txt❤2🔥1
ArcherySec — open-source инструмент, который позволяет проводить сканирование инфраструктуры
ArcherySec интегрируется с 80+ коммерческими и открытыми инструментами и имеет удобный ArcherySec CLI — локально развертываемый инструмент командной строки, предназначенный для запуска на любом хосте Linux.
https://github.com/archerysec/archerysec
export TIME_ZONE='Asia/Kolkata'
git clone https://github.com/archerysec/archerysec.git
cd archerysec
NAME=User EMAIL=user@user.com PASSWORD=admin@123A bash setup.sh
./run.sh
ArcherySec интегрируется с 80+ коммерческими и открытыми инструментами и имеет удобный ArcherySec CLI — локально развертываемый инструмент командной строки, предназначенный для запуска на любом хосте Linux.
https://github.com/archerysec/archerysec
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Glasskube
Это пакетный менеджер с открытым исходным кодом для Kubernetes. Он делает развертывание, обновление и настройку пакетов в Kubernetes в 20 раз быстрее по сравнению с такими инструментами, как Helm или Kustomize. Вдохновлён простотой Homebrew и npm. Вы можете выбрать: использовать Glasskube через интерфейс (UI), командную строку (CLI) или развёртывать пакеты напрямую через GitOps.
https://github.com/glasskube/glasskube
Это пакетный менеджер с открытым исходным кодом для Kubernetes. Он делает развертывание, обновление и настройку пакетов в Kubernetes в 20 раз быстрее по сравнению с такими инструментами, как Helm или Kustomize. Вдохновлён простотой Homebrew и npm. Вы можете выбрать: использовать Glasskube через интерфейс (UI), командную строку (CLI) или развёртывать пакеты напрямую через GitOps.
https://github.com/glasskube/glasskube
❤1
Утилиты linux
rsync
Примеры:
ss
Примеры:
ps
mpstat
Показывает статистику загрузки процессора. Команды:
free
Показывает потребление ОЗУ на текущий момент:
top
Что-то наподобие диспетчера задач, только для линукс, показывает попроцессное потребление озу
dpkg
Пакетный менеджер для debian систем (не путать с системой управления пакетами — apt/apt-get)
netstat
rsync
-v — выводит подробную информацию о процессе копирования;[-a] — сохраняет все атрибуты оригинальных файлов;-u — не перезаписывать более новые файлы;-l — копирует символьные ссылки;-L — копирует содержимое ссылок;-p — сохраняет права для файлов;-t — сохраняет время модификации;-e — использовать другой транспорт, например, ssh;[-z] — cжимает файлы перед передачей;—recursive — перебирать директории рекурсивно;—exclude — Исключить файлы по шаблону;Примеры:
rsync -avz skillproject/data/ . — из подкаталога в текущий каталогrsync -avz skillproject/data/ aaa/ — из подпапки в подпапку aaa/rsync -avz skillproject/data/ digita6d@digita6d.beget.tech:/home/d/digita6d/code-skills.ru/public_html/sources/skillproject/data/ — передача на удаленный серверrsync -avze ssh skillproject/data/ digita6d@digita6d.beget.tech:/home/d/digita6d/code-skills.ru/public_html/sources/skillproject/data/ — то же самое м явным указанием sshss
-l или —listening — посмотреть только прослушиваемые порты;-p или —program — показать имя программы и ее PID;-t или —tcp — показать tcp порты;-u или —udp показать udp порты;-n или —numeric показывать ip адреса в числовом виде.Примеры:
ss -tlpn — проверить все прослушивающие tcp-портыss -tulpn | grep :80 — показать все процессы, работающие на 80-м портуps
ps -e — показать все процессыps -ef — показать подробную информацию о каждом процессеps -ef | grep phantom — найти все процессы с именем phantommpstat
Показывает статистику загрузки процессора. Команды:
mpstat — показывает общую информациюmpstat -P ALL — по каждому ядруfree
Показывает потребление ОЗУ на текущий момент:
free -h — показывает информацию в гигабайтах (более человеко читаемо, чем в байтах)top
Что-то наподобие диспетчера задач, только для линукс, показывает попроцессное потребление озу
dpkg
Пакетный менеджер для debian систем (не путать с системой управления пакетами — apt/apt-get)
dpkg -s <packname> — проверить, установлен ли пакетdpkg -l — список всех пакетовdpkg -l | grep apache2 — проверить, установлен ли конкретный пакетdpkg -i <package.deb> — установить пакетnetstat
netstat -pnltu — посмотреть список используемых портов❤1👍1
Перенос VM с Hyper-V на Proxmox
Перенос виртуальной машины (VM) с Hyper-V на Proxmox включает несколько шагов, поскольку Hyper-V и Proxmox используют разные форматы виртуальных дисков. Hyper-V использует формат VHDX, а Proxmox предпочитает формат QCOW2 или RAW. Основная задача заключается в конвертации дисков и настройке виртуальной машины на новом гипервизоре.
📌1. Подготовка виртуальной машины в Hyper-V
1. Выключите виртуальную машину в Hyper-V.
Чтобы избежать проблем с консистентностью данных, убедитесь, что VM выключена перед экспортом.
2. Экспортируйте виртуальную машину.
Откройте Hyper-V Manager и выполните экспорт виртуальной машины:
- Выберите нужную виртуальную машину.
- Нажмите "Экспортировать" и выберите директорию для сохранения экспортированных файлов.
В результате экспорт сохранит всю конфигурацию виртуальной машины и файлы дисков (обычно в формате VHD или VHDX).
📌2. Конвертация виртуального диска
Proxmox поддерживает несколько форматов виртуальных дисков, таких как
1. Перенесите диск (VHDX/VHD) на сервер Proxmox.
Скопируйте файл виртуального диска с Hyper-V на сервер Proxmox с помощью SCP или другого метода передачи файлов.
Пример использования SCP:
2. Установите `qemu-utils` (если он не установлен).
Для конвертации используйте утилиту
3. Конвертируйте VHDX в формат QCOW2 или RAW.
Выполните команду для конвертации:
- В QCOW2:
- В RAW:
-
-
📌3. Создание новой VM на Proxmox
1. Создайте новую виртуальную машину на Proxmox.
В интерфейсе Proxmox:
- Нажмите "Создать VM".
- Укажите настройки (например, процессоры, память, сетевые адаптеры), соответствующие параметрам вашей VM на Hyper-V.
- На этапе создания жесткого диска выберите небольшой размер временного диска (он не будет использоваться).
2. Подмените созданный диск на сконвертированный.
После создания VM:
- Перейдите в директорию, где хранится диск новой VM:
- Удалите временный диск и замените его на сконвертированный диск:
3. Проверьте и отредактируйте конфигурацию виртуальной машины.
Откройте файл конфигурации VM, который находится по пути
📌4. Запуск виртуальной машины
1. Запустите виртуальную машину в Proxmox.
В интерфейсе Proxmox запустите VM и проверьте, корректно ли она работает.
2. Установите необходимые драйвера.
Если в Hyper-V VM использовала специфичные драйвера, возможно, потребуется установить новые драйвера в ОС, чтобы она корректно функционировала в Proxmox (например, драйвера для сетевого адаптера или виртуальных дисков).
Заключение
После выполнения этих шагов виртуальная машина должна корректно работать на платформе Proxmox. Если возникнут проблемы с драйверами или загрузкой системы, возможно, потребуется дополнительно настроить параметры виртуальной машины или обновить конфигурацию ОС.
Перенос виртуальной машины (VM) с Hyper-V на Proxmox включает несколько шагов, поскольку Hyper-V и Proxmox используют разные форматы виртуальных дисков. Hyper-V использует формат VHDX, а Proxmox предпочитает формат QCOW2 или RAW. Основная задача заключается в конвертации дисков и настройке виртуальной машины на новом гипервизоре.
Шаги для переноса VM с Hyper-V на Proxmox📌1. Подготовка виртуальной машины в Hyper-V
1. Выключите виртуальную машину в Hyper-V.
Чтобы избежать проблем с консистентностью данных, убедитесь, что VM выключена перед экспортом.
2. Экспортируйте виртуальную машину.
Откройте Hyper-V Manager и выполните экспорт виртуальной машины:
- Выберите нужную виртуальную машину.
- Нажмите "Экспортировать" и выберите директорию для сохранения экспортированных файлов.
В результате экспорт сохранит всю конфигурацию виртуальной машины и файлы дисков (обычно в формате VHD или VHDX).
📌2. Конвертация виртуального диска
Proxmox поддерживает несколько форматов виртуальных дисков, таких как
QCOW2 и RAW. Вы можете использовать утилиту qemu-img для конвертации формата.1. Перенесите диск (VHDX/VHD) на сервер Proxmox.
Скопируйте файл виртуального диска с Hyper-V на сервер Proxmox с помощью SCP или другого метода передачи файлов.
Пример использования SCP:
scp /path/to/your/disk.vhdx user@proxmox:/var/lib/vz/images/
2. Установите `qemu-utils` (если он не установлен).
Для конвертации используйте утилиту
qemu-img. На Proxmox по умолчанию установлена эта утилита, но если её нет, установите:
apt-get install qemu-utils
3. Конвертируйте VHDX в формат QCOW2 или RAW.
Выполните команду для конвертации:
- В QCOW2:
qemu-img convert -f vhdx -O qcow2 /path/to/your/disk.vhdx /var/lib/vz/images/VMID/vm-disk.qcow2
- В RAW:
qemu-img convert -f vhdx -O raw /path/to/your/disk.vhdx /var/lib/vz/images/VMID/vm-disk.raw
-
/path/to/your/disk.vhdx — путь к вашему файлу VHDX.-
/var/lib/vz/images/VMID/vm-disk.qcow2 — путь, куда будет сохранен новый виртуальный диск, с указанием идентификатора VM (`VMID`).📌3. Создание новой VM на Proxmox
1. Создайте новую виртуальную машину на Proxmox.
В интерфейсе Proxmox:
- Нажмите "Создать VM".
- Укажите настройки (например, процессоры, память, сетевые адаптеры), соответствующие параметрам вашей VM на Hyper-V.
- На этапе создания жесткого диска выберите небольшой размер временного диска (он не будет использоваться).
2. Подмените созданный диск на сконвертированный.
После создания VM:
- Перейдите в директорию, где хранится диск новой VM:
/var/lib/vz/images/VMID/.- Удалите временный диск и замените его на сконвертированный диск:
mv /path/to/vm-disk.qcow2 /var/lib/vz/images/VMID/
3. Проверьте и отредактируйте конфигурацию виртуальной машины.
Откройте файл конфигурации VM, который находится по пути
/etc/pve/qemu-server/VMID.conf, и убедитесь, что строка с указанием диска ссылается на ваш новый файл:
scsi0: local:VMID/vm-disk.qcow2
📌4. Запуск виртуальной машины
1. Запустите виртуальную машину в Proxmox.
В интерфейсе Proxmox запустите VM и проверьте, корректно ли она работает.
2. Установите необходимые драйвера.
Если в Hyper-V VM использовала специфичные драйвера, возможно, потребуется установить новые драйвера в ОС, чтобы она корректно функционировала в Proxmox (например, драйвера для сетевого адаптера или виртуальных дисков).
Заключение
После выполнения этих шагов виртуальная машина должна корректно работать на платформе Proxmox. Если возникнут проблемы с драйверами или загрузкой системы, возможно, потребуется дополнительно настроить параметры виртуальной машины или обновить конфигурацию ОС.
❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Xeol
Cканер образов контейнеров, SBOM и файловых систем на проверку пакетов на end-of-life (EOL)
https://github.com/xeol-io/xeol
Cканер образов контейнеров, SBOM и файловых систем на проверку пакетов на end-of-life (EOL)
https://github.com/xeol-io/xeol
👍2❤1
Внутреннее устройство Linux - доступно, но всерьез.
Уроки по Linux от Дмитрия Кетова для самостоятельного обучаения.
https://www.youtube.com/c/DmitryKetov/playlists
Уроки по Linux от Дмитрия Кетова для самостоятельного обучаения.
https://www.youtube.com/c/DmitryKetov/playlists
❤3
Примеры скриптов для Mikrotik
Проверка изменения IP-адреса интерфейса для Mikrotik
Иногда провайдер выдает динамические IP-адреса. Этот скрипт проверит, не изменился ли динамический IP-адрес.
Netmask
Этот скрипт полезен, если вам нужен ip-адрес без netmask (например, чтобы использовать его в брандмауэре), а "/ip address get [id] address" возвращает ip-адрес и netmask.
Резолвим имя хоста
Многие пользователи спрашивают, как использовать dns-имена вместо IP-адресов для серверов radius, правил брандмауэра и т. д.
Вот пример того, как резовлить IP-адрес сервера RADIUS.
Допустим, у нас настроен сервер radius:
А вот скрипт, который резовлит ip-адрес, сравнит ip с настроенным и заменит, если они не равны:
Добавьте этот скрипт в планировщик, чтобы он выполнялся, например, каждые 5 минут
Проверка изменения IP-адреса интерфейса для Mikrotik
Иногда провайдер выдает динамические IP-адреса. Этот скрипт проверит, не изменился ли динамический IP-адрес.
:global currentIP;
:local newIP [/ip address get [find interface="ether1"] address];
:if ($newIP != $currentIP) do={
:put "ip address $currentIP changed to $newIP";
:set currentIP $newIP;
}
Netmask
Этот скрипт полезен, если вам нужен ip-адрес без netmask (например, чтобы использовать его в брандмауэре), а "/ip address get [id] address" возвращает ip-адрес и netmask.
:global ipaddress 10.1.101.1/24
:for i from=( [:len $ipaddress] - 1) to=0 do={
:if ( [:pick $ipaddress $i] = "/") do={
:put [:pick $ipaddress 0 $i]
}
}Резолвим имя хоста
Многие пользователи спрашивают, как использовать dns-имена вместо IP-адресов для серверов radius, правил брандмауэра и т. д.
Вот пример того, как резовлить IP-адрес сервера RADIUS.
Допустим, у нас настроен сервер radius:
/radius
add address=3.4.5.6 comment=myRadА вот скрипт, который резовлит ip-адрес, сравнит ip с настроенным и заменит, если они не равны:
/system noscript add name="resolver" source= {
:local resolvedIP [:resolve "server.example.com"];
:local radiusID [/radius find comment="myRad"];
:local currentIP [/radius get $radiusID address];
:if ($resolvedIP != $currentIP) do={
/radius set $radiusID address=$resolvedIP;
/log info "radius ip updated";
}
}Добавьте этот скрипт в планировщик, чтобы он выполнялся, например, каждые 5 минут
/system scheduler add name=resolveRadiusIP on-event="resolver" interval=5m❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Winapps – проект, что позволяет запускать приложения Windows, такие как Microsoft Office в Linux (Ubuntu) и GNOME, как если бы они были частью собственной ОС, включая интеграцию с Nautilus
https://github.com/Fmstrat/winapps
https://github.com/Fmstrat/winapps
❤2👍2
Трюки терминала Bash
Полезные комбинации клавиш (хоткеи) и небольшие хитрости, которые сделают Вашу работу в Linux более эффективной.
Горячие клавиши" Bash с Ctrl
Изменить заглавные на строчные и наоборот
Запустить предыдущую команду ещё раз
Запустить команду из истории по номеру (например, 53)
Запускает последнюю команду и меняет какой-то параметр. Например, меняем
Важно: предыдущая команда заменит только первое вхождение "aaa". Если вы хотите заменить все вхождения, используйте
Запустить последнюю команду, которая начинается с...
Например, до этого в истории команд была команда cat filename:
— запускает
Указание файлов по шаблону в Bash
Полезные переменные окружения Bash
Короткие переменные:
Более длинные, но тоже полезные переменные:
Полезные комбинации клавиш (хоткеи) и небольшие хитрости, которые сделают Вашу работу в Linux более эффективной.
Горячие клавиши" Bash с Ctrl
Ctrl + n — то же самое, что и стрелка вниз.Ctrl + p — то же самое, что и стрелка вверх.Ctrl + r — поиск по предыдущим командам из истории команд (history). Продолжайте нажимать Ctrl + r, чтобы искать дальше. Ctrl + Shift + r — поиск в другую сторону.Ctrl + s — остановить вывод в терминал.Ctrl + q — восстановить вывод в терминал после Ctrl + s.Ctrl + a — перейти к началу строки (аналог клавиши Home).Ctrl + e — перейти к концу строки (аналог клавиши End).Ctrl + d — если вы ввели что-то, то Ctrl + d удаляет символ под курсором. В противном случае означает конец ввода и завершает текущую сессию Bash.Ctrl + k — удалить весь текст от курсора до конца строки.Ctrl + x + backspace — удалить весь текст от начала строки до курсора.Ctrl + t — переставить символ до курсора на символ под курсором. Нажмите Esc + t для перестановки двух слов до курсора.Ctrl + w — удалить слово до курсора; затем Ctrl + y, чтобы вставить его.Ctrl + u — удалить строку перед курсором; Ctrl + y для вставки его.Ctrl + _ — отменить ввод.Ctrl + l — очищает окно терминала. То же самое, что и clear.Ctrl + x + Ctrl + e — запускает редактор, определённый в переменной $EDITOR, для ввода команды. Полезно для многострочных команд.Изменить заглавные на строчные и наоборот
Esc + u — преобразовать буквы от курсора до конца строки в заглавные буквы.Esc + l — преобразовать буквы от курсора до конца строки в нижний регистр.Esc + c — заменить букву под курсором на заглавную.Запустить предыдущую команду ещё раз
Запустить команду из истории по номеру (например, 53)
!53!! — запуск последней команды.sudo !! — запустить предыдущую команду с sudo.Запускает последнюю команду и меняет какой-то параметр. Например, меняем
"aaa" на "bbb":
# Последняя команда: echo 'aaa'
$ ^aaa^bbb
$ echo 'bbb'
bbbВажно: предыдущая команда заменит только первое вхождение "aaa". Если вы хотите заменить все вхождения, используйте
:&:^aaa^bbb^:&
# или
!!:gs/aaa/bbb/Запустить последнюю команду, которая начинается с...
Например, до этого в истории команд была команда cat filename:
!cat
# или
!c— запускает
cat filename ещё раз.Указание файлов по шаблону в Bash
/etc/pa*wd → /etc/passwd — символ * означает "несколько любых символов"./b?n/?at → /bin/cat — символ ? означает "один любой символ".ls -l [a-z]* — вывести список файлов, содержащих только буквы латинского алфавита. В квадратных скобках [] перечисляются символы, которые будут искаться. А символ * после [] означает "хоть сколько раз".ls {*.sh,*.py} — вывести все .sh и .py файлы. {} используется для группировки нескольких шаблонов по принципу "или".Полезные переменные окружения Bash
Короткие переменные:
$0 — оболочка командной строки или путь до запускаемого файла.$1, $2, $3, ... — аргументы запуска скрипта.$# — число аргументов, переданных в скрипт из терминала.$? — код завершения последней команды.$- — текущие опции, установленные для оболочки.$$ — идентификатор текущего процесса.$! — идентификатор процесса, завершённого последним.Более длинные, но тоже полезные переменные:
$DESKTOP_SESSION — текущий менеджер дисплеев.$EDITOR — редактор текста по умолчанию.$LANG — используемый системой язык.$PATH — список директорий, в которых будут искаться исполняемые файлы.$PWD — текущая директория.$SHELL — текущая оболочка командной строки.$USER — имя текущего пользователя.$HOSTNAME — имя текущего хоста (компьютера).🙏2