Моя записная книжка. Комментарии отключены из-за спама. Для вопросов используйте эту страничку

Позднее Ctrl + ↑

P2V или как преобразовать физический сервер в виртуальный

Задача: превратить старый физический сервер с Debian11 в виртуальную машину на ESXi гипервизоре.
Вариант с конвертером (converter standalone / vCenter converter) у меня не удался ни разу, поэтому пошел другим путем.
В процессе понадобится виндовая машина со свободным местом на диске >= двухкратному размеру системного диска сервера.
При желании можно обойтись без нее.

  1. Подготовка.
    Останавливаем на сервере все задачи, изменяющие критичные данные (типа mysql).
    Убеждаемся что помним пароль рута, а если его не было — устанавливаем.
    Если кроме системного раздела на сервере были монтирующиеся дополнительные, но которые переносить не надо, желательно сразу отредактировать fstab — закоментить лишнее.
    Устанавливаем если ранее не было qemu: apt update && apt install qemu qemu-utils
  1. Копируем системный раздел в образ примерно так:
    dd if=/dev/sda of=/root/sda.img bs=8M conv=sync,noerror status=progress
  1. Конвертируем образ в vmdk:
    qemu-img convert -o compat6 sda.img -O vmdk sda-vmware.vmdk
  1. Вытаскиваем vmdk файл на виндовую машину. Устанавливаем VMware Workstation. Создаем в последнем новую ВМ с параметрами примерно как у сервера (проц, память), указываем что будет ubuntu18 x64, и что систему поставим позже (диск по дефолту 20Гб). Теперь, не запуская новую ВМ подменяем vmdk файл (тут есть вариант указать при создании «использовать имеющийся диск», но этот пункт есть не у всех версий VMware Workstation).
  1. Запускаем виртуальную машину. Тут могут посыпаться некоторые ошибки, может понадобиться пароль рута. У меня в частности наругалось на отсутствующие диски. Также может измениться UUID, тогда делаем blkid и прописываем в fstab верные.
  1. Гасим виртуальную машину и делаем экспорт в OVF.
  1. Подключаемся к гипервизору ESXi и загружаем в него OVF.
    Если возникнет ошибка типа «No supported hardware versions among» — нужно отредактировать ovf-файл, исправить в нем vmx-xx (где хх например 16) на поддерживаемую гипервизором версию, например 13 или 12.
 162   2022   esxi   linux   virtualization

Почему не работает отключение пароля sudoer’а?

Чтобы `sudo` не спрашивало пароль, надо отредактировать файл /etc/sudoers с помощью visudo.
Во всех найденных инструкциях приводится один и тот же пример:

под строкой
root ALL=(ALL:ALL) ALL
добавляют юзера
username ALL=(ALL) NOPASSWD: ALL

всё верно, вот только дальше в файле есть строчка
%sudo ALL=(ALL:ALL) ALL
которая срабатывает для username если он входит в группу sudoer и соответственно запрос пароля не отключится.

Решение тупое — написать юзера username ниже строчки %sudo.
Решение правильное — вынести юзера username в отдельный файл в /etc/sudoers.d/username
т.к .подключение этих файлов идет в конце /etc/sudoers

 200   2022   know how   linux

Docker

Докатились...

https://docs.docker.com/engine/install/debian/

apt-get install ca-certificates curl gnupg lsb-release apt-transport-https

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null

f.e. : deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian bullseye stable


apt-get update
apt-get install docker-ce docker-ce-cli containerd.io

docker run hello-world

groupadd docker
usermod -aG docker $USER

systemctl enable docker.service
systemctl enable containerd.service
 131   2021   devops   it   linux

Как сделать деталь из смолы со стеклотканью

Сначала форма

  1. ЭППС на каркас
  2. полиэфирная автошпаклевка
  3. Алюминиевый скотч
    3а. скульптурный пластилин
  4. Разделитель (воск, не спирт!)
  5. Гель-коат (не модельный, а обычный)
  6. Полиэфирная смола (красная) + 300 стекломат

Изделие

  1. Восковый разделитель
  2. Гель-коат
  3. Полиэфирная смола (синяя) + 150 стекломат
    потом 300 стекломат
    потом 400 стекломат

стеклорогожа — только для готовых деталей
прикаточный валик — супер для ровных площадей
300 стекломат
рассыпуха не имеет смысла

акриловый лак по выровненой поверхности для защиты ЭППС от полиэфирной смолы

красная полиэфирка — таксебе
синяя итальянская — хорошая

 105   2021  

Цитаты

Простая ясная цель и принципы порождают сложное и умное поведение. Большой набор сложных правил порождает простое и глупое поведение.

Ди Хок, создатель Visa

Первое правило любой технологии, применяемой в бизнесе: автоматизация рациональных операций повышает их рациональность.
Второе правило: автоматизация нерациональных операций влечет рост их иррациональности.

Билл Гейтс, создатель Microsoft

Программист — это не тот, кто пишет программы, а тот, чьи программы работают.

хз

For every complex problem there is an answer that is clear, simple, and wrong.

H. L. Mencken

Моральная уверенность всегда является признаком культурной неполноценности. Чем менее цивилизован человек, тем больше он уверен в том, что знает, что правильно, а что неправильно.

