debian.pro
118 subscribers
6 photos
28 links
Download Telegram
to view and join the conversation
Следующая статья на d.pro? выбирайте.
Само собой, как обычно, всё максимально подробно и с пояснениями, сколько влезет.
Anonymous Poll
41%
production-ready elasticsearch
11%
Graphite на 10М+ сигналов в минуту за полчаса
4%
Кастомные проверки для haproxy
43%
Обновлённая статья по bridge-сетям для виртуализации.
Если вы пытаетесь настроить настроить переключение раскладки по капслоку и у вас ничего не выходит (в убунте вот не выходило), то закиньте примерно вот это в автостарт (после запуска иксов) любым способом:
/usr/bin/xmodmap -e 'keycode  66 = NoSymbol Caps_Lock'
/usr/bin/setxkbmap -option "grp:caps_toggle"


У меня это autorstart.sh в автостарте гнома прямо
Чтобы нормально пользоваться thinkpad-овским трекпойнтом в убунте и других дистрибутивах со зло*чим libinput из коробки, нужно сделать так:
$ cat /usr/share/X11/xorg.conf.d/80-trackpoint.conf
Section "InputClass"
Identifier "Trackpoint"
MatchProduct "Lenovo ThinkPad Compact USB Keyboard with TrackPoint"
Driver "evdev"
Option "Accel Speed" "1"
Option "ConstantDeceleration" ".5"
Option "Accel Profile" "flat"
Option "EmulateWheel" "true"
Option "EmulateWheelButton" "2"
Option "Emulate3Buttons" "false"
Option "XAxisMapping" "6 7"
Option "YAxisMapping" "4 5"
EndSection


Внешняя (старая 55Y9032) thinkpad клавиатура:
MatchProduct "Lenovo ThinkPad Compact USB Keyboard with TrackPoint"

Новая (которая slim):
MatchProduct "Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint"

Встроенный в thinkpad X1 gen4 трекпойнт:
MatchProduct "TPPS/2 IBM TrackPoint"

Названия девайсов можно посмотреть в
xinput list


Если по какой-то причине скролл по средней кнопке трекпойнта отвалился (или не включился, если вы вообще убрали libinput, это в следующем посте), то включить обратно можно так:
/usr/bin/xinput set-prop 'TPPS/2 IBM TrackPoint' "Evdev Wheel Emulation" 1
/usr/bin/xinput set-prop 'TPPS/2 IBM TrackPoint' "Evdev Wheel Emulation Button" 2
/usr/bin/xinput set-prop 'TPPS/2 IBM TrackPoint' "Evdev Wheel Emulation Timeout" 200
/usr/bin/xinput set-prop 'TPPS/2 IBM TrackPoint' "Evdev Wheel Emulation Axes" 6 7 4 5


Так же стоит предупредить, что если у вас новый ultraslim трекпойнт (узнаётся по признаку, что у него колпачки "ThinkPad Super Low Profile TrackPoint Cap" с маленькой дыркой) - выкиньте нахер это устройство, или как минимум не пользуйтесь на нём трекпойнтом. Во-первых, банально неудобно (там трекпойнт работает хуже, чем у dell-ов, у которых он сугубо для галочки), во-вторых могут начать болеть руки, если вы старпер. Такой точно в thinkpad x1 gen6 и дальше.
Вполне вероятна ситуация, в которой вас в принципе раздражает libinput. Эта говнина не учитывает физические особенности устройств ввода ("ой какой непонятный код, давайте выкинем", угу). Например, для трекпойнта это означает, что нет компенсации "отстрела" курсора в противоположную сторону, когда вы отпускаете стик. Дешевые мышки (абсолютно нормальные и исправные, когда вы используете evdev) колдоёбят курсором в разные стороны чуть ли не по полсантиметра.
В общем, нормально libinput у меня заработал только с лазерной M705 и новой G502 (да и то - у M705 уже изношено колесо и очень часто скролл срабатывал сам или просто не срабатывал, когда нужно).

Можно включить evdev взамен libinput для всех устройств ввода. Конфиг в убунте есть из коробки, но я не помню, откуда я его спёр и в каком виде он был изначально, поэтому даю целиком - пилите сами по вкусу. Для клавиатур, например, всё не так плохо выглядит.

