LINUX.ORG.RU

Избранные сообщения mord0d

Newsraft 0.23

Новости — Open Source
Группа Open Source

Состоялся выпуск Newsraft 0.23, консольной программы для просмотра RSS-лент. Проект во многом вдохновлён Newsboat и пытается быть его облегчённым аналогом.

( читать дальше... )

>>> Подробности

 , , , ,

txgk
()

сбор общей схемы использования хранилищ на freebsd

Форум — Development

Время от времени хотелось чтоб был некий дамп схемы использования физических накопителей разными файловыми системами, чтобы не лазить отдельно по camcontrol devlist, gmirror/gmultipath/gpart, спискам монтирования и иногда sysctl. И чтобы этот дамп был пригоден для обычного diff между «было» и «теперь». Написал в итоге такую прогу, может кому пригодится или кто даст совет как поудобнее сделать её вывод чтобы было нагляднее кто за что отвечает. (только не так как geom -t который дублирует на каждого члена mirror/multipath всю вышележащую топологию)

исходник

Компилировать с -lgeom -lfcl

update 2023-12-05

как скомпилировать с нуля с черновой поддержкой zfs:

cd /tmp/
fetch https://dev.m1089.ru/fcl/files/fcl-20231205.tar.gz
tar xf fcl-20231205.tar.gz
cd fcl-20231205/DEV/src
./build.sh fcl
fetch https://dev.m1089.ru/freebsd-misc/files/storage-summary/storage-summary.c
cc storage-summary.c -DWITH_LIBZFS -DLIBZFS_HACK -I../include -L../lib -lgeom -lfcl -lzfs -lnvpair -o storage-summary

 , ,

firkax
()

Выбрать последний месяц состоящий из слов?

Форум — Development

Записи в таблице где месяцы написаны текстом: «январь» и т.д. Как выбрать из нескольких записей с одинаковыми другими столбцами ту которая будет самой поздней?

 

bad_master
()

NFS и SMB и права доступа?

Форум — Admin
Нужен совет как правильно настроить права доступа для каталога, который нужно расшарить в сеть по NFS и SMB протоколу, подключить его к Windows и Linux, так чтобы права на чтение и запись были и там и там... 

Допустим у меня есть база данных программы для заметок obsidian мне нужно расположить ее в каталоге на NAS и иметь к ней доступ из Windows и Linux. На сервере установлен truenas scale в нем расшариваю каталог /data

по протоколу SMB с дополнительными параметрами

force user=apps

force group=apps

На Linux машине примонтировал шару протоколом NFS прописав в файл /etc/fstab

192.168.1.226:/mnt/torrent/torrent/data       /tank/torrent/         nfs     rw,user,noauto      0       0

Создал группу apps с guid 568

sudo groupadd -g 568 apps

Добавил пользователя в группу apps

sudo usermod -aG apps user

В итоге

И при создании каталога из Windows он создается с правами

drwxrwxr-x 3 568 apps 3 окт 21 21:58 windows

А при создании каталога из Linux он создается с правами

drwxr-xr-x 3 user apps 3 окт 21 21:58 linux

При этом из Windows, я не имею прав на запись к каталогам которые созданы на Linux

А из Linux права на запись есть ко всем каталогам…

 , , , ,

MULT
()

intel VirtualHeads автонастройка

Форум — Desktop

Добавил себе Option "VirtualHeads" "2", перелогинился, выполнил

$ xrandr --addmode VIRTUAL1 1920x1080
$ xrandr --addmode VIRTUAL2 1920x1080
$ xrandr --output VIRTUAL1 --right-of eDP1
$ xrandr --output VIRTUAL2 --left-of eDP1

Ок, дисплеи появились, пользоваться можно, но на каждый addmode выскакивал вопрос что делать с новым монитором.

Что мне теперь в Xorg.conf накрутить чтобы не надо было каждый раз выполнять команды руками?

Я пробовал «наугад около навскидку нагугленного» вот так

Section "Monitor"
    Identifier "VIRTUAL1"
    Option "LeftOf" "eDP1"
#    Modeline "1920x1080_60.0"  148.35  1920 2008 2052 2200  1080 1084 1089 1125 +hsync +vsync
#     UseModes "1920x1080"
#    Modeline "1920x1080" +hsync -vsync
EndSection

И вот так

Section "Screen"
#    Monitor "VIRTUAL1"
    Identifier "VIRTUAL1"
    SubSection "Display"
        Modes "1920x1080"
    EndSubSection
EndSection

