commit -m "better"
2.96K subscribers
870 photos
105 videos
3 files
2.08K links
just random thoughts
Download Telegram
commit -m "better"
Как говорится, доверяй, но проверяй! Я тут, случайно, в выводе pstree увидел красивое: flock---unbound Глаз за это зацепился, потому что я сразу подумал, что тут что-то не то, дерево процессов должно было выглядеть так: flock---timeout---unbound Ну,…
#unbound #musl #dns #dnsmasq

Перешел с unbound на dnsmasq, по советам коллег.

(да, я понимаю, что это продукты несколько разных масштабов, потому что unbound - настоящий рекурсивный dns resolver, а dnsmasq - "просто" кеширующая прокся (+dhcp +говна самовар), я их использовал для одного и того же)

pg# ls -la /ix/.../bin/unbound 
... 5683992 unbound
pg# ls -al /ix/.../bin/dnsmasq
... 2948464 dnsmasq

dnsmasq (вроде) не виснет, и весит меньше.

Заодно сделал использование локального кешера обязательным, потому что musl без этого так себе работает - https://wiki.musl-libc.org/functional-differences-from-glibc.html#Name-Resolver/DNS, а люди потом жалуются на alpine - https://martinheinz.dev/blog/92

Коллеги посоветовали посмотреть в сторону #systemd-resolvd, но, КМК, они так шутят, потому что, будучи статически слинкованным, он будет под сотню мегабайт весить, наверное.
👍6🤔2🔥1
#rant

Я тут ускоряю локальный #dns #resolver #dnsmasq, раз уж у меня дошли до него руки.

В процессе мне понадобилась тулза dig.

Ну и, конечно, при первом запуске оно сегфолтнуло, вот с таким вот стеком:

Program received signal SIGSEGV, Segmentation fault.
0x0000000000b568b0 in isc.trampoline_get ()
(gdb) bt
#0 0x0000000000b568b0 in isc.trampoline_get ()
#1 0x0000000000b4fb04 in isc_thread_create ()
#2 0x0000000000b25280 in isc.netmgr_create ()
#3 0x0000000000b44a84 in isc_managers_create ()
#4 0x0000000000b1d9d6 in setup_libs ()
#5 0x0000000000b1545a in dig_setup ()
#6 0x0000000000b1a54d in main ()

Слушайте, я сел, и заплакал.

Ну вот какая в жопу точка в имени функции в C? Как это грепать в исходниках-то?

Так-то я тоже так умею, но я же не хвастаюсь этим направо-налево, и, тем более, не качу такое в прод:

Reading symbols from ./a.out...
(No debugging symbols found in ./a.out)
(gdb) b жопа#кеды%гладиолус
Breakpoint 1 at 0x201244
(gdb) r
Starting program: /home/pg/a.out

Breakpoint 1, 0x0000000000201244 in жопа#кеды%гладиолус ()
(gdb)

Разбираться я не стал, обновил версию bind до более свежей, оно как-то прошло "само".
😁22🤡5👍2😱1