$ cat /usr/share/X11/xorg.conf.d/10-evdev.conf
#
# Catch-all evdev loader for udev-based systems
# We don't simply match on any device since that also adds accelerometers
# and other devices that we don't really want to use. The list below
# matches everything but joysticks.

Section "InputClass"
Identifier "evdev pointer catchall"
MatchIsPointer "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
EndSection

Section "InputClass"
Identifier "evdev keyboard catchall"
MatchIsKeyboard "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
EndSection

Section "InputClass"
Identifier "evdev touchpad catchall"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
EndSection

Section "InputClass"
Identifier "evdev tablet catchall"
MatchIsTablet "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
EndSection

Section "InputClass"
Identifier "evdev touchscreen catchall"
MatchIsTouchscreen "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
EndSection
И, пожалуй, последняя полезняшка для десктопов (у меня заметки про десктоп кончились, угу), для тех, кто играет в steam-игры на убунте/дебиане.
Если игры в fullscreen-окне ведут себя странно (точно уже не помню как, но вроде они не разворачивались после альт-таба и сворачивались сразу, если подключено 2 монитора), то нужно в /etc/environment добавить такое:
export SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS=0

и перелогиниться в системе.

Нагуглилось с трудом, поэтому пусть полежит тут.
Почему я не очень верю в то, что "девопсом" может стать человек с личной жизнью и опытом работы менее 10 лет.
Если удобнее - https://roadmap.sh/devops вот ссылка.
Если вы, так же как и я, страдаете от слака, то вот вам нормальный консольный клиент к нему - https://github.com/wee-slack/wee-slack
(в отличии от остальных вариантов - этот работает, я проверил)
Нужно будет попросить владельца workspace добавить приложение только.

При этом не забудьте, что сам weechat достаточно гибко настраивается, и для него есть куча плагинов на почти любой вкус и цвет.
https://ar.al/2020/06/25/how-to-use-the-zoom-malware-safely-on-linux-if-you-absolutely-have-to/ - а вот здесь написано, как запускать zoom под linux-ом.
https://aur.archlinux.org/packages/zoom-firejail/ - у арча вообще всё просто.

Сам клиент зума, кстати, достаточно неплох в плане скорости работы (UX там так себе, но раз в час понажимать кнопки терпимо) - чай не слаковский тормолектрон. Но достаточно даже в strace глянуть, чтобы понять, что запускать его прямо в основной системе - так себе идея.
У меня есть примерно следующая конструкция:
- сервер за nat-ом (микротика, но не важно - но сам роутер тоже будет за натом вполне вероятно)
- этот сервер делает ssh host с port-forward (при этом активно используется GatewayPorts - порт становится доступным в локалке)
- ssh host - это на самом деле 2 docker контейнера на разных хостах
- между которыми настроен балансер на ssh в этих контейнерах
- особенность балансера - весь трафик идёт через ipip-туннель от сервера с адресом балансера до бэкэнда
- на хосте с докером на докеровском бридже хапрокси слушает тот самый порт, для которого я делаю forward
- хапрокси транслирует этот порт из докеровского v4 в ipv6 в сети (у самого контейнера нет доступа за пределы этого бриджа безопасности для)
- этот ipv6 на самом деле - тоже балансер (тоже ipip) над тремя машинами
- на этих трёх машинах и запущена софтина, которая слушает порт, который мне нужен на том самом первом сервере в локалке

А знаете почему вся эта байда сейчас не работает? Я забыл прописать доступы в софтине.
...
- Обновил debian.pro на последний WP
- Пришлось поменять почти все плагины на аналогичные (т.к. старые перестали работать)
- В очередной раз грохнул все аккаунты без комментариев (сорян, их там 10 тысяч было опять, старая капча на регистрацию где-то по дороге года 3 назад опять отвалилась)
- Пришлось удалить все подписки на комментарии в почту (опять же, из-за того, что плагин поменялся) - зато теперь можно подписаться без комментария
- сделал шрифт в статьях побольше
- чуть-чуть местами починил верстку
- сделал очередную страницу-заготовку под навигацию (накидайте, кстати, что туда можно вписать), заодно и менюшку смогу теперь менять
- есть "проблемы" с регистрацией - так и задумано, там на форме невидимая капча, пожмякайте посильнее.

Ну и ещё разок спасибо Антону - он спас задницу всем старым статьям ;) Гугл не помог.

