Docker – Error: no such image

По совершенно не понятной причине не удается удалить образ через docker rmi ни через ID, REPOSITORY:TAG или DIGESTS.

Нет никаких инструментов для проверки образа на корректность.

Если запустить dockerd в режиме отладки, то увидим только

level=debug msg=”Calling DELETE /v1.41/images/15dasdfdsfa”

В данной ситуации помогло только редактирование /var/lib/docker/image/overlay2/repositories.json и удаление блока c проблемным образом.

"docker.io/сompany/image":
{
	"docker.io/company/image:latest":"sha256:***",
	"docker.io/company/image@sha256:*****":"sha256:***"
},

После удаления стартуем docker и удаляем через ID. На эту мысль подтолкнул тот факт, что если сделать пустой docker и выполнить в него загрузку образа из архива, то в repositories.json ничего не добавляется:{“Repositories”:{}}

О похожем баге можно почитать на https://github.com/docker/for-linux/issues/477

WD MyCloud EX2 MiniDLNA

В WD MyCloud EX2 используется уже устаревший Twonky Server. Альтернава, это Plex Media Server, но он слишком навороченный для такого NAS. Самая простая альтернатива, это MiniDLNA, но для WD MyCloud нет готового пакета последнего MiniDLNA 1.3.0. Поэтому можно взять совместимый пакет от Sinology DS111\DS112\

WD My Cloud EX2 использует Marvell ARMADA 370 (MV6710) (Single Core ARMv7 @ 1.2 GHz), а в Sinology DS111\DS112 Marvell Kirkwood 88F6282 на ARMv5. Хотя у Sinology есть DS213j на Armada 370, но из данного пакета minidlna не работает.

Из скаченного spk нужно извлечь package.tgz, который распаковать к примеру в папку package

mkdir package
cd package
tar xvf ../minidlna-1.3.0-2.88f6281.spk 
tar zxvf ./package.tgz

https://synology.nimloth.pl/?arch=88f6282

Для запуска сделаем скрипт minidlna.sh и конфигурационный файл minidlna.conf рядом с папкой package

#!/bin/sh

export LD_LIBRARY_PATH=/mnt/HD/HD_b2/Public2/minidlna/package/lib

./package/sbin/minidlnad -f ./minidlna.conf -P /mnt/HD/HD_b2/Public2/minidlna/minidlna.pid
# port for HTTP (descriptions, SOAP, media transfer) traffic
port=8200

# network interface to bind to (this is the only interface that will serve files)
#network_interface=eth0

# set this to the directory you want scanned.
# * if have multiple directories, you can have multiple media_dir= lines
# * if you want to restrict a media_dir to a specific content type, you
#   can prepend the type, followed by a comma, to the directory:
#   + "A" for audio  (eg. media_dir=A,/home/jmaggard/Music)
#   + "V" for video  (eg. media_dir=V,/home/jmaggard/Videos)
#   + "P" for images (eg. media_dir=P,/home/jmaggard/Pictures)
media_dir=/mnt/HD/HD_b2/Media

# set this if you want to customize the name that shows up on your clients
friendly_name=MiniDLNA

# set this if you would like to specify the directory where you want MiniDLNA to store its database and album art cache
db_dir= /mnt/HD/HD_b2/Public2/minidlna/.minidlna

# Уровень детальности лога
# В формате log_level=источник1,источник2=значение1,источник3,источник4=значение2 ...
# Доступные источники: "general", "artwork", "database", "inotify", "scanner", "metadata", "http", "ssdp", "tivo"
# Возможные значения: "off", "fatal", "error", "warn", "info" or "debug"
#log_level=general=warn,artwork=debug,database=warn,inotify=off,scanner=debug,metadata=debug,info,ssdp,tivo=warn
log_level=debug
#log_level=general=warn,metadata=debug,artwork=debug

# this should be a list of file names to check for when searching for album art
# note: names should be delimited with a forward slash ("/")
album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg/AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg

# set this to no to disable inotify monitoring to automatically discover new files
# note: the default is yes
inotify=yes

# set this to yes to enable support for streaming .jpg and .mp3 files to a TiVo supporting HMO
enable_tivo=no

# set this to strictly adhere to DLNA standards.
# * This will allow server-side downscaling of very large JPEG images,
#   which may hurt JPEG serving performance on (at least) Sony DLNA products.
strict_dlna=no

# default presentation url is http address on port 80
#presentation_url=http://www.mylan/index.php

# notify interval in seconds. default is 895 seconds.
notify_interval=900

# serial and model number the daemon will report to clients
# in its XML description
serial=12345678
model_number=1

Windows 11 Insider Preview проблема с TPM\Secure Boot

Для установки новой версии необходимое условия для вашего ПК:

  1. Включенная опция Secure Boot в UEFI BIOS
  2. Наличие модуля TPM 2.0.

Для проверки Secure Boot необходимо выполнить msinfo32 через “Выполнить” ( Win+R ).

Если не включен в BIOS, или не поддерживается, то будет отображено:

Проблема возможно из-за размеченного в режиме MBR диска и необходимости его преобразования в GPT. Из-за этого не возможно включить режим UEFI в BIOS.

