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

Позднее Ctrl + ↑

Лечим диск

Посыпались ошибки диска, а точнее:

Device: /dev/sdb [SAT], 20 Currently unreadable (pending) sectors

Запустим короткий тест

smartctl —test=short /dev/sdb

Подождем 2 минуты и посмотрим:

smartctl -a /dev/sdb

Нужны две строчки, размер сектора:

Sector Sizes: 512 bytes logical, 4096 bytes physical

512 байт и местоположение ошибки

1 Short offline Completed: read failure 70% 43114 3906988766

3906988766

Попробуем прямо туда что-нибудь записать в надежде что оно само при попытке записи сделает реалокацию бэдблока (сектор 512 байт, 20 секторов начиная с 3906988766):

dd if=/dev/zero of=/dev/sdb bs=512 count=20 seek=3906988766 conv=noerror,sync

В моем случае сказало — хуй:

dd: error writing ’/dev/sdb’: Input/output error

Попробуем поискать их утилиткой берем расширенный диапазон вокруг проблемного места:

badblocks -b 512 -sv /dev/sdb 3907000000 3906970000
Checking blocks 3906970000 to 3907000000
Checking for bad blocks (read-only test): 3906988760ne, 0:00 elapsed. (0/0/0 errors)
...
done
Pass completed, 16 bad blocks found. (16/0/0 errors)

Нашли 16 секторов, попробуем их пометить:

badblocks -b 512 -svw /dev/sdb 3907000000 3906960000
Checking for bad blocks in read-write mode
From block 3906960000 to 3907000000
Testing with pattern 0xaa: done
Reading and comparing: done
Testing with pattern 0x55: done
Reading and comparing: done
Testing with pattern 0xff: done
Reading and comparing: done
Testing with pattern 0x00: done
Reading and comparing: done
Pass completed, 0 bad blocks found. (0/0/0 errors)

Проверим снова

smartctl —test=short /dev/sdb
smartctl -a /dev/sdb

Ну и заебись:

1 Short offline Completed without error 00% 43114  —

 53   7 мес   disc   linux

P2V на Proxmox

Ранее уже изучал этот вопрос с переездом на ESXi, но с тех пор от продуктов vmware давно отказался https://timsa.ru/all/p2v-ili-kak-preobrazovat-fizicheskiy-server-v-virtualny/

Сегодня будем мигрировать на proxmox.

Первый пункт — проверить, что знаешь пароль root и он подходит!

убрать лишние диски, иначе ВМка может не стартануть, а еще пароль рута не подходит...

vi /etc/fstab

настроить другой ip чтобы при старте она не обосрала жизнь старому серверу

vi /etc/network/interfaces

тут желательно остановить все активно пишущие на диск сервисы (mysql и influxdb как минимум)

скопировать образ системного диска (sdc) в файл (старенький SATA 3Gb/s дает 125 мб/с или 15 минут на 128 гигов)

dd if=/dev/sdc of=/mnt/somedisk/debra.img bs=8M conv=sync,noerror status=progress

вернуть лишние диски

vi /etc/fstab

вернуть ip

vi /etc/network/interfaces

конвертируем в qcow2 (заняло ровно час)

qemu-img convert -f raw debra.img -O qcow2 debra.qcow2

закидываем образ на proxmox 101 — это свободный номер для ВМ

scp debra.qcow2 root@pve:/root/vm-101-disk-0.qcow2

создаем машину (после создания ~можно~ нужно зайти в интерфейс и подрихтовать параметры)

qm create 101 --name oldphysical --memory 4096 --cores 4 --net0 virtio,bridge=vmbr0

импортируем диск (он полюбому копируется и даже немного конвертируется)

qm importdisk 101 /root/vm-101-disk-0.qcow2 local --format qcow2

подключаем диск (на предыдущем шаге будет точно написан путь local.., взять оттуда так как в интернете херня)

qm set 101 --scsi0 local:101/vm-101-disk-0.qcow2

ставим загрузочное устройство

qm set 101 --boot order=scsi0

запускаем машину

qm start 101

Также полезное

