LINUX.ORG.RU

Сообщения Kolins

 

Современные аналоги scrapbook

А что сейчас есть на замену оригинального scrapbook эпохи XUL? Мне нужно сохранять странички, каталогизировать по в древовидную структуру, небольшие правки вносить (вырезать мусор, подсветить нужные места) ну и локальный offline поиск по всему этому добру. Желательно без поднятия локального web сервера.

P.S. Obsidian, Joplin и прочее evernote-подобное не предлагать, смотрел - это не то.

 ,

Kolins
()

Zabbix сводный график из элементов LLD

Задача простая: есть почтовый сервер и необходимо на графике выводить % заполненности ящиков. Число ящиков можем меняться, так что только LLD. С этим ничего сложного нет, discovery отработало все item есть, но при создания графиков нужно указать все item руками (а их там 3 сотни и они могут добавляться/удаляться без моего присутствия).

Можно через graph prototype автоматически создать графики для отдельных ящиков (и даже отображать их на dashboard, но они будут просто в виде таблицы графиков даже без возможности сортировки по значению item), но это не то - мне надо все item на одной диаграмме.

Возможности указать макрос в графике (чтобы подтянулись все элементы из lld) я не нашел, выглядит как нерешаемая задача.

 

Kolins
()

Google Search - всё (в скором времени)

https://blog.google/products/search/generative-ai-google-search-may-2024/
https://www.theverge.com/2024/5/14/24155321/google-search-ai-results-page-gem...

для Ъ: google собирается добавить AI в поиск и вместо привычного списка результатов будут быстные «генеративвные» ответы и ссылки одобренные лично ai (ну и реклама конечно).

 , , , ,

Kolins
()

Zabbix JSON LLD динамический список

Zabbix получает на вход discovery json, причем ключи словаря и их количество могут быть каждый раз разные

{
  "A": "10",
  "NS": "1",
  "SOA": "1",
  "AAAA": "2"
}