В том числе комбинации параметров из заремаренного. Увы вообще ничего не происходит(не считая syntax error, которые пояснять не надо)

 , , ,

Flotsky
()

Подскажите метод определения DoH

Форум — Admin

Привет. В качестве задачки для лучшего понимания iptables, route я сделал вот такое

https://github.com/3DRaven/pi-hole2vpn

Но хочется даже тех кто шибко умный победить. Сейчас все кто пытается пойти куда-то на 53 порт попадают на резак даже если отправляют запрос прямой к 8.8.8.8, но есть DoH и особо хитрые могут напрямую сходить на сервис и резолвить все через него. Хочется как-то либо DoH зарезать целиком, либо определять и редиректить на себя, реализуя DoH. Может у кого есть толковые идеи как это сделать?

Кстати, в итоге время автономной работы телефона выросло более чем в три раза :)

 , , , ,

i3draven
()

Thinkpad X230 перепись живых

Форум — Talks

Панки хой, дамы и господа!

Вопрос по сабжу пользователям Thinkpad X230: В каком состоянии ваш лептоп, когда последний раз его ремонтировали и что именно вышло из строя?


Моему экземпляру 10 лет (3 из которых он у меня), вот не так давно вышла из строя система охлаждения - кулер Toshiba заревел как трактор и помер. Ему на замену с Алика пришел Delta Fan (за десяток баксов), но я нашел новый AVC на Ebay. Как придёт буду ставить вместе с новомодной фишкой, термопрокладками с фазовым переходом Honeywell PTM 7950.

Короче говоря, с какими проблемами в процессе эксплуатации X230 вы столкнулись за последнее время и как их решили?

 , ,

Twissell
()

Используете ли вы раздельные клавиатуры?

Форум — Talks

Если да, то какие? На форуме как будто о таких не знают — мало упоминаний.

 ,

temak
()

endlessh

Форум — Admin

Здравствуйте всем. Если Вы пользуете тарпит endlessh. Боты давно его игнорируют. Ждут 10-20 сек и отваливают. Но, я усмотрел интересную вещь. Боты нападают сразу 20-30 конектов. Тупые писатели этих ботов проперлись. Если сделать так:

iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 1 -j REJECT
То скрипт бота отрабатывает все 30 конектов. 20 Х 30 тормозим бота. Извините за корявость.

 

Boatmen
()

Аккумулятор 12В в комп?

Форум — General

Хой всем! Есть мысль вместо ИБП поставить аккумулятор 12В в корпус компа. Это удобно, нет лишнего железа и преобразования, красиво и лаконично. Но как бы смущает надо ли современной материнке -12В (-5 не надо), как это узнать. И больше хотелось бы поставить литий-ион. Понятно, контроллер заряда, все дела. Ардуинка скажет компу, что свет пропал/появился.

Мощность 300 Вт, но как свет упадет, прожорливый софт резко поставится на паузу, sync, flush cache, гибернация. Монитор питается от БП компа.

Может есть у форумчан примеры, как это выглядит?)

 ,

NotWin
()

ipsec ikev2 - подключается без корневого

Форум — Admin

Добрый день, лор. Установил и настроил ikev2 впн, Debian 11, strongSwan U5.9.1/K5.10.0-21-amd64, сертификаты сгенерировал самоподписанные так, адрес сервер впн - 100.100.100.1 ( там публичный ip, это для примера )

 pki --gen --type rsa --size 4096 --outform pem > ca-key.pem
 pki --self --ca --lifetime 3650 --in ~/pki/private/ca-key.pem \
    --type rsa --dn "CN=VPN root CA" --outform pem > ca-cert.pem
 pki --gen --type rsa --size 4096 --outform pem > server-key.pem
 pki --pub --in server-key.pem --type rsa | pki --issue --lifetime 1825 --cacert ~/pki/cacerts/ca-cert.pem         --cakey ca-key.pem --dn "CN=100.100.100.1" --san @100.100.100.1 --san 100.100.100.1 --flag serverAuth --flag ikeIntermediate --outform pem     > server-cert.pem

Конфиг выглядит так

config setup
	charondebug="ike 1, knl 1, cfg 1"
	uniqueids=no

conn ikev2-vpn
	auto=add
	compress=no
	type=tunnel
	keyexchange=ikev2
	fragmentation=yes
	forceencaps=yes