посмотреть содержимое образа raw

сначала команда выдаст устройство, например /dev/loop0

losetup -f --show debra.img

можно посмотреть разделы

fdisk -l /dev/loop0

подключим разделы

partprobe /dev/loop0

смонтируем первый

mount /dev/loop0p1 /mnt/restore

размонтируем

umount /dev/loop0p1

отключаем

losetup --detach /dev/loop0

посмотреть содержимое образа qcow2

проверяем что модуль nbd загружен

modprobe nbd max_part=8

коннектим устройство

qemu-nbd --connect=/dev/nbd0 debra.qcow2

смонтируем

mount /dev/nbd0p1 /mnt/restore

размонтируем

umount /dev/nbd0p1

отключаем

qemu-nbd --disconnect /dev/nbd0
 97   7 мес   linux   proxmox   virtualization

Proxmox default

bios: ovmf (зайти в биос F2 при старте и снять крестик с Secure boot, у меня было disabled)

efidisk0: local-lvm:vm-210-disk-0,efitype=4m,pre-enrolled-keys=1,size=4M

machine: q35

scsihw: virtio-scsi-single (подоткнуть iso образ VirtIO с драйверами https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/ если винда), поставить галочки Discard и SSD emulation, снять галочку IO thread

на самом гипервизоре в /etc/lvm/lvm.conf сделать issue_discards = 1 и выполнить fstrim -av

 58   7 мес   proxmox
 47   7 мес   soft

Thundeal TD98W

Полный аналог Rigal RD-836. Я свой купил 26/04/2023 за 31450р.
Кстати ADB его называет Hisilicon NL5H00X (Android 9.0)

Прошивка V1.0.0.9:2023-06-15 https://disk.yandex.ru/d/oQL6NwNSKbuAwg или тут https://timsa.ru/f/wetransfer_update-files-of-rd-836a_2023-06-26_0848.zip

Но мой сам по воздуху обновился до 1.0.1.6.

Для удаления и установки программ использую программу https://timsa.ru/f/ADBAppControl-1.8.6.zip
Зайти в меню настройки проектора и посмотреть айпи адрес соединения. После запуска программы вводите айпиадрес проектора и порт 5555. После того, как иконка соединения позеленела (есть соединение) пакетом выбираете программы для удаления и удаляете. Потом по одной устанавливаете. Лаунчер удаляете только после того, как уверенно начинает запускать проектор на новой лаунчере. Лучше предварительно заморозить (в меню AdbApp Control написано«отключить»).

ВКВидео
https://timsa.ru/f/VK_Video_(AndroidTV)_v.2.42_launchers_fix.apk
Очень приятный минималистичный лаунчер
https://timsa.ru/f/ATV+launcher+Pro+0.1.21.apk
Клавиатура (лучше чем GBoard и родная)
https://timsa.ru/f/LeanKey+Keyboard+Pro+6.1.19.apk
Возможность смотреть эфирные программы
https://timsa.ru/f/Эфир+ТВ+3.8.4.apk
Кинопаб
https://timsa.ru/f/Kinopub+v1.33+(build+1).apk

Также поставил виджет Weather.

Новый лаунчер не хотел запускаться, так что я отключил вот это:
com.hisilicon.tv.service
com.hisilicon.tvui
com.newlink.cast
com.android.media.module.services
com.hisilicon.miracast
com.mobisystems.editor.office_registered
com.zeasn.whale.saas
com.netflix.mediaclient
com.amazon.avod.thirdpartyclient
com.google.android.youtube.tv

При запуске он долго думал в поисках hdmi сигнала, но я нажал домик и запустился ATV.

Тема на https://4pda.to/forum/index.php?showtopic=1058367

 341   7 мес   Проектор

Аксиома?

То, что принято без доказательств, может быть отвергнуто без доказательств.
— Евклид

 38   8 мес  

Windows 11 Enterprise G

Во время загрузки с USB/DVD при открытии первого окна нажмите Shift+F10, откроется командная строка. Запустите редактор реестра (Regedit) и внесите ключи:

[HKEY_LOCAL_MACHINE\SYSTEM\Setup\LabConfig]
«BypassTPMCheck»=dword:00000001
«BypassSecureBootCheck»=dword:00000001
«BypassRAMCheck»=dword:00000001
«BypassStorageCheck»=dword:00000001

https://download.cmgos.com/oem/login
введите номер клиента 0601000000000 и капчу, что будет там.
Сможете скачать официально продаваемые версии G —
1) Windows 10, т. к. 11 начнут с октября
2) только китайский, — английский добавить можно позже самостоятельно из настроек
3) с предустановленными китайскими приложениями (а ля WeChat) и политиками

https://github.com/AveYo/MediaCreationTool.bat/blob/main/bypass11/Skip_TPM_Check_on_Dynamic_Update.cmd

https://mega.nz/folder/Id50xJBQ#JvuG3GOi0yoWyAV5JFD1gw/folder/0cxXRaSb

 109   8 мес  

Ум

  • Ум есть практическое опознавание взаимосвязей явлений, использование их и создание их.
 32   8 мес  

Пипетка

185/60 R14
5x14 ET35

FLY F013
6J*R14 5*100 ET35 DIA57,1

 27   9 мес   машина

Автоматизация, homeassistant + mqtt + zigbee

Немного потупил на тему как увязать три сущности homeassistant + mqtt + zigbee, но разобрался.

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

HA с установленной интеграцией MQTT прекрасно выполняет все задачи.
Например — транслирует данные с Zigbee датчиков в MQTT брокер. Делается это очень просто.
Создаем файл автоматизации (тоже самое можно через gui) с таким содержимым:

- id: 'send_voltage_on_changes'
  alias: 'Передача показаний zigbee'
  description: ''
  trigger:
  - platform: time_pattern
    seconds: '0'
  condition: []
  action:
  - service: mqtt.publish
    metadata: {}
    data:
      topic: zigbee/kitchen/voltage
      payload: "{{states('sensor.zb_kitchenbacklight_voltage')}}"
      qos: 2
      retain: true
  - service: mqtt.publish
    metadata: {}
    data:
      topic: zigbee/kitchen/power
      payload: "{{states('sensor.zb_kitchenbacklight_power')}}"
      qos: 2
      retain: true
  - service: mqtt.publish
    metadata: {}
    data:
      topic: zigbee/kitchen/waterleak
      payload: "{{states('sensor.zb_waterleak_kitchen_moisture')}}"
      qos: 2
      retain: true
  mode: single

По тексту всё понятно — он запускается каждую минуту и в соответствующие темы кидает значение zigbee датчиков. Не забываем указать qos и retain иначе при нескольких подписантах сообщение можно пропустить.
mode — отвечает за то, что будет если выполнение события затянется и наступит следующее. В случае single следующее не наступит.

Или нужно отправлять MQTT по нажатию кнопки:

- switch:
      unique_id: mqtt_switch1
      name: "MQTT кнопка"
      state_topic: "test/switch1"
      command_topic: "test/switch1"
      payload_on: "on"
      payload_off: "off"
      state_on: "on"
      state_off: "off"
      optimistic: false
      qos: 2
      retain: true

Здесь важный момент — темы state и command совпадают для того, чтобы HA оперативно отражал изменение статуса другим маршрутом (с другого устройства например).

Ну и последнее действие: когда надо устройство zigbee дрыгнуть по команде mqtt. Опять идем в автоматизацию:

- id: 'change_switch_on_mqtt'
  alias: Включение елки через mqtt
  description: ''
  trigger:
  - platform: mqtt
    topic: dom/room/pine_switch
    payload: 'on'
  condition: []
  action:
  - type: turn_on
    device_id: b6954d440bdacd9b4954aecd9ae44ec2
    entity_id: d2d540e7a4fa4d8275ec0e1510c7d944
    domain: light
  mode: single

Для выключения придется продублировать с другим payload. Делал через gui поэтому device_id и entity_id такие. Но там очевидно.

 56   9 мес   ha   homeassistant   mqtt   zigbee
Ранее Ctrl + ↓