необходимо чтобы в макрос {#QUERY_TYPE} попадали имена ключей, ну и потом я из них нагенерю items, вопрос как правильно прописать препроцессинг для такой задачи.

Единственное что накопал: https://www.zabbix.com/forum/zabbix-help/390684-lld-with-an-item-that-is-a-li... но там js, через боль, stack-overflow и https://www.programiz.com/javascript/online-compiler/ написал такой препроцессор:
var array = JSON.parse(value)
var output=[]
for (var key in array){
  output.push({"{#QUERY_TYPE}":key})
}
output=JSON.stringify(output)
return output

И оно даже работает (хотя тут нужно на дистанции посмотреть). Но неужели такую задау нельзя решить иначе не прибегая к js?

 

Kolins
()

oxidized, ssh exit code 1

Есть железка которая ВСЕГДА возвращает exit-code 1 при выходе из ssh, oxydized (точнее ruby) с таким не согласен и несмотря на то что у меня есть полный собранный конфиг в logs обрабатывать и сохоранять его отказывается:

Apr 26 10:32:18 oxidized oxidized[28029]: D, [2024-04-26T10:32:18.110355 #28029] DEBUG -- : lib/oxidized/input/ssh.rb exit @ ... with expect: /^([\w.@-]+[#>]\s?)$/
Apr 26 10:32:18 oxidized oxidized[28029]: D, [2024-04-26T10:32:18.110870 #28029] DEBUG -- socket[13204]: queueing packet nr 15 type 94 len 28
Apr 26 10:32:18 oxidized oxidized[28029]: D, [2024-04-26T10:32:18.111026 #28029] DEBUG -- : lib/oxidized/input/ssh.rb: expecting [/^([\w.@-]+[#>]\s?)$/] at ...
Apr 26 10:32:18 oxidized oxidized[28029]: D, [2024-04-26T10:32:18.205303 #28029] DEBUG -- : lib/oxidized/worker.rb: 1 jobs running in parallel
Apr 26 10:32:18 oxidized oxidized[28029]: D, [2024-04-26T10:32:18.312053 #28029] DEBUG -- socket[13204]: sent 96 bytes
Apr 26 10:32:18 oxidized oxidized[28029]: D, [2024-04-26T10:32:18.412710 #28029] DEBUG -- socket[13204]: read 464 bytes
Apr 26 10:32:18 oxidized oxidized[28029]: D, [2024-04-26T10:32:18.413414 #28029] DEBUG -- socket[13204]: received packet nr 27 type 94 len 28
Apr 26 10:32:18 oxidized oxidized[28029]: I, [2024-04-26T10:32:18.413729 #28029]  INFO -- net.ssh.connection.session[13254]: channel_data: 0 5b
Apr 26 10:32:18 oxidized oxidized[28029]: D, [2024-04-26T10:32:18.414298 #28029] DEBUG -- socket[13204]: received packet nr 28 type 94 len 28
Apr 26 10:32:18 oxidized oxidized[28029]: I, [2024-04-26T10:32:18.414503 #28029]  INFO -- net.ssh.connection.session[13254]: channel_data: 0 2b
Apr 26 10:32:18 oxidized oxidized[28029]: D, [2024-04-26T10:32:18.414991 #28029] DEBUG -- socket[13204]: received packet nr 29 type 96 len 12
Apr 26 10:32:18 oxidized oxidized[28029]: I, [2024-04-26T10:32:18.415228 #28029]  INFO -- net.ssh.connection.session[13254]: channel_eof: 0
Apr 26 10:32:18 oxidized oxidized[28029]: D, [2024-04-26T10:32:18.415693 #28029] DEBUG -- socket[13204]: received packet nr 30 type 98 len 44
Apr 26 10:32:18 oxidized oxidized[28029]: I, [2024-04-26T10:32:18.415915 #28029]  INFO -- net.ssh.connection.session[13254]: channel_request: 0 exit-status false
Apr 26 10:32:18 oxidized oxidized[28029]: D, [2024-04-26T10:32:18.416422 #28029] DEBUG -- socket[13204]: received packet nr 31 type 97 len 12
Apr 26 10:32:18 oxidized oxidized[28029]: I, [2024-04-26T10:32:18.416614 #28029]  INFO -- net.ssh.connection.session[13254]: channel_close: 0
Apr 26 10:32:18 oxidized oxidized[28029]: D, [2024-04-26T10:32:18.417175 #28029] DEBUG -- socket[13204]: queueing packet nr 16 type 97 len 28
Apr 26 10:32:18 oxidized oxidized[28029]: I, [2024-04-26T10:32:18.417336 #28029]  INFO -- net.ssh.connection.session[13254]: ... delete channel 0 which closed locally and remotely
может конечно не в этом дело (нужно мнение рубистов)

 oxidized,

Kolins
()

Rust+Go = Borgo

Растаманы и Говнари - Объеденяйтесь!

Дополнительно можно отметить язык программирования Borgo, который пытается быть более выразительным, чем язык Go, но менее сложным, чем язык Rust. Borgo комбинирует лучшие черты Go и Rust, восполняя недостатки каждого из языков. Например, язык Go прост и понятен, но не предоставляет расширенных средств для обеспечения безопасности при работе с типами. Язык Rust предоставляет средства для безопасного программирования, но переусложнён. Проект развивает Marco Sampellegrini, автор книги «The Simple Haskell Handbook» и разработчик системы непрерывной интеграции Quad CI.
В Borgo используется статическая типизация, аналогичные языку Go типы и синтаксис, похожий на Rust. Указание точек с запятой в конце строк в коде на Borgo не является обязательным. Код на языке Borgo компилируется в представление на языке Go, которое полностью совместимо с существующими пакетами для языка Go. Код компилятора написан на языке Rust и распространяется под лицензией ISC.

use fmt

enum NetworkState<T> {
    Loading,
    Failed(int),
    Success(T),
}

struct Response {
    title: string,
    duration: int,
}

fn main() {
    let res = Response {
        title: "Hello world",
        duration: 0,
    }

    let state = NetworkState.Success(res)

    let msg = match state {
        NetworkState.Loading => "still loading",
        NetworkState.Failed(code) => fmt.Sprintf("Got error code: %d", code),
        NetworkState.Success(res) => res.title,
    }

    fmt.Println(msg)
}

 , ,

Kolins
()

Github: премод или скрытый бан?

Вопрос к тем у кого есть более-менее активные репозитории на github, если к вам в issues приходит новорег, вот буквально сегодня зарегистрировавшийся (через БОЛЬ) и оставил вопрос в issues он попадает в какой-то премод или нет?

UPD: скрытый бан

 ,

Kolins
()

Где искать схемы или board view для различного оборудования?

Конкретно под Mikrotik SXT LTE, уронили с крыши и сбили несколько smd элементов, по фоткам платы понятно только что емкости, но какие и на сколько форат непонятно, без них не стартует - значит что-то важное. Закупить/напаять не проблема, проблема найти что закупать.

 ,

Kolins
()

Смартфоны всё?

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

Решил поискать что-нибудь из «ударопрочных» девайсов на которые можно накатить LineageOS (или другой аналог без вендерского мусора) и - ничего, по сути «ударопрочные» производят только Blackview/Oukitel/IIIF150/Doogee и пытаешься на 4pda/xda найти по моделям хоть какую-то инфу, ну максимум можно root-ование получить (и вроде без явки с молебной к китайцам) для отдельных моделей, на этом все - никто альтернативные прошивки не собирает (а я в этом не шарю и времени нет разбираться/отлаживать свою сборку даже если получится что-то собрать).

Да с теми же проприетарными symbian все было в разы проще, да не было альтернативных прошивок но можно было распаковать образ и выкинуть все лишнее. И живучесть у них была куда выше.

Ну или провальная BB OS10, которая тоже проприетарная но ничего лишнего в составе не имела и можно было «скрыть» ненужный софт через отдельный профиль. Да и при желании мождно было перешить модифицированной прошивкой, просто позамороченее чем с symbian.

А еще вездесущий OLED/AMOLED который от любой коцки дохнет целиком - с такими технологиями никакого «заплонированного устаревания» не нужно.

Брать что-то не ударопрочное не хочу, за год с предыдущий темы женой были убиты 3 смартфона (я задолбался уже экраны и/или стекла на камере переклеивать).

«А зачем тогда LineageOS? Купи и отдай стоковый, пусть радуется.» - спросит пытливый читатель. А затем что встроенный мусор затормаживает систему, сует рекламу и забивает место, а мне как «тыжпрограммисту» потом все это чистить. А я вообще смарфоны и ведроид терпеть не могу (ios вообще не воспринимаю, да и жена от него не в восторге и хочет ведроид), хочется купить-прошить-отдать и забыть про этот обмылок на несколько лет.

P.S. Хотел свой qin2pro на qin3 заменить, а китайцы и туда фронталку всунули просверлив под нее дырку в экране, ну вот зачем?!

 , ,

Kolins
()

Терминал с вертикальными вкладками

А есть такой в природе? Желательно на qt

 ,

Kolins
()

Web-оболочка для sql-запросов

Хочется странного...не знаю как правильно назвать: фреймворк, cms, сайт.
Суть такова:
Есть админка где можно создавать подключения к БД (Mysql, Postgre, ...), список sql запросов и пользователей с разделением прав для запуска запросов. И есть главна ястраница куда может зайти пользователь выбрать БД+запрос, ввести опциональные переменные которые могут передаваться в запрос, запустить и получить готовый csv файл.

Что есть готового? Я как не пытаюсь поисковый запрос составить нахожу только phpmyadmin и подобные решения.

Или оболочка для запуска скриптов на том-же python.

 , ,

Kolins
()

OpenWRT и sd flash карта

Есть одноплатник OrangePi zero 3, начитавшись эту тему решил посмотреть а как на нем себя чувствует openwrt (ну раз под рукой все есть, чего ж не глянуть?)

И вроде все работает, но после n-ной перезагрузки портится fs на флешке и загрузка проходит, но раздел монтируется в ro:

[   10.724696] EXT4-fs error (device mmcblk1p2): ext4_validate_block_bitmap:428: comm ext4lazyinit: bg 26: block 851968: invalid block bitmap
[   10.741051] EXT4-fs (mmcblk1p2): Remounting filesystem read-only
перемонтировать в rw тоже не дает:
root@OpenWrt:/# mount -o remount,rw /
[  200.968924] EXT4-fs error (device mmcblk1p2): __ext4_remount:6425: comm mount: Abort forced by user
mount: /: cannot remount /dev/mmcblk1p2 read-write, is write-protected.

Можно запустить fsck и посмотреть что:

root@OpenWrt:/# fsck.ext4 /dev/mmcblk1p2
e2fsck 1.47.0 (5-Feb-2023)
rootfs contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Block bitmap differences:  +(98304--98730) +(163840--164266) +(229376--229802) +(294912--295338) +(819200--819626) +(851968--852385) +852480 +(884736--885162) +(1605632--1606058) +(1933312--1933729)
Fix<y>? yes
Free blocks count wrong (1877565, counted=1909914).
Fix<y>? yes

rootfs: ***** FILE SYSTEM WAS MODIFIED *****
rootfs: ***** REBOOT SYSTEM *****
rootfs: 3019/399360 files (0.0% non-contiguous), 50534/1960448 blocks
перезагрузка не помогает, иногда помогает запихнуть flash в «большого брата» и сделать fsck на нем но тоже не 100% результат и при n-ной перезагрузке опять будет ro.

Куда копать, как победить?

Ну и такой момент что устройство детектится то на /dev/mmcblk0 то на /dev/mmcblk1, тоже интересно почему так происходит?

P.S. Флешка новая, из упаковки. пробовал другую та-же ситуация.

P.S.2. размер образа ~100mb и после dd размер 2 раздела 100mb, но в openwrt раздел растягивается почти на весь размер flash, может кто знает какие скрипты это делают?

Пока остановился на версии от No, в целом работает

 , ,

Kolins
()

Менеджер паролей для компании

Что можете посоветовть из личного опыта? Нужно self-hosted решение с разделением прав на просмотр паролей по пользователям/группам.

Посмотрел что есть в этом списке (не ставил, только смотрел инструкции и демки) и там просто сплошной оверхеад с докерами и js-фреймворками для такой простой задачки: выводить записи из БД https://github.com/awesome-selfhosted/awesome-selfhosted?tab=readme-ov-file#p...

 ,

Kolins
()

хороший гайд по buildroot?

Хочется странного.
Есть одноплатник orange pi 3(и не один), собрал под него buildroot, записал на флешку - работает.

Но хочу чтобы образы системы были в squashfs (ro) и при запуске работали как live, на флешку ничего не пишется.

Идея простая - на флешке хранятся образы системы и при ребуте выбирается самый последний (например по нумерации файла), если он не грузится то пробует загрузиться предыдущий и т.д.

Зачем? Чтобы просто было обновлять удаленные платы - закинул образ по scp, отправил в ребут, после ребута посомтрел с какого загрузился.

Куда копать? Чую что в сторону u-boot но я с ним не особо знаком, что почитать?

 , ,

Kolins
()

Чтение snmp mib файлов

А что есть кроме tkmib? Мне многого не надо, просто загрузить mib файлы от непонятной железки и посмотреть их в удобном формате, желательно с поиском по description.

 ,

Kolins
()

Gentoo всё

https://www.opennet.ru/opennews/art.shtml?num=60363

Дистрибутив Gentoo объявил о доступности бинарных пакетов
Отныне проект начал предоставлять бинарные сборки официально для загрузки с своих серверов. На усмотрение пользователя бинарные сборки можно использовать в сочетании с пакетами, собираемыми из исходного кода, комбинируя различные виды пакетов в своей системе. Прямая загрузка бинарных пакетов позволить ускорить развёртывание дистрибутива на маломощных компьютерах и оптимизировать процесс установки, давая возможность сосредоточиться на сборке из исходного кода только наиболее важных для кастомизации компонентов.
Для архитектур отличных от amd64 и arm64 сборки ограничены базовыми системными компонентами и еженедельными обновлениями. Для систем amd64 и arm64 бинарные пакеты охватывают и пользовательские приложения, включая пакеты с LibreOffice, Docker, Xfce, KDE и GNOME. Всего на зеркалах размещено более 20 ГБ бинарных пакетов, обновляемых ежедневно для стабильной ветки Gentoo.

 , ,

Kolins
()

Диалог открытия файлов GNOME - почему он так плох?

Вижу его крайне редко, когда надо какой-нибудь файл загрузить или отправить через firefox, но каждый раз испытываю страдания.

По умолчанию стоит сортировка по имени и каталоги с файлами перемешаны! Ну тоесть если у меня есть файлпомойка, где несколько дирректорий и много файлов, то чтобы перейти в дирректорию из «середины алфавита» нужно мотать аж до середины, еще и глазами высматривать чтобы не пропустить, вместо того чтобы перейти в нужный каталог из начала списка.

Хорошо, у нас есть функция сортировки по типу, тогда каталоги будут сверху, но они отсортированны не по алфавиту а непойми как и если переходишь в /, то банальный tmp будет не в конце списка (где ожидается), а в середине, ближе к началу и нужно искать его.

Зачем так сделали рептилоиды разработчики даже спрашивать не буду, спрошу как починить если у кого-нибудь получилось?! Что хочу: каталоги в начале списка отсортированные по алфавиту, внезависимости от того какой тип сортировки выбран.

 , , ,

Kolins
()

Заблокированные теги в новостях на главной

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

 , , ,

Kolins
()

postfix жестко задать mx для получателя

У домена получателя есть 3 mx записи с одним приоритетом, 2/3 серверов не отвечают и когда пользователь отправляет письмо то есть вероятность в 66% что в ответ придет «connection timeout». Где в postfix можно задать жесткую привязку домен - mx?

 

Kolins
()

Debian 11 iso vs Debian 12 iso

В каких ченжлогах посмотреть чего такого напихали в iso что он потолстел почти в 2 раза? Просто инетесно.

-rw-r--r-- 1 user user 336M Aug 31  2022 debian-10.12.0-amd64-netinst.iso
-rw-r--r-- 1 user user 382M Oct 18  2022 debian-11.5.0-amd64-netinst.iso
-rw-r--r-- 1 user user 627M Oct  2 09:09 debian-12.1.0-amd64-netinst.iso

 , ,

Kolins
()

RSS подписка на новые темы