conn ikev2-vpn
	dpdaction=clear
	dpddelay=300s
	rekey=no
	left=%any
	leftid=100.100.100.1
	leftcert=server-cert.pem
	leftsendcert=always
	leftsubnet=0.0.0.0/0
	right=%any
	rightid=%any
	rightauth=eap-mschapv2
	rightsourceip=10.10.10.0/24
	rightdns=8.8.8.8,8.8.4.4
	rightsendcert=never
	eap_identity=%identity
	ike=aes256-sha256-modp2048,aes128-sha256-modp2048,aes256-sha1-modp2048,aes128-sha1-modp2048!
	esp=aes256-sha256-modp2048,aes128-sha256-modp2048,aes256-sha1-modp2048,aes128-sha1-modp2048!

Юзеры положены в ipsec.secrets. Тут-то и начинается интересное, я ожидаю, что при попытке подключения macOs ventura пошлет меня, не сумев проверить самоподписанный сертификат, а во факту успешно подключается, мне не пришлось добавлять корневой к себе на машину. Вопрос - почему так, может я что-то не так настроил? На что обратить внимание в логах?

Jun 11 05:36:00  charon: 09[IKE] EAP method EAP_MSCHAPV2 succeeded, MSK established
Jun 11 05:36:00  ipsec[9332]: 09[IKE] EAP method EAP_MSCHAPV2 succeeded, MSK established
Jun 11 05:36:00  charon: 09[ENC] generating IKE_AUTH response 4 [ EAP/SUCC ]
Jun 11 05:36:00  charon: 09[NET] sending packet: from 100.100.100.1[4500] to 212.124.28.17[16992] (80 bytes)
Jun 11 05:36:00  charon: 12[NET] received packet: from 212.124.28.17[16992] to 100.100.100.1[4500] (112 bytes)
Jun 11 05:36:00  charon: 12[ENC] parsed IKE_AUTH request 5 [ AUTH ]
Jun 11 05:36:00  charon: 12[IKE] authentication of '192.168.0.104' with EAP successful
Jun 11 05:36:00  charon: 12[IKE] authentication of '100.100.100.1' (myself) with EAP
Jun 11 05:36:00  charon: 12[IKE] IKE_SA ikev2-vpn[17] established between 100.100.100.1[100.100.100.1]...212.124.28.17[192.168.0.104]
Jun 11 05:36:00  charon: 12[IKE] peer requested virtual IP %any
Jun 11 05:36:00  charon: 12[CFG] reassigning offline lease to 'vpnusernnn'
Jun 11 05:36:00  charon: 12[IKE] assigning virtual IP 10.10.10.1 to peer 'vpnusernnn'
Jun 11 05:36:00  charon: 12[IKE] peer requested virtual IP %any6
Jun 11 05:36:00  charon: 12[IKE] no virtual IP found for %any6 requested by 'vpnusernnn'
Jun 11 05:36:00  charon: 12[CFG] selected proposal: ESP:AES_CBC_256/HMAC_SHA2_256_128/NO_EXT_SEQ
Jun 11 05:36:00  charon: 12[IKE] CHILD_SA ikev2-vpn{2} established with SPIs c315596a_i 05a05f74_o and TS 0.0.0.0/0 === 10.10.10.1/32
Jun 11 05:36:00  charon: 12[ENC] generating IKE_AUTH response 5 [ AUTH CPRP(ADDR DNS DNS) SA TSi TSr N(MOBIKE_SUP) N(ADD_6_ADDR) ]
Jun 11 05:36:00  charon: 12[NET] sending packet: from 100.100.100.1[4500] to 212.124.28.17[16992] (272 bytes)

 , ,

sysmerge_
()

hyperfine 1.17.0

Новости — Open Source
Группа Open Source

После более двух месяцев разработки состоялся выпуск 1.17.0 кроссплатформенной (Linux, MacOS, Windows) консольной утилиты hyperfine, написанной на языке Rust и распространяемой по лицензиям Apache-2.0 и MIT.
Утилита предназначена для сравнения производительности других консольных утилит.

Список изменений:

  • добавлен параметр --sort, используемый для сортировки результатов сравнения относительной скорости и экспорте;
  • неиспользуемые параметры теперь отображаются в круглых скобках;
  • в скрипт scripts/plot_histogram.py вывода результатов в виде гистограмм добавлена опция --log-count;
  • обновлена документация (man);
  • исправлена ошибка вывода промежуточных результатов в stdout при использовании - в качестве имени файла;
  • исправлено падение при экспорте, если время бенчмарка равнялось нулю.

>>> Подробности

 , , , ,

dataman
()

Вычисляемый item в Zabbix

Форум — General

