amarao: (Default)
LD_DEBUG=all /bin/true

vs

LD_DEBUG=all sudo -s


Почему sudo не выводит ничего? Каким образом sudo отключает отладку линкера?


... пока писал, догадался. LD_DEBUG игнорируется для suid'ов.

LD_DEBUG=all ping ведёт себя так же как LD_DEBUG=all sudo.
amarao: (Default)
Продолжаю инвестировать время в основы. Принял статегическое решение заняться tmux'ом (вместо терминатора), потому что это открывает дорогу к быстрым терминалкам без фич.

Пока что не решён вопрос, что делать с активным/неактивным pane'ом. У terminator'а чуть-чуть менялась гамма и активный был контрастным. tmux рисует рамочку, но её плохо видно (да и не надо ярче), и не совсем решён вопрос с многострочным выделением из pane'а (мне tmux selection очень не нравится). Частично решается с помощью zoom out/zoom in и нормального выделения между ними.
amarao: (Default)

Just умеет shebang'и на таргет. Это позволяет запустить таргет под указанным интерпретатором.

А parallel умеет --shebang режим.

Смотрите на эту красоту!

foo:
    #!/usr/bin/parallel  --shebang
    sleep 3 && echo 3
    sleep 2 && echo 2
    sleep 1 && echo 1
    echo now

У меня мой личный праздник, я обнаружил, что мои инструменты ЕЩЁ лучше, чем я думал, и они позволяют легко делать сложное.

ifupdown

Mar. 17th, 2023 05:22 pm
amarao: (Default)
При всей моей любви к дебиану, ifupdown - ужасен. Порождение эпохи перла, garbage in garbage out (где под garbage подразумевается любое неожиданное для ifupdown состояние системы).

Да, там есть масса интересных трюков, но они очень шаткие.

Я окончательно для себя закопал ifupdown. Я его терплю на существующих системах для дефолтных настроек (от провайдера), но всё новое интересное я буду делать только через networkctl. (Я про сервера, вбить пароль в wifi на ноуте всё равно проще в гуе).

Пока что из всех конфигураторов сети (netplan, network scripts, ifupdown, network manager, systemd-networkd), именно systemd-networkd обладает наибольшей адекватностью (то есть а) правильно реагировать на неожиданное, б) не пытаться пушать полиси на пользователя в) не содержать в себе идиотских багов).

Пример идиотского бага: если на хосте есть ovs, но он в mask (то есть отключен), то netplan падает, даже если на хосте нет ни одного бриджа. Почему? Потому что надо посмотреть на бриджи. Почему? Ну ovs же стоит! Значит надо бриджи.
amarao: (Default)
ip rule применяются в порядке приоритета. Если приоритет не задан явно, он задаётся как-то, а как именно - не важно, но будут глюки. Задавайте приоритет явно.
amarao: (Default)
Я думаю, все знают, что есть Ctrl-L для очистки терминала. Но есть ещё комбинация Esc Ctrl-L, которая очищает не только экран, но и буффер терминала. Считай, тот же reset, но быстрее.


//случайно вчитался в ман к readline.
amarao: (Default)
У моего ноута подозрительно большой срок жизни от батарейки в активном режиме, и подозрительно маленький - в suspend. Он настолько подозрительно маленький, что сутки в suspend полностью съедают батарейку. Это странно.

И тут интернеты подсказали про /sys/power/mem_sleep да, там s2idle. А надо deep. Вот проснётся ли он после этого или нет - не знаю, но пока что решение выглядит подозрительно просто.

UPD: resume переживает. Смотрю какой выхлоп будет, если хороший, буду персистить. А в идеале надо будет покопать в эту штуку и выяснить почему этого нет по-умолчанию и что именно происходит.

UPD2: И оно работает, за ночь потерял порядка 5% или меньше. Ща буду персистить.
https://github.com/amarao/home/commit/67df25700a4ac3b6bc44ffbbfd39fdfc58e9046a
amarao: (Default)
Вот есть у меня файл /etc/default/grub.d/unified.cfg для включения unified cgroups для systemd.

А вот вопрос (ответ на который я хорошо знаю, но существование которого всё равно показывает проблему): почему этот конфиг лежит в /etc/default, а не /etc/grub.d/?

И ведь на каждом шаге решение было логичным, вроде бы. Но что-то пошло не так.

Например, являются ли файлами конфигурации /etc/grub.d?

Я утверждаю, что нет. Потому что там (в 00_header) прямо написано

# grub-mkconfig helper script.
# Copyright (C) 2006,2007,2008,2009,2010  Free Software Foundation, Inc.


А если это технический скрипт, то почему он не лежит в /usr/lib? Инерция сознания. Ведь это "конфиги граба". Хотя на самом деле истинные конфиги граба лежат в /boot/grub/grub.cfg, но это не истинное место для редактирования настроек.

А истинное - в /etc/default, которое, традиционно, было микропомоечкой для параметров sysv-init скриптов, которые админы могли изменить. ..Потому что /etc/rc* тоже не были конфигами, а были скриптами, к которым нужны были параметры.

Так что параметры grub'а лежат в /etc/default, потому что его скрипты лежат в /etc/grub. Логично? Логично. Не логично.

Сравните с это с волевым решением systemd, у которого _НЕ_ конфиги лежат в /lib/systemd/system. А вот _КОНФИГИ_ (практические такие же, как и не-конфиги) лежат в /etc/systemd.

Т.е. Поттеринга можно сильно не любить за его стиль общения, но оцените степень продуманности и волю к реализации. Сломать вот эту вот говнистую дуальность "конфиг-но-не-конфиг", которая десятилетиями обиталась в /etc, и заявить, что некоторые, формально, конфиги, это не конфиги, а куски софта. А конфиги - это то, что админы пишут руками или софтом для конфигурации.

А пока у людей такой воли нет, им приходится плодить .d (!!!!) в /etc/default.

Profile

amarao: (Default)
amarao

September 2025

S M T W T F S
 12345 6
78 910111213
14151617181920
21222324252627
282930    

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 16th, 2025 05:42 am
Powered by Dreamwidth Studios