В общем, если что-то где-то на сайте сломано - не поленитесь в меня написать (@inkvizitor68sl) или в чатик https://t.me/debian_pro_chat

Пойду посплю и статью небольшую попробую организовать
В этом году я уже написал на одну полезную статью больше, чем в прошлом.

В общем, если хочется OpenVPN-сервер с вебмордой или просто по-быстрому поднять VPN-сервер, то "вот, я сделяль" - https://debian.pro/2965
Там про pritunl статейка
Новая мобильная верстка на debian.pro?
(старую можно увидеть с галкой "версия для ПК" в мобильном браузере)
Anonymous Poll
74%
Збс, оставляй
26%
В пень, сожги и верни всё как было.
https://yandex.ru/jobs/vacancies/dev/dev_infrastructure/
если вы админ, который выучил python, хочет уйти в разработку и не хочет работать джуном - вакансия для вас =)
Пишем сервисы вокруг железа для девопсов/админов, нужен админский опыт в качестве "предметной области"

Но и питонисты, которые хотят поковыряться в железках и около того, тоже приходите, конечно же.

Передовое железо (буквально железо из будущего ;) ), куча автоматики, наливалки, железные мониторинги и вот это вот всё.

лайк/share/retweet, вот это всё
в копилку полезных ссылок - https://ihateregex.io/
https://ihateregex.io/playground/ - можно тестить регулярки
есть приличный набор готовых, в поиск повбивайте случайные буквы
:~# dpkg --compare-versions 0.5~ubuntu1 gt 0.5 ; echo $?
1
:~# dpkg --compare-versions 0.5~ubuntu1 eq 0.5 ; echo $?
1
:~# dpkg --compare-versions 0.5~ubuntu1 lt 0.5 ; echo $?
0
:~# dpkg --compare-versions 0.5.1~ubuntu2 gt 0.5 ; echo $?
0

интересненько, бл*т...
говорят, что это логично, но как бы теперь эту логику запомнить
Когда-то давным давно я решил потыкаться по закладкам - и тут оказалось, что более половины закладок уже ведут в /dev/null.

С тех пор я стал не сохранять закладки, а сохранять страницы целиком. И искать удобно, и не удалятся никуда (все же рабочие машинки бэкапят?).

Но сохранять страницы тупо через wget -rck, или через ctrl-s в браузере - не очень удобно потом их открывать. Намного лучше сохранять всю страницу в один файл - вместе с картинками, скриптами и прочим. Вот вам несколько способов сделать это.

Первый способ и самый простой - расширение https://github.com/gildas-lormeau/SingleFile для браузера. Но способ не самый удобный - нужно открывать страницу в порно-режиме (иначе страница сохранится с данными об авторизации), жать кнопочки и так далее.

Второй способ - https://github.com/zTrix/webpage2html#webpage2html
Ставим:
sudo apt-get install python3-bs4 python3-termcolor; git clone https://github.com/zTrix/webpage2html; cd webpage2html
Запускаем (само собой удобнее потом просто создать алиас):
python webpage2html.py -s "https://some_url" > ~/Downloads/page.html
Сохраняет в том числе и достаточно сложные страницы (например, я смог какой-то pomodoro веб-таймер сохранить одним файлом и запустить локально). Но долго - ибо в один поток.

Третий способ - https://github.com/Y2Z/monolith
Из минусов - ставится долго, ибо cargo компилирует 200+ пакетов-зависимостей на rust-е.
Ну можно поставить из snap (snap install monolith), если вам наплевать на предрассудки или у вас убунта.
Ставим:
sudo apt-get install cargo openssl-dev; cargo install monolith
Запускаем:
~/.cargo/bin/monolith https://some_url -o Downloads/file.html
Сохраняет больше всякого разного (браузеру потом такие html-ки тяжело открывать даже), но имеет тонну опций, на тему того, что пропустить (например, -F не сохраняет шрифты - они обычно не нужны, а их много).
Из плюсов - сохраняет всё же быстрее, чем скрипт выше.

Ну а как разложить html-ки по папкам и искать по ним - разберетесь, думаю =)

Понятно, что есть ещё миллион вариантов, просто я этими пользуюсь
у меня сейчас не настолько много времени, чтобы тестировать каждую штуковину, встреченную в интернете.
Поэтому просто ссылочка - https://vanillastack.io/this-is-vanillastack

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