Хочу сделать Calculated Item prototypes. Теги и препроцессинг не задан. Задаю тип: Calculated. Использую в роли ключа такой же ключ, как и в прототипе элемента RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages ready, а именно rabbitmq.queue.messages_ready[«{#VHOST}/{#QUEUE}»].

Далее Type of information: Numeric (unsigned) и формулу:

trendavg(rabbitmq.queue.messages_ready[«{#VHOST}/{#QUEUE}»],1h:now/h).

Это пока упрощение. Но полное выражение состоит только из этой функции и этих данных. Пробую Test, где задаю #VHOST и #QUEUE - не работает. Пишет: Cannot parse formula: invalid token starting with «rabbitmq.queue.messages_ready[«{#VHOST}/{#QUEUE}»])»

Пробовал уже по-разному и так: trendavg(/RabbitMQ node by HTTP/rabbitmq.queue.messages_ready[«{#VHOST}/{#QUEUE}»],1h:now/h) и кавычки брал выражение и как только не пробовал - не работает. В Тесте выдает ошибку. Как можно решить вопрос?

 ,

sivsoft
()

Как заставить tty+xterm отображать приглашение ввода после выполнения «удаленной» команды?

Форум — General

Есть tty-терминал, пусть это будет /dev/pts/25. В нем запущен xterm.

Находясь в другой консоли, можно выполнить команду так, что результат ее работы отразится в /dev/pts/25. Например, для получения списка файлов можно выполнить:

(ls) </dev/pts/25 >/dev/pts/25 2> /dev/pts/25
Но тут есть проблема. После выполнения такой команды, в /dev/pts/25 не появляется приглашение ввода. А нужно, чтоб появлялось.

Другими словами, после выполнения такой «удаленной» команды приходится переключаться на окно терминала /dev/pts/25, нажимать «Enter» и только тогда появляется приглашение ввода.

Важное замечание: Утилиты xdotool в системе нет и не предвидится. Автоматизация делается через python 3.5, но библиотеки python-xlib в системе нет и не предвидится.

 , , , ,

Xintrea
()

Item в Zabbix пишет ошибку FATAL: Peer authentication failed for user «postgres»

Форум — Admin

Здравствуйте. Решил настроить монитор баз данных в zabbix через ODBC. БД крутится на postgresql. Установил на сервере zabbix драйвер postgresql-odbc через 

sudo yum install postgresql-odbc
Настроил item 

Тип: Монитор БД

Ключ: 

db.odbc.get[raw.table.data,,"Driver={$PGSQL.ODBD.DRIVER};Database={$PGSQL.DATABASE}"]

Имя пользователя: {$DB.USER} (нужного пользователя указал в макросах)

Пароль: {$DB.PASS} (нужный пароль указал в макросах)

В поле запроса указал нужный запрос

$ sudo cat /etc/odbcinst.ini
# Example driver definitions

# Driver from the postgresql-odbc package
# Setup from the unixODBC package
[PostgreSQL]
Description     = ODBC for PostgreSQL
Driver          = /usr/lib/psqlodbcw.so
Setup           = /usr/lib/libodbcpsqlS.so
Driver64        = /usr/lib64/psqlodbcw.so
Setup64         = /usr/lib64/libodbcpsqlS.so
FileUsage       = 1


# Driver from the mysql-connector-odbc package
# Setup from the unixODBC package
[MySQL]
Description     = ODBC for MySQL
Driver          = /usr/lib/libmyodbc5.so
Setup           = /usr/lib/libodbcmyS.so
Driver64        = /usr/lib64/libmyodbc5.so
Setup64         = /usr/lib64/libodbcmyS.so
FileUsage       = 1

Подключение к БД осуществляется через md5 и поэтому zabbix выдает сообщение

Cannot connect to ODBC DSN: [SQL_ERROR]:[28000][210][[unixODBC]FATAL: Peer authentication failed for user "postgres"]

У меня вопрос можно ли настроить что бы zabbix+ODBC подключался через md5, а не через peer и если можно, то как? Спасибо.

 ,

sasha198407
()

Растровый 64-битный шрифт 7x9

Форум — Development

Делюсь реализацией одной идеи. В библиотеках типа SDL2 своих встроенных шрифтов обычно нет. Для этого предусмотрены дополнительные библиотеки, зависеть от которых не хочется, да и придётся цеплять файл со шрифтом. Поэтому в Allegro, например, предусмотрели альтернативу: простейший растровый шрифт 8x8. Но там нет кириллицы.

У шрифтов 8x8 есть ещё такие недостатки: буквы маленькие и широкие, что особенно заметно на строчных. Это усугубляется тем, что некоторые буквы выступают вниз (например, «Д», «Щ») или вверх (Ё), из-за чего приходится оставлять пустое место сверху и снизу для остальных букв.

Шрифт 7x9 по битам занимает почти столько же, но выше и уже, что выглядит приятнее. Кроме того, лишний 64 бит можно использовать для признака сдвига вниз. Тогда не надо будет оставлять пустое место снизу. То есть строчка будет высотой даже не 9, а 10.

Коды для символов можно посмотреть тут. В отличие от Allegro я использовал не 8 uint8_t на символ, а одну uint64_t.

Исходный файл для правки тут. В качестве исходника используется не растровое изображение, а текстовое (ASCII art), для удобства трансляции. Приведу пример таких исходных символов:

В
.
.......
.#####.
.#....#
.#....#
.#####.
.#....#
.#....#
.#....#
.#####.
Г
.
.......
.#####.
.#.....
.#.....
.#.....
.#.....
.#.....
.#.....
.#.....
Д
#
...###.
..#..#.
.#...#.
.#...#.
.#...#.
.#...#.
.#...#.
#######
#.....#

Перед каждым изображением буквы оставил признак сдвига: точка если сдвига нет, # - если сдвиг на 1 вниз.

 , ,

Kogrom
()

Почему dnsmasq игнорирует конфиг?

Форум — Admin
/etc/dnsmasq.d# grep -v ^# custom-master-dnsmasq-conf 
server=8.8.8.8
server=8.8.4.4
listen-address=127.0.0.1

не запускается, упорно лезет слушать

 0.0.0.0:53

Что я упускаю?

 

targitaj
()

Rspamd - автообучение с Dovecot imap_sieve plugin

Форум — Admin

Когда Dovecot и Rspamd установлены на одном сервере, то используется такая текущая конфигурация плагинов в dovecot.conf

plugin {
    sieve_plugins = sieve_imapsieve sieve_extprograms
    sieve_before = /var/vmail/sieve/global/spam-global.sieve
    sieve = file:/var/vmail/sieve/%d/%n/scripts;active=/var/vmail/sieve/%d/%n/active-script.sieve

    ###
    ### Spam learning
    ###
    # From elsewhere to Spam folder
    imapsieve_mailbox1_name = Spam
    imapsieve_mailbox1_causes = COPY
    imapsieve_mailbox1_before = file:/var/vmail/sieve/global/learn-spam.sieve

    # From Spam folder to elsewhere
    imapsieve_mailbox2_name = *
    imapsieve_mailbox2_from = Spam
    imapsieve_mailbox2_causes = COPY
    imapsieve_mailbox2_before = file:/var/vmail/sieve/global/learn-ham.sieve

    sieve_pipe_bin_dir = /usr/bin
    sieve_global_extensions = +vnd.dovecot.pipe

    quota = maildir:User quota
    quota_exceeded_message = User %u has exhausted allowed storage space.
}

Содержимое sieve скрипта для обучения спама learn-spam.sieve

require ["vnd.dovecot.pipe", "copy", "imapsieve"];
pipe :copy "rspamc" ["learn_spam"];

А как быть в случае если Rspamd установлен на отдельном сервере, а Dovecot c подмонтированным по NFS mail storage на другом сервере? т.е. Dovecot должен передавать данные rspamc для обучения удаленно…

 , ,

zorinquen
()

Coreboot thinkpad X230 кто пользуется поделитесь информацией

Форум — Linux-hardware

Всем привет!

В скором времени хочу взять по дешевке второй Thinkpad X230 для опытов и, в качестве опыта, прошить туда Coreboot.

Вопросы к обладателям Thinkpad X230 с корбутом (есть тут такие?):

какие главные минусы по сравнению с оригинальным BIOS?

ЕМНИП, без интеловского видео блоба не работал офтопик, не работало eGPU, что еще?

@SakuraKun

 , , ,

Twissel
()

TTL для временных файлов. Автоудаление файлов после некоторого времени.

Форум — Admin

Это как продолжение темы: Распределенная файловая система для картинок. Желательно что бы в системе монтировалась как обычная. (комментарий)

Идея в том что в очередь на обработку будут загружаться файлы в некоторое временное хранилище - скажем NFS или возможно glusterFS или что то в этом роде.

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

Какой есть самый разумный способ поставить TTL на файлы средствами Linux/NFS скажем в несоколько часов. Если файлы старше то он удаляется.

И какие в этом плане представлют возможности MinIO, glusterFS, Ceph?

 , ,

glorsh66
()