Генри Менкен

Есть логика намерений и логика обстоятельств, и логика обстоятельств сильнее логики намерений.

Иосиф Сталин

Работа делается столько времени, сколько на неё выделяется.

хз

 185   2021   pm

Неплохой backup для debian

Veeam Agent for Linux FREE (https://www.veeam.com/ru/linux-backup-free.html)

Регаемся, качаем veeam-release-deb_1.0.7_amd64.deb (в случае дебиана), делаем
dpkg -i veeam-release-deb_1.0.7_amd64.deb
apt-get update
apt-get install veeam
Если планируется бэкапить по сетке на виндовую машину надо будет поставить cifs-utils
apt-get install cifs-utils
(там всякая срань подтянется, но что делать)

Теперь запускаем veeam
Принимаем соглашение, далее далее, где лицензия просто далее.
Нажимаем C и переходим к созданию задания.
Выбираем что будем бэкапить всю машину или раздел, потом куда, если как в моем случае на винду то SMB (прописываем ip сервера, название шары, логин, пароль), указываем когда будет запускаться задача и всё.

 275   2021   backup   linux   veeam

Принудительный переброс браузером с http на https

Очень часто для всяких тупеньких устройств типа камер, ардуин, разных умных домов нужно обратиться к вебморде через http, а не https. Но «умный» браузер принудительно кидает на https и радостно выдает одну из ошибок:

Privacy error: Your connection is not private” (NET::ERR_CERT_AUTHORITY_INVALID)
ERR_CONNECTION_REFUSED
ERR_CONNECTION_TIMED_OUT

Все дело в том, что он закэшировал для данного сайта обращение https и еще долго будет это помнить. Чтобы помочь ему забыть надо пройти по адресу

chrome://net-internals/#hsts

Работает в хроме и всех построенных на хромиуме (яндекс, амиго и т. д.).

 152   2021   hack   https   know how   браузер

Умный дом с Алисой от Яндекса

Решил прикрутить к своему умному дому голосовой интерфейс от Яндекса. Мой умный дом — страшный зверинец из разных систем, на разном железе и разном софте.
В нем всё самописное, поэтому открытых дверей ждать не приходится.

Яндекс предполагает работу с нормальными сторонними сервисами, которые не поленились встроить регистрацию пользователей через OAuth. У меня такой нет, поэтому будем использовать яндексовскую же.

  1. Идем на https://oauth.yandex.ru/ и нажимаем зарегистрировать новое приложение.
    Название, описание, иконка — пофигу
    Ссылка на приложение тоже, но я задал путь к скрипту, обрабатывающему запросы яндекса.
    Платформы — веб-сервисы
    Callback URI ставим «https://social.yandex.net/broker/redirect» (это самое главное). Всякие ошибки «redirect_uri не совпадает с Callback URL» — это отсюда.
    Дальше доступы отмечаем
    API Яндекс.Паспорта доступ к электронной почте (может и не надо, но не жалко)
    Умный дом Яндекса ставим обе галочки.
    Сохраняем.
    Теперь у нас есть ID и Пароль.
  1. Идем на Яндекс диалоги https://dialogs.yandex.ru/developer выбираем новый диалог — создать умный дом
    Настройки:
    задаем любое название;
    endpoint url — самое главное — это опять путь к скрипту, который будет общаться с яндексом;
    тип доступа — приватный;
    подзаголовок пофигу что
    имя разработчика также
    описание тоже;
    иконку — любую картинку;
    авторизация — тут сложнее:
    идентификатор — вышеполученный ID
    секрет — вышеполученный Пароль
    URL авторизации — https://oauth.yandex.ru/authorize
    URL получения токена — https://oauth.yandex.ru/token
    обновление не нужно
    идентификатор группы действий (scope) пишем — login:email iot:control iot:view
    это те самые доступы, как они описаны внутри системы. Без этого будем получать ошибку «Не удалось определить список запрашиваемых доступов (invalid_scope)».
    Кстати чтобы их узнать можно пойти по ссылке https://oauth.yandex.ru/client/ID/info где ID — тот самый ID приложения.
    Сохраняем.
  1. Нажимаем «Опубликовать», ошибок быть не должно. Переключаем движок на «Опубликовано» и идем в Тестирование.
    Нажимаем большой плюс, выбираем «Другое устройство». Где то тут оно пробросит нас на авторизацию OAuth попросит разрешения предоставить данные и добавит умный дом в список производителей.
  1. Теперь идем в свой скрипт и начинаем прописывать устройства и их реакции.
    Тут придется сначала изучить https://yandex.ru/dev/dialogs/alice/doc/smart-home/about.html
 409   2021   alice   smarthome   yandex   умный дом

Распределительный шкаф

Schneider Electric PRAGMA 3x18 модулей встраиваемый щит PRA24318 = 13609р

Высота, мм 630
Ширина, мм 486
Глубина, мм 130

Schneider Electric PRAGMA 3x24 модулей встраиваемый щит PRA24324 = 34232р

Ширина 610 mm
Высота 630 mm wall
660 mm outside
Глубина 95 mm wall
55 mm outside

 270   2020   стройка
Ранее Ctrl + ↓