Для преобразования MBR в GPT необходимо выполнить

mbr2gpt /validate /disk:0 /allowfullos

mbr2gpt /convert /disk:0 /allowfullos

Для возможности просмотра логов с ошибками. Необходимо предавирительно создать каталог mbr2gtp

mbr2gpt /validate /disk:0 /allowfullos /log:c\mbr2gpt

Для просмотра состояния дисков необходимо запустить PowerShell от имени админстратора и выполнить Get-Partiotion. Должно быть не более 3х IFS дисков.

В моем случае было 2 Recovery Partiton

В моем случае было 2 Recovery раздела. Удаляем все. Выполняем для восстановления загрузки.

bcdboot c:\Windows /f bios /s c:
Делаем диск C: активным через управление дисками

Выполняем конвертацию диска. На этот раз удачно. Появляется 100 Мб EFI диск

PartitionNumber DriveLetter Offset Size Type
————— ———– —— —- —-
1 C 8225280 222.05 GB Basic
3 238428356608 100 MB System
2 238533214208 556 MB Recovery

В BIOS включаем только UEFI загрузку. В msinfo32 отображается правильный статус.

Проблема с TPM 2.0 в том, что в Россию ПК с ним не поставляются, так как необходимо разрешение ФСБ как на криптографическое устройство. Для проверки его наличия можно нажать “выполнить” (Win +R) и запустить tpm.msc

Для решения проблемы с модулем можно попробовать сделать изменение в реестре, если же не поможет, то необходимо заменить файл AppraiserRes.dll из Windows 10.

Windows Registry Editor Version 5.00 
[HKEY_LOCAL_MACHINE\SYSTEM\Setup\LabConfig]
"BypassSecureBootCheck"=dword:00000001
"BypassTPMCheck"=dword:00000001 

Так как обновление пришло по программе Inseder Preview, то для замены необходимо скопировать файл AppraiserRes.dll из Windows 10 в c:\$WINDOWS.~BT\Sources\

После замены файла и изменения реестра установка успешно продолжается:

Файл реестра и https://disk.yandex.ru/d/BUZVkfNzQDj2IQ

YARG – бесплатное решение для генерации DOCX, XLSX, PDF

В этой статье будет рассмотрен процесс сборки standalone решения YARG для возможности генерации\обработки документов из шаблонов из командной строки.

Нам потребуется JDK. Удалось собрать на JDK 13.0.2. На более новых версиях 16,17 и 11-ой были ошибки сборки. Во время сборки Yarg 2.2.9 автоматически загружается Gradle 6.1.1

Загружаем Yarg 2.2.9, в нашем случае это Release 2.2.9 · cuba-platform/yarg · GitHub

Распаковываем в c:\apps. Запускаем CMD и переходим в c:\apps\yarg-2.2.9\core\

Устанавливаем переменную с JDK 13.0.2 через команду

set JAVA_HOME=”c:\Program Files\Java\jdk-13.0.2″

или можно воспользоваться Liberica JDK x64 от Bellsoft в виде ZIP архива. https://libericajdk.ru/pages/downloads/?version=java-13&release=13.0.2+9&os=Windows

Распакуем Liberica JDK в c:\apps и установим переменную:

set JAVA_HOME=”c:\apps\jdk-13.0.2″

Запускаем сборку gradlew.bat distZip

Будут собраны “бинарные” файлы yarg-console-2.2-SNAPSHOT.zip и yarg-server-SNAPSHOT.zip по следующим путям:

В yarg-console.cmd будет очень длинная строка для переменной CLASSPATH из-за чего будет возникать ошибка:

The input line is too long.
The syntax of the command is incorrect.

Для решения проблемы необходимо удалить строчку для set CLASSPATH и прописать

set CLASSPATH=%APP_HOME%\lib\*

Для поиска ошибок запуска в yarg-console можно установить переменную: set DEBUG=1

Теперь мы готовы к созданию документов на основе шаблонов.

Полезные ссылки:

YARG — open-source библиотека для генерации отчётов / Блог компании Haulmont / Хабр (habr.com)

https://github.com/cuba-platform/yarg/wiki/Standalone-usage

https://github.com/cuba-platform/yarg/releases/latest

https://libericajdk.ru/pages/downloads/

Ошибка отправки отчета в ЦБР VALIDATA_3765436454

При попытке отправки шифрованного отчета через портал ЦБР portal5.cbr.ru появилась ошибка:

Ошибка при расшифровании файла: [ncacn_ip_tcp: Decrypt file error e0700026: Recipient certificate of the encrypted message was not found. Error VALIDATA_3765436454
(Произведена попытка расшифровать сообщение в РКС#7 формате на сертификате, идентификатор которого отсутствует в списке идентификаторов сертификатов получателей)

По ошибке можно понять, что проблема в сертификате получателя, поэтому проверяем в КриптоАРМ сроки сертификатов. Не смотря, что текущий сертификат действует до 17.01.2020, но его уже не принимают.

Новый актуальный сертификат ключа проверки электронной подписи Банка России (Внешний портал Банка России) можно скачать с портала http://cbr.ru/lk_uio/requisites_certificates/ . Там же инструкция, как его загрузить в КриптоАРМ в раздел “Сертификаты других пользователей”. Старый сертификат обязательно удаляем.

Уязвимость Citrix NetScaler ADC CVE-2019-19781

В декабре появилась информация о найденной уязвимость в Citrix Netscaler, которая позволяет без авторизации выполнять произвольный код на балансировщике.

При этом нигде не упоминается, что уязвимости подвержены IP адреса NS, где включено управление для этого адреса. При правильной топологии приложения такие адреса всегда находятся в защищенных подсетях с контролем доступа и данной уязвимости основные сервисы не подвержены.

Можно только удивляться не торопливости Citrix в выпуске исправленний для закрытия критической проблемы CVE-2019-19781. Информация о дате выпуске обновлений была размещена только после появления первых эксплойтов 10 января 2020.

Для проверки наличия проблемы необходимо открыть по https или http адрес https://server/vpn/../vpns/cfg/smb.conf

В мире подвержено более 25000 устройства. На графической карте от badpackets.net можно посмотреть статистику по странам https://docs.google.com/spreadsheets/d/1sJ8-cVyG4vFYq6-MGdapM1eAhUkoXIKlsmuzKdfD9Ys/edit?usp=sharing

Анонс дат выпуска обновлений https://www.citrix.com/blogs/2020/01/11/citrix-provides-update-on-citrix-adc-citrix-gateway-vulnerability/

Временное решение по устранению уязвимости

Печать HTML и страниц в PDF через Chrome и PowerShell

Потребовалось оперативно перевести множество статей из SharePoint блога в PDF. Первоначальная идея состояла в выгрузке всех статей в файлы в виде html. Для правильной нумерации вначале файла использовался префикс ID с добавлением нулей. В статьях использовались картинки, поэтому ссылки из относительных были преобразованы в полные, чтобы они правильно вывелись на печать.

Следующий шаг был перевод html в pdf. Через PDF Creator и PDF24 не удалось добиться конвертирования, поэтому следующим найденным вариантом было использовать Chrome, в котором имеется возможность сохранения URL адресов и локальных файлов в pdf.

Читать далее «Печать HTML и страниц в PDF через Chrome и PowerShell»

G4 COB LED 3W 3 года спустя

В январе 2017 года на Gearbest были заказаны 2 комплекта по 6 шт лампочек G4 3W естественного света для замены галогенных в люстре, так как в ней установлено добрых 16 шт, что в сумме потребляет 320 Вт. Стоимость одного комплекта была в районе 10-11$. На начало 2020 из строя вышло 2 лампочки из 12-ти установленных.

Если оценить отработанное время, то даже при очень грубой оценке по 2-3 часа в день на 365 дней, то получим в среднем порядка 2500 часов за 3 года вместо заявленных 50000 часов. Каждая лампочка за свою жизнь израсходовала меньше 10 рублей электроэнергии, а если перевести на потребленные LED 2Вт (3Вт она никак не дает) на галогенные 20Вт, то получим с очень большим “но” , что она почти отработала свои 100 рублей стоимости… и еще бы пару лет…

Читать далее «G4 COB LED 3W 3 года спустя»

Android Studio Emulator аппаратное ускорение для AMD от Google

Для возможности использования аппаратного ускорения Android Emulator для процессоров AMD рекомендовалось использовать виртуализатор Windows Hypervisor Platform (WHPX) или Hyper-V. Для процессоров Intel существует отдельное приложение Intel HAXM.

Начиная с версии Emulator 29.2.3 появилась поддержка нового драйвера Google GVM hypervisor driver. Для возможности использования необходимо обязательно отключить WHPX и Hyper-V, . Драйвер устанавливается в виде службы, которую можно в любой момент отключить.

Читать далее «Android Studio Emulator аппаратное ускорение для AMD от Google»

Sony Z2 vs Xiaomi Pocophone F1

Sony Z2 выпущен в феврале 2014 на основе Android 4. Имеет производительный четырехядерный Qualcomm Snapdragon 801, 2300Mhz. На сегодняший день не многие устройства среднего диапазона могут предложить аналогичную производительность, а наличие 3 Гб оперативной памяти даже на сегодняший день это хороший задел для Android 8 и 9. Sony всегда была лидером по мегапикселям. В телефоне установлена 20Mpx камера. К сожалению 16 Гб встроенной памяти это очень мало, а андороид до 6-ой версии не имеет возможности бесшовного расширения за счет SD карт.

Кастомные сборки Android CarbonOS, CypherOs, LineageOS и другие прошивки имеют повышенный расход энергии и телефон с трудом доживает до вечера. Фирменного режима Stamina очень не хватает.

Сравним в бытовых условиях при недостаточной освещенности с бюджетной моделью Xiaomi Pocophone, который набрал в DxO 91 бал. Аналогичная камера установлена в Mi8, но с аппаратным стабилизатором и имеющая 99 балл.

DxO Sony Z2 79 очков
DxO Xiaomi Pocophone F1 91 очко

4 года между выпусками моделей. Стоимость покупки примерно одинакова.