И это всё МОЁ

О linux,какой ты прикольный.

Я нежно размечу хард диск.

С улыбкой своeю довольной,

Я линь обновлю в один миг.

Прям из терминала как песня

Набрав там apt-get dist upgrade

Польётся рекою привольно,

Обновок огромная сень.

И вот я уже линуксоид,

Уже мне винда ненужна.

Спасибо тебе Линус Торвальдс

За linux что есть у меня.








 , ,








И это всё МОЁ

Всем привет! Подключил процессор rk3399 через uart к компу. Загрузчик стоит u-boot. Мне надо посмотреть ,что выводит u-boot на uart, но я не знаю ничего про параметры соединения(скорость, бит четности и т.д.), поэтому выводится чепуха полная. Где можно узнать параметры ,чтобы все работало как надо?









 ,








И это всё МОЁ

Приветствую.


Сервер vps под debian9. Установлен fail2ban 0.9.6-2. Настроено и, по факту, чётко работает правило sshd. Установил «для себя» 3proxy с аутентификацией по паролю. Иногда вижу всякие/разные/непонятные IP в его журнале, поэтому хотел его тоже отдать под fail2ban. Но не получается. В правиле изменил только порт и путь к журналу:


[3proxy]
enabled = true
port = 12345
logpath = /var/log/3proxy/3proxy.log


Само правило fail2ban видит:


Status for the jail: 3proxy
|- Filter
| |- Currently failed: 0
| |- Total failed: 0
| `- File list: /var/log/3proxy/3proxy.log
`- Actions
|- Currently banned: 0
|- Total banned: 0
`- Banned IP list:


Но по факту - ничего не происходит. Вы скажете - action не указан. Да, не указан. Но действия и для sshd не указаны, а правило работает. Здесь у меня нет понимания, если честно.


И непонятно с regex. 3proxy предлагает вариативность формата журнала. Дефолтный regex для правила 3proxy:


^\s[+-]\d{4} \S+ \d{3}0[1-9] \S+ <HOST>:\d+ [\d.]+:\d+ \d+ \d+ \d+\s


Как надо/лучше поступить - подогнать формат журнала под дефотный regex или изменить regex под свой формат? На самом деле, выборки по коду ошибки \d{3}0[1-9] должно быть достаточным для принятия решения по <HOST>:


2020-07-28 02:17:29:944 PROXY:12345 00005 username 123.123.123.123:12345 CONNECT yandex.ru:443 HTTP/1.1









 , ,








И это всё МОЁ

В логах иногда светится это.

Message from IP address 127.0.0.1, sender <user@computer> rejected: sender domain does not exist

Как понять, что за тулза пытается отправить? Tcpdumpом можно увидеть куда, но не знаю кто или что отправляет. Посмотрел ps -ef, ничего подозрительного не увидел.
 root@mail:/etc# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Jul27 ? 00:00:01 init [3]
root 2 0 0 Jul27 ? 00:00:00 [kthreadd]
root 3 2 0 Jul27 ? 00:00:01 [ksoftirqd/0]
root 5 2 0 Jul27 ? 00:00:00 [kworker/u:0]
root 6 2 0 Jul27 ? 00:00:00 [migration/0]
root 7 2 0 Jul27 ? 00:00:00 [migration/1]
root 9 2 0 Jul27 ? 00:00:01 [ksoftirqd/1]
root 11 2 0 Jul27 ? 00:00:00 [migration/2]
root 12 2 0 Jul27 ? 00:00:00 [kworker/2:0]
root 13 2 0 Jul27 ? 00:00:01 [ksoftirqd/2]
root 14 2 0 Jul27 ? 00:00:00 [migration/3]
root 15 2 0 Jul27 ? 00:00:00 [kworker/3:0]
root 16 2 0 Jul27 ? 00:00:01 [ksoftirqd/3]
root 17 2 0 Jul27 ? 00:00:00 [cpuset]
root 18 2 0 Jul27 ? 00:00:00 [khelper]
root 19 2 0 Jul27 ? 00:00:00 [kdevtmpfs]
root 20 2 0 Jul27 ? 00:00:00 [netns]
root 227 2 0 Jul27 ? 00:00:00 [sync_supers]
root 229 2 0 Jul27 ? 00:00:00 [bdi-default]
root 231 2 0 Jul27 ? 00:00:00 [kblockd]
root 411 2 0 Jul27 ? 00:00:00 [ata_sff]
root 418 2 0 Jul27 ? 00:00:00 [khubd]
root 424 2 0 Jul27 ? 00:00:00 [md]
root 531 2 0 Jul27 ? 00:00:00 [rpciod]
root 580 2 0 Jul27 ? 00:00:00 [khungtaskd]
root 586 2 0 Jul27 ? 00:00:15 [kswapd0]
root 655 2 0 Jul27 ? 00:00:01 [khugepaged]
root 657 2 0 Jul27 ? 00:00:00 [fsnotify_mark]
root 661 2 0 Jul27 ? 00:00:00 [nfsiod]
root 667 2 0 Jul27 ? 00:00:00 [crypto]
root 711 2 0 Jul27 ? 00:00:00 [kthrotld]
root 808 2 0 Jul27 ? 00:00:00 [kworker/1:1]
root 809 2 0 13:26 ? 00:00:00 [kworker/0:0]
root 810 2 0 Jul27 ? 00:00:00 [kworker/3:1]
root 875 2 0 Jul27 ? 00:00:00 [scsi_eh_0]
root 878 2 0 Jul27 ? 00:00:00 [scsi_eh_1]
root 881 2 0 Jul27 ? 00:00:00 [scsi_eh_2]
root 884 2 0 Jul27 ? 00:00:00 [scsi_eh_3]
root 887 2 0 Jul27 ? 00:00:00 [scsi_eh_4]
root 890 2 0 Jul27 ? 00:00:00 [scsi_eh_5]
root 898 2 0 Jul27 ? 00:00:00 [kworker/u:7]
root 1048 2 0 Jul27 ? 00:00:00 [devfreq_wq]
root 1091 2 0 13:36 ? 00:00:00 [kworker/0:1]
root 1259 2 0 13:42 ? 00:00:00 [kworker/0:2]
root 1263 2 0 Jul27 ? 00:00:01 [md0_raid1]
root 1281 2 0 Jul27 ? 00:00:00 [md1_raid1]
root 1298 2 0 Jul27 ? 00:00:02 [md2_raid1]
root 1326 2 0 Jul27 ? 00:00:01 [jbd2/md0-8]
root 1327 2 0 Jul27 ? 00:00:00 [ext4-dio-unwrit]
root 1381 1 0 Jul27 ? 00:00:00 /sbin/udevd --daemon
root 1395 2 0 Jul27 ? 00:00:00 [kworker/2:2]
root 1465 26629 0 13:49 pts/0 00:00:00 ps -ef
root 1487 2 0 Jul27 ? 00:00:00 [kpsmoused]
root 1493 2 0 Jul27 ? 00:00:00 [kworker/1:2]
root 1564 2 0 Jul27 ? 00:00:04 [jbd2/md2-8]
root 1565 2 0 Jul27 ? 00:00:00 [ext4-dio-unwrit]
root 1599 1 0 Jul27 ? 00:00:02 /usr/sbin/syslogd
root 1603 1 0 Jul27 ? 00:00:02 /usr/sbin/klogd -c 3 -x
root 1656 1381 0 Jul27 ? 00:00:00 /sbin/udevd --daemon
root 1657 1381 0 Jul27 ? 00:00:00 /sbin/udevd --daemon
root 1698 2 0 Jul27 ? 00:00:00 [flush-9:0]
root 1699 2 0 Jul27 ? 00:00:11 [flush-9:2]
root 1868 1 0 Jul27 ? 00:00:00 /usr/sbin/inetd
root 1873 1 0 Jul27 ? 00:00:00 /usr/sbin/sshd
bin 1890 1 0 Jul27 ? 00:00:00 /sbin/rpc.portmap
root 1894 1 0 Jul27 ? 00:00:00 /sbin/rpc.statd
root 1898 1 0 Jul27 ? 00:00:00 /usr/sbin/rpc.rquotad
root 1902 2 0 Jul27 ? 00:00:00 [lockd]
root 1903 2 0 Jul27 ? 00:00:00 [nfsd4]
root 1904 2 0 Jul27 ? 00:00:00 [nfsd4_callbacks]
root 1905 2 0 Jul27 ? 00:00:00 [nfsd]
root 1906 2 0 Jul27 ? 00:00:00 [nfsd]
root 1907 2 0 Jul27 ? 00:00:00 [nfsd]
root 1908 2 0 Jul27 ? 00:00:00 [nfsd]
root 1909 2 0 Jul27 ? 00:00:00 [nfsd]
root 1910 2 0 Jul27 ? 00:00:00 [nfsd]
root 1911 2 0 Jul27 ? 00:00:00 [nfsd]
root 1912 2 0 Jul27 ? 00:00:00 [nfsd]
root 1914 1 0 Jul27 ? 00:00:00 /usr/sbin/rpc.mountd
root 1919 1 0 Jul27 ? 00:00:01 /usr/sbin/ntpd -g -p /var/run/ntpd.pid
root 1924 1 0 Jul27 ? 00:00:00 /usr/sbin/acpid
root 1931 1 0 Jul27 ? 00:00:00 /usr/sbin/crond -l notice
daemon 1933 1 0 Jul27 ? 00:00:00 /usr/sbin/atd -b 15 -l 1
root 2164 1 0 Jul27 ? 00:00:00 savd etc/savd.cfg
root 2263 1 0 Jul27 tty1 00:00:00 /sbin/agetty --noclear 38400 tty1 linux
root 2264 1 0 Jul27 tty2 00:00:00 /sbin/agetty 38400 tty2 linux
root 2265 1 0 Jul27 tty3 00:00:00 /sbin/agetty 38400 tty3 linux
root 2266 1 0 Jul27 tty4 00:00:00 /sbin/agetty 38400 tty4 linux
root 2267 1 0 Jul27 tty5 00:00:00 /sbin/agetty 38400 tty5 linux
root 2268 1 0 Jul27 tty6 00:00:00 /sbin/agetty 38400 tty6 linux
root 4777 2164 0 Jul27 ? 00:00:00 savscand --incident=unix://tmp/incident --namedscan=unix://root@tmp/namedscansprocessor.2 --ondemandcontrol=socketpair://42/43
root 26623 1873 0 09:50 ? 00:00:00 sshd: root@pts/0
root 26629 26623 0 09:50 pts/0 00:00:00 -bash








 








И это всё МОЁ
И это всё МОЁ

Как правильно задать параметры, специфичные для хоста?


Я сейчас делаю в inventory/hosts как-то так


[kvm_host]
kvm01 vm_number=20 vm_prefix=vm01
kvm02 vm_number=20 vm_prefix=vm02
kvm03 vm_number=40 vm_prefix=vm03


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









 








И это всё МОЁ
И это всё МОЁ

Хочу собрать ПК в компактном корпусе.


Основные ресурсоемкие задачи:



  • небольшие числодробления (продолжительностью в минуты, реже - часы)

  • компилирование нетяжелых проектов

  • рендеринг визуализаций и кодирование видео

  • Windows 10 в qemu/kvm


Было бы хорошо:



  • пробрасывать железо (видеокарту) в виртуалки

  • редактировать и перекодировать FHD/UHD видео

  • иметь возможность поиграть в не очень требовательные игры


Важно:
Есть сильные ограничения на тепловыделение и уровень шума. В запланированный корпус влезает кулер до 66 мм в высоту. Скорее всего, это будет Noctua NH-L12 с одним лишь нижним вентилятором.


CPU


Присмотрел Ryzen 7 3700X и Intel i7-10700.



  • Разница в цене у них в пределах погрешности.

  • Разгонять ничего не собираюсь, скорее хотел бы сделать undervolting насколько возможно.

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

  • Также у Intel чуть лучше производительность на поток и нет затыка со скоростью памяти, а значит можно брать нормальную память Samsung 2666-2933 MHz без заводского разгона, радиаторов и RGB.


GPU


Тут я пока не выбрал конкретные модели. Что нужно:



  • работа без затыков в Paraview на объемах 0.5-1 GB данных

  • обычная работа на паре 4K мониторов (это и встройка тянет)

  • аппаратное декодирование (хотя-бы в mvp) насколько это возможно в Linux

  • пробрасываемость в виртуалку

  • возможность зайдествовать для числодробления (прямо сейчас не нужно, но хотелось бы поиграться)

  • оставить возможность на поиграть раз уж я собираю ПК




Пока склоняюсь к i7-10700, а видеокарта - что-нибудь от AMD. Да будет срач посоветуйте, пожалуйста.









 , , ,








И это всё МОЁ

В pavucontrol есть возможность перещелкнуть конфигурацию наушников - https://ibb.co/w6LLcyP нижняя выпадашка.


Как с этим работать програмно? Нужно считать текущее значение и установить новое.









 , , , ,








И это всё МОЁ


  1. Что-то у меня не получается настроить https://github.com/rycee/home-manager




  2. home-manager удобно использовать, когда конфиг из одного файла. А если конфиг с директориями и там много файлов как быть? Может легче выполнить cp -prf template/some_config ~/.config?











 








И это всё МОЁ

Есть ли у QDir что-то, чтобы получить список файлов вложенных папок или надо ручками проходить ?


QDir directory(dir);
directory.setFilter(QDir::Files);
QFileInfoList listfiles = directory.entryInfoList();


Пробую так, но это не работает по вложенным.









 , ,








И это всё МОЁ

На руках есть IP-камера ActiveCam, модель AC-D8121IR2V2.


При открытии RTSP потока по локальной сети присутствует 2-3 секундная задержка.
Но если открыть ту же камеру через её web-интерфейс где требуется ActiveX, то задержка меньше секунды, практически моментальная картинка


Вот так выглядит, по часам видно задержку: https://imgur.com/a/IuiskSv


Пробовал на трех мощных ПК, уверн что проблем с производительностью декодирования нет.


В веб интерфейсе камеры настройки RTSP следующие:


Video Stream: Main Stream
Encode Type: H.264
Resolution: 1080p (1920*1080)
Profile: Main Profile
Key Frame Interval (Length): 50
Bitrate Type: VBR
Bit rate: 4000 kbit/s
Encode Quality: 4
Frame Rate: 25fps


Какие настройки использует плеер через ActiveX - неизвестно, но на скриншоте видно, что используется кодек H.264, разрешение 1920*1080, 24.4fps и поток скачет от 900kbps до 3000kbps.


Я пробовал менять настройки RTSP-потока, задержку это не уменьшило.


Также, я запустил wireshark и увидел что веб-страница просмотра не использует 554 порт RTSP, а ходит на камеру через 6000 порт и через какой-то свой протокол.
В нем есть какие-то управляющие сигналы вроде LOGIN BVT/1.0 cse q: 0 username: ***** password: **** devinfo: 1 (см скриншот) по этому запросу ничего не гуглится.


https://imgur.com/a/rU2gfqk


Вопрос: как можно уменьшить задержку RTSP-потока и как у китайцев удается отдавать картинку быстрее RTSP в свой странный ActiveX?









 , , ,








И это всё МОЁ

Создаю в потоке QThread несколько объектов QNetworkAccessManager и замечаю, что ОС создает отдельный поток для каждого объекта который создал сетевое соединение. Собираю на Qt-5.14.2, gcc 5.3.1 64x.

Я что-то делаю не так или это такая ассинхронность под капотом Qt?








 ,








И это всё МОЁ

Сабж возникает только при использовании Proton с DXVK, очень похоже на писк дросселей в питальнике видеокарты.

Странно то, что ни от чего другого не возникает: нативные игры с Vulkan рендером; виндовые игры с Vulkan рендером, запускаемые через тот же Proton; всякий тяжелый софт, использующий OpenCL - ничто больше этот писк не вызывает. Что это может быть и в какую сторону копать?








 








И это всё МОЁ

Не понимаю, как выключить этот transient state. Горячая клавиша, судя по доками, M-SPC or s-M-SPC. По нажатию alt+space в агенде все отрабатывает, новое окно с буфером доп. клавишь для агенды появляется. Но повторное нажатие ничего не делает. По SPC h d K M+SPC есть функция, но ее ручной ввод не тогглит режим. Как, собственно, вернутся к обычной работе SPC в агенде, если нужно дойти до меню выбора файла, выхода и прочего без выхода из агенды?









 ,








И это всё МОЁ

Всем привет.


Нужно ротировать логи каждый час.


Сделал так:


/usr/local/mgr5/var/acctstat.log
/usr/local/mgr5/var/backup2_cp.log
/usr/local/mgr5/var/backup2.log
/usr/local/mgr5/var/backup2_system.log
/usr/local/mgr5/var/core_acme_sh.log
/usr/local/mgr5/var/core.auth.log
/usr/local/mgr5/var/core.log
/usr/local/mgr5/var/core.long.log
/usr/local/mgr5/var/dkimkeyfix.log
/usr/local/mgr5/var/expire_logs_value
/usr/local/mgr5/var/filemgr.log
/usr/local/mgr5/var/globalindex.log
/usr/local/mgr5/var/ihttpd.log
/usr/local/mgr5/var/ispmgr.auth.log
/usr/local/mgr5/var/ispmgr.log
/usr/local/mgr5/var/ispmgr.long.log
/usr/local/mgr5/var/ispmgrnode.auth.log
/usr/local/mgr5/var/ispmgrnode.log
/usr/local/mgr5/var/ispmgrnode.long.log
/usr/local/mgr5/var/ispmgrstat.log
/usr/local/mgr5/var/licctl.log
/usr/local/mgr5/var/longtask.log
/usr/local/mgr5/var/mgrctl.log
/usr/local/mgr5/var/mysqlstat.log
/usr/local/mgr5/var/nginx.log
/usr/local/mgr5/var/nodesync_logs
/usr/local/mgr5/var/pkgcheck.log
/usr/local/mgr5/var/pkg.log
/usr/local/mgr5/var/srvmon.log
/usr/local/mgr5/var/traffstat.log
/usr/local/mgr5/var/upload.log
/usr/local/mgr5/var/usagestat.log
/usr/local/mgr5/var/xmlinstall.log
{
rotate 30
size=20M
missingok
notifempty
hourly
compress
olddir old_logs
delaycompress
create 0600 root root
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}


size=20M рассчитывается если в сумме все перечисленные сверху логи будут >20, то ротировать их или правило применяется к каждому логу? - например, если acctstat.log >20, а остальные <20, то ротировать только acctstat.log.









 








И это всё МОЁ

В рекламе этой широкоизвестной программы говорилось, что все заметки после смерти написания попадают в рай git.

Но я не нашел, где в UI MyTetra настраивается git-репозиторий.

$ find /home/user/.config/mytetra -type d -iname ".git"
$

На вкладке «Synchro» в опциях нет слова git.

И вообще, почему интерфейс английский?
Запускаю командой

$ LANG="ru_RU.utf8" mytetra

Когда программа свёрнута в трей, нажатие кнопок Alt-Ctrl-N не приводит к созданию новой заметки.
Вообще на клавиатуре ещё есть «лишние» кнопки, как повесить вызов создания новой заметки на одну из них?








 ,








И это всё МОЁ

Там теперь Мастера на Маргариту поменять можно.


Мне не предлагайте. Пишу с утюга.









 








И это всё МОЁ

Собирают статический бинарник nginx:

./configure --prefix=nginx-static --with-cc-opt="-static -static-libgcc" \
--with-ld-opt="-static" --with-cpu-opt=generic \
--with-mail --with-ipv6 --with-poll_module --with-select_module \
--with-select_module --with-poll_module \
--with-http_ssl_module --with-http_realip_module \
--with-http_addition_module --with-http_sub_module --with-http_dav_module \
--with-http_flv_module --with-http_mp4_module --with-http_gunzip_module \
--with-http_gzip_static_module --with-http_auth_request_module \
--with-http_random_index_module --with-http_secure_link_module \
--with-http_degradation_module --with-http_stub_status_module \
--with-mail --with-mail_ssl_module --with-openssl=./openssl-${OPENSSL_VERSION} \
--with-pcre=./pcre-${PCRE_VERSION}

и при сборке на Centos 6.10 получаю ошибку:

checking for OS
+ Linux 2.6.32-754.30.2.el6.x86_64 x86_64
checking for C compiler ... found
+ using GNU C compiler
+ gcc version: 4.4.7 20120313 (Red Hat 4.4.7-23) (GCC)
checking for gcc -pipe switch ... found
checking for --with-ld-opt="-static" ... not found
./configure: error: the invalid value in --with-ld-opt="-static"

Ошибка:

 cat autoconf.err 


----------------------------------------
checking for C compiler


----------------------------------------
checking for gcc -pipe switch


----------------------------------------
checking for --with-ld-opt="-static"

/usr/bin/ld: cannot find -lc
collect2: ld returned 1 exit status
----------

#include <sys/types.h>



int main(void) {
;
return 0;
}

----------
cc -static -static-libgcc -o objs/autotest objs/autotest.c -static
----------

Проблема в сборке только в Centos 6, к примеру, в Archlinux все собралось без проблем.

Я наверное туплю, но что тут не так?








 ,








И это всё МОЁ

В заброшенной угольной шахте в Арктике в слое вечной мерзлоты будет храниться 21 терабайт данных с кодом, говорится в заявлении крупнейшего веб-сервиса для хостинга GitHub.


Сотрудники компании записали информацию на 186 катушек пленки и поместили в хранилище Arctic Code Vault на глубине в сотни метров в горах на Шпицбергене. Предполагается, что предназначенный для будущих поколений архив пролежит там минимум тысячу лет. К нему прилагается специальное руководство для определения местоположения каждого проекта с объяснением, как восстановить данные.


Одна из катушек содержит работы для обеспечения детального понимания современных вычислений, современных разработок программного обеспечения, открытого исходного кода и его приложений, популярных языков программирования и прочее. «Это позволит наследникам архива лучше понять наш мир и его технологии и даже поможет воссоздать компьютеры, чтобы использовать архивированное программное обеспечение», — сказано в публикации.


В GitHub уточнили, что Arctic Code Vault — это часть другого, более крупного хранилища под названием «Арктический мировой архив», открытого в марте 2017 года для хранения бобин из разных стран. В другом хранилище неподалеку с 2008 года содержатся образцы растений.


https://github.blog/2020-07-16-github-archive-program-the-journey-of-the-worlds-open-source-code-to-the-arctic/