ch
Feedback

不要被骗子欺骗!Telemetrio 会找到并标记这些频道 👉 如果想查看标记,请订阅

Bash Days | Linux | DevOps

Bash Days | Linux | DevOps

前往频道在 Telegram

Авторский блог от действующего девопса Самобытно про разработку, devops, linux, скрипты, сисадминство, техдирство и за айтишную жизу. Автор: Роман Шубин Реклама: @maxgrue MAX: https://max.ru/bashdays Курс: @tormozilla_bot Блог: https://bashdays.ru

显示更多

📈 Telegram 频道 Bash Days | Linux | DevOps 的分析概览

频道 Bash Days | Linux | DevOps (@bashdays) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 23 601 名订阅者,在 技术与应用 类别中位列第 5 637,并在 俄罗斯 地区排名第 27 673 位。

📊 受众指标与增长动态

自 невідомо 创建以来,项目保持高速增长,吸引了 23 601 名订阅者。

根据 11 十一月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -25,过去 24 小时变化为 -10,整体触达仍然可观。

  • 认证状态: 未认证
  • 互动率 (ER): 平均受众互动率为 19.66%。内容发布后 24 小时内通常能获得 10.72% 的反应,占订阅者总量。
  • 帖子覆盖: 每篇帖子平均可获得 4 642 次浏览,首日通常累积 2 532 次浏览。
  • 互动与反馈: 受众积极参与,单帖平均反应数为 16。
  • 主题关注点: 内容集中在 bashdays, linux, bash, docker, скрипт 等核心主题上。

📝 描述与内容策略

作者将该频道定位为表达主观观点的平台:
“Авторский блог от действующего девопса Самобытно про разработку, devops, linux, скрипты, сисадминство, техдирство и за айтишную жизу. Автор: Роман Шубин Реклама: @maxgrue MAX: https://max.ru/bashdays Курс: @tormozilla_bot Блог: https://bashdays.r...”

凭借高频更新(最新数据采集于 12 十一月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。

23 601
订阅者
-1024 小时
-157 天
-2530 天
帖子存档
⚡️Всероссийский Хакатон ФИЦ 2024 🚀Попробуйте себя в одном из предложенных кейсов: 1. Семантический делитель текстов: Разрабо
⚡️Всероссийский Хакатон ФИЦ 2024 🚀Попробуйте себя в одном из предложенных кейсов: 1. Семантический делитель текстов: Разработать алгоритм, который сможет обеспечить точное разделение текста на блоки в рамках произвольно заданных ограничений размера блока. 2. Контекстный перевод названий научных работ: Разработать и реализовать переводчик, который будет переводить названия научных работ с русского на английский. 3. Прогнозирование бизнес драйверов: Разработать решение для задачи прогнозирования временных рядов бизнес-драйверов и произвести прогноз на следующий календарный месяц. 4. Система контроля и управления доступом: Разработка системы контроля и управления доступом в реальном времени. Система будет включать API для управления сотрудниками, точками доступа и интеграцию с системой видеонаблюдения. И другие 16 кейсов смотрите на сайте: https://фиц2024.рф/hackathon Хакатон пройдет в 2 этапа: Отборочный этап в Онлайн, Финал в Офлайн. 🏆Призовой фонд: 6 000 000 руб. 🔥Дедлайн регистрации: 26 ноября, 23:59 📅Даты отборочного этапа: 29 ноября - 2 декабря 🦾Даты финала: 3 - 4 декабря Зарегистрируйтесь для участия в хакатоне: https://фиц2024.рф/hackathon Реклама. ООО "Акселератор возможностей". ИНН: 9704005146, erid:2Vtzqx7uLUP

Вчерашний медведь прям в тренды залетел, издеваться над ним больше не будем, пусть ковыляет своей дорогой. ㅤ Сегодня рассмотрим утилиту vlock. Устанавливается так: apt install vlock Vlock блокирует виртуальную консоль/ли и требует ввода пароля. Короче сидишь ты такой, на ascii картинки рукоблудишь в терминале, заходит мамка и ты такой — vlock бля! Консоль моментально превращается в сообщение — This TTY is now locked. Please press [ENTER] to unlock. Вот и всё! Это типа WIN+L или как там на маках CMD+CTRL+Q, но только для консоли. Локскрин! На случай если у тебя иксов нет, или ты в серверной живешь.
А чем отличается консоль от терминала я писал в этом посте и да, это не одно и тоже!
Чо там этот vlock умеет? Основное:
-c lock only this virtual console, allowing user to switch to other virtual consoles. -a lock all virtual consoles by preventing other users from switching virtual consoles. -n allocate a new virtual console before locking,implies --all. -s disable SysRq while consoles are locked to prevent killing vlock with SAK -t run screen saver plugins after the given amount of time.
🅰️🅰️ Из сочного тут -s отключает сочетания клавиш SysRq, лично не проверял, но будем верить что если на заборе написано — хуй, значит он там есть. 🅰️🅰️
Про Magic SysRq писал тут, обязательно почитай, тема довольно пиздата.
А еще прикол обнаружил в vlock, что если у тебя авторизация (аутентификация) по ключам, то пароль от юзера или рута ты никогда не вспомнишь. Аксиома! Ну и получается разблокировать сеанс уже никак не сможешь. Поэтому с этим поаккуратнее, сначала вспоминай пароли и лишь только потом запускай этот скринлокер. ХЗ кто этой байдой пользуется, но она существует и о ней порой говорят в англоязычном сегменте. Короче я показал, ты почитал. На этом и закончим. Мож где-то пригодится. Давай краба! tags: #utilites #linux — 🔔 @bashdays➡️ @gitgate

⚡Как получить миллион на перенос IT-инфраструктуры? Ищите ответ в официальном канале Selectel. Там регулярно публикуются ново
⚡Как получить миллион на перенос IT-инфраструктуры?   Ищите ответ в официальном канале Selectel. Там регулярно публикуются новости об акциях и полезные материалы об IT.

Не одевай 3.14зду в лапти, она и так смешная ㅤ Такс, давай покончим с сигналами реального времени (СРВ) и выйдем на новый уровень написания Bash скриптов, мыж с тобой уже взрослые. Вчера мы выяснили СРВ имеют условный индекс 34-64 (в разных дистрибутивах может быть по-разному, проверяй) Где их применять? Давай глянем на примере. СИшкой задрачивать не буду, перепишем на Bash.
Задача: у меня есть серверный процесс, который должен получить уведомление от клиента с некоторыми данными (например, номер задачи). Вместо передачи данных через файлы или другие средства, нужно использовать сигналы реального времени.
Сначала будет нихуя не понятно, но под конец я тебе всё разжую. Не переживай, тут все просто. Поймешь суть, сможешь реализовать на любом языке программирования. Пишем сервер signal_listener.sh
#!/bin/bash

handle_signal() {
    echo "Получен сигнал $1"
    echo "Переданные данные: $2"
}

trap 'handle_signal SIGRTMIN+0 "Task 1 выполнена"' RTMIN+0
trap 'handle_signal SIGRTMIN+1 "Task 2 выполнена"' RTMIN+1

echo "Слушатель запущен. PID: $$"
echo "Ожидаем сигналы..."

while true; do
    sleep 1
done
Пишем клиент signal_sender.sh

#!/bin/bash

if [ $# -ne 2 ]; then
    echo "Использование: $0 <PID> <TASK>"
    echo "TASK может быть 1 или 2"
    exit 1
fi

PID=$1
TASK=$2

if [ "$TASK" -eq 1 ]; then
    kill -RTMIN+0 $PID
    echo "Отправлен сигнал SIGRTMIN+0 (Task 1) процессу с PID $PID"
elif [ "$TASK" -eq 2 ]; then
    kill -RTMIN+1 $PID
    echo "Отправлен сигнал SIGRTMIN+1 (Task 2) процессу с PID $PID"
else
    echo "Ошибка: TASK должен быть 1 или 2"
    exit 1
fi
trap = перехватываем сигналы, для СРВ пишем: RTMIN+0 и RTMIN+1 kill -RTMIN+N = отправляет СРВ. Номер сигнала (например, RTMIN+0) задаёт, какой именно сигнал будет обработан.
chmod +x signal_listener.sh signal_sender.sh
Запускаем первый скрипт, видим его PID:
Слушатель запущен. PID: 20821
Во втором терминале запускаем второй скрипт:
./signal_sender.sh 20821 1

Отправлен сигнал SIGRTMIN+0 (Task 1) процессу с PID 20821
Не забываем подставить PID, который выдал первый скрипт. После отправки СРВ, в терминале где запускали первый скрипт видим:
Получен сигнал SIGRTMIN+0
Переданные данные: Task 1 выполнена
Вот это нихуя се! То есть signal_sender подключился к процессу 20821 и передал в него данные. В нашем случае данные это 1 или 2. А скрипт signal_listener успешно это схавал и переварил исходя из логики.
Использование СРВ открывает ОГРОМНЫЕ возможности, чтобы несколько скриптов или приложений взаимодействовали друг с другом на низких уровнях не использую велосипеды и прокладки.
А когда какой сигнал использовать? Хе… 34-64… Если у тебя не сложная логика, можешь использовать любой индекс в этом диапазоне. Но если логика совсем ебанутая, то логичнее использовать СРВ с разными индексами для передачи данных. Например, тебе нужно обрабатывать разные типа событий. В этом случае проще разделить их на разные сигналы. Типа такого:
SIGRTMIN+0 (34): "Начать обработку данных"
SIGRTMIN+1 (35): "Обновить конфигурацию"
SIGRTMIN+2 (36): "Выебать медведя в жопу"
SIGRTMIN+3 (37): "Остановить обработку данных"
Это избавляет от необходимости декодировать данные внутри обработчика, потому что обработка сразу зависит от типа сигнала. А можно обрабатывать в порядке приоритета. СРВ обрабатываются в порядке их номеров (от SIGRTMIN к SIGRTMAX). Это заебись если у тебя задачи с разным приоритетом.
SIGRTMIN+0: Высший приоритет (аварийная задача)
SIGRTMIN+1: Средний приоритет (регулярные уведомления)
SIGRTMIN+2: Низший приоритет (обновление статистики)
Если сигналы поступают одновременно, сначала обработается SIGRTMIN+0, потом SIGRTMIN+1 и т.д. Важно! Использование одного СРВ может привести к переполнению и перезаписи очереди. Имей это ввиду. Потому, что с этим часто ловят багу и потом неделю не могут понять в чем причина. Иногда пишут что СРВ не теряются, но практика показывает обратное. Если что-то еще вспомню, накидаю отдельным постом. Удачи тебе и береги себя!
про сигналы писал ранее тут и тут и тут и тут
tags: #linux — 🔔 @bashdays➡️ @gitgate

Умножаем любовь к математике, чтобы разделить ее с вами ИТ-специалисты, слышали, скоро День математика? 1 декабря пройдут гла
Умножаем любовь к математике, чтобы разделить ее с вами ИТ-специалисты, слышали, скоро День математика? 1 декабря пройдут главные онлайн-события мероприятия: доклады от профессоров математики из МФТИ, ВШЭ и ЦУ и математический диктант. Хорошая возможность пообщаться с единомышленниками и просто классно провести время. А пока ждете праздника, банк подготовил активности на весь месяц. Будут лекции и многое другое. Выбирайте на сайте, что нравится больше. И регистрируйтесь, чтобы ничего не пропустить

Если взглянуть на картинку выше, то в этом списке ты не найдешь сигналов с номером 32 и 33. Список сформирован командой kill
Если взглянуть на картинку выше, то в этом списке ты не найдешь сигналов с номером 32 и 33. Список сформирован командой kill -l. И куда же блядь эти сигналы делись? А всё просто, сигналы с номерами 32 и 33 в современных линукс дистрибутивах зарезервированы для использования библиотекой glibc. И используются для реализации механизма потоков (threads). Исходник glibc где он резервирует эти сигналы. Можешь увидеть что они будут не обязательно 32 и 33.
22 static int current_rtmin = __SIGRTMIN + 2;
23 static int current_rtmax = __SIGRTMAX;
Один из сигналов может быть использован для внутренних коммуникаций между потоками. Второй может служить для управления потоками на уровне ядра. Сигналы же начинающиеся с номера 34 называются — сигналами реального времени. Более подробно про сигналы реального времени можешь почитать тут. Если попытаться отправить сигнал 32 или 33 вручную процессу, то получишь хуй с маслом. Ядро эти сигналы обрабатывать не будет. Потому что даже ядро не имеет к этим сигналам никакого отношения. А вмешиваться в потоки glibc тебе никто не даст, чтобы ты письку себе случайно не оторвал.
kill -32 10929

Unknown signal 32
Чтобы убедиться что сигнал 32 и 33 не являются сигналами реального времени, можно написать такой тест:
#include <stdio.h>
#include <signal.h>

int main() {
    printf("SIGRTMIN: %d\n", SIGRTMIN);
    printf("SIGRTMAX: %d\n", SIGRTMAX);
    return 0;
}
Скомпилировать и запустить:
gcc -o signals signals.c
./signals
В ответ ты получишь что-то подобное:
SIGRTMIN: 34
SIGRTMAX: 64
Test Passed! Сигналы реального времени начинаются с 34. Но опять же не факт, что в твоём дистрибутиве будет так же. Мож ты всё еще на Slackware сидишь. А нахуя нужны сигналы реального времени? Давай лучше завтра, сегодня мы разбирались куда делись сигналы 32 и 33. Не хочу раздувать этот пост и пугать тебя раньше времени СИськастым кодом. Увидимся!
про сигналы писал ранее тут и тут и тут
tags: #linux — 🔔 @bashdays➡️ @gitgate

Приглашаем разработчиков и всех, кто интересуется облачными технологиями, на митап по Go от MWS. Расскажем, как мы строим обл
Приглашаем разработчиков и всех, кто интересуется облачными технологиями, на митап по Go от MWS. Расскажем, как мы строим облачную платформу с нуля и какие технологии используем. Когда: 22 ноября, 18:00 Где: кинотеатр «Победа», ул. Ленина, 7, г. Новосибирск В программе: — Биллинг в облаке: опыт MWS и решение проблем миграции в продакшене — Тестирование Managed Kubernetes: от основ до продвинутых практик с Ginkgo — EBPF & Go: как писать код для ядра безопасно Встречаемся в кинотеатре. После докладов вас ждут общение в неформальной обстановке, напитки и еда. Регистрируйтесь по ссылке.

Всем привет. Опять в чате заговорили про СХД и кое-то вспомнилось. Когда-то я занимался вопросом выбора дисков для серверов и мне стало интересно, почему диски для корпоративных систем стоят так дорого? ㅤ Начал читать статьи и сравнивать характеристики. Нашел старую статью, где говорилось, что один инфогигант в рейдах использует диски wd-blue, мол так дешевле получается. Да, дешевле. Но при этом нужно отдавать себе отчет, что ты делаешь, как и к чему это может привести. Для начала сравним ОДИН параметр нескольких ssd и hdd дисков: Конкретно Неисправимых ошибок чтения/прочитанных бит.
sata hdd wd-blue 1Tb (WD10EZEX)=1 ошибка на 1E14 бит sata hdd wd-gold 1 Tb(WD1005FBYZ)=1 ошибка на 1E15 бит sas hdd Toshiba 900 Гб (AL15SEB090N) 10 ошибок на 1E17 бит sata ssd Micron 960 Гб (MTFDDAK960TDS-1AW1ZABYY)1 ошибка на 1E17бит
Данные брал с сайта одной компьютерной компании с синим логотипом, отличающейся классной технической грамотностью. Короче, вероятность считать битый шифрованный архив с WD-GOLD в 10 раз меньше, чем с WD-BLUE и в 100 раз c Toshiba, и в 1000 раз меньше с ssd Micron. Хочу так же обратить внимание на Проникновение долбанных маркетологов Toshiba в тех. описание. 10 ошибок на 1E17 бит РАВНО 1 ошибок на 1E16 бит. А еще, приличные производители sas-дисков честно говорят о зафиксированных ошибках. Информацию можно глянуть командой из пакета smartmontools
sudo smartctl -a /dev/sdXX

#смотреть после Error
Конечно, для хранения можно использовать и wd-blue, но только с применением специальных файловых систем с контрольными суммами, или применением форматов хранения файлов с избыточностью (типа платный rar). Кстати, не все рейды справятся с такой ошибкой. Большинство рейдов (0,1,5,10) защищают от поломки диска, но не от неправильного чтения. 6 - вроде бы считает контрольные суммы для каждой записи и корректирует, если что (поправьте если не прав). Ну, и рейдовые zfs решают проблемы, поскольку содержат контрольные суммы файлов. В комментах было бы интересно почитать, кто какие диски использует и какие меры применяет, чтобы считывать именно ту информацию, которую записываешь. tags: #hardware © by Tagd Tagd — 🔔 @bashdays➡️ @gitgate

Как построить облако с нуля? Узнайте от разработчиков новой облачной платформы MWS. MWS запускает реалити-проект Building the
Как построить облако с нуля? Узнайте от разработчиков новой облачной платформы MWS. MWS запускает реалити-проект Building the Cloud о создании новой публичной облачной платформы. В прямом эфире наши эксперты и инженеры раскрывают закулисье облачной разработки, делятся уникальным опытом и отвечают на вопросы. В первом выпуске расскажем о сердце облака — сервисе Compute. О чём поговорим: ● Зачем мы строим новое публичное облако MWS ● Как устроена архитектура сервиса Compute в новой платформе MWS ● Что происходит «под капотом» облака, когда создаётся виртуальная машина ● Расскажем о планах и роудмапе новой платформы Приглашаем разработчиков и профессионалов облачного рынка! Задайте свои вопросы разработчикам нового облака MWS и узнайте всё из первых рук. 📅 Дата: 20 ноября 2024, 11:00 👉 Регистрируйтесь сейчас, чтобы не пропустить эфир

Многие догадываются, а некоторые точно знают на каких онлайн-сервисах можно посмотреть принадлежность домена или IP организации. Я для этого использую программу whois.
apt install whois
whois 164.92.216.105
Использовать whois в скриптах не рекомендую, потому что для этого, во-первых, есть специальные базы, а во вторых - забанят. ㅤ Поверьте, я знаю о чем говорю. И иногда бывает так, настроение утром испорчено, и какой-то хостер тебя ну совсем задолбал и хочется просто взять и забанить его целиком, смотрим вывод:
NetRange:164.92.64.0 - 164.92.255.255
CIDR:164.92.128.0/17, 164.92.64.0/18
Во, здесь повезло заполнено поле CIDR. Можно забанить 164.92.128.0/17 и 164.92.64.0/18 и все будет хорошо, но так бывает не всегда.
whois 114.199.33.115
inetnum: 114.199.0.0 - 114.199.63.255
Поле CIDR отсутствует, есть только inetnum: И то хлеб. Как преобразовать NetRange или inetnum в формат CIDR, ведь iptables не понимает диапазоны ip адресов. Ему подсети подавай (CIDR). Для этого воспользуемся калькулятором ipcalc. Вообще-то я предпочитаю sipcalc, потому что он бинарный и работает быстрее, но функции разбивки диапазона ip адресов у него нет. Что-то я отвлекся.
apt install ipcalc
ipcalc -r 164.92.64.0 - 164.92.255.255

#вывод
deaggregate 164.92.64.0 - 164.92.255.255
164.92.64.0/18
164.92.128.0/17

ipcalc -r 114.199.0.0 - 114.199.63.255

# вывод
deaggregate 114.199.0.0 - 114.199.63.255
114.199.0.0/18
Итого: с помощью ipcalc -r можно разбить любой непрерывный, даже самый безумный, диапазон ip адресов на подсети в формате CIDR, и количество этих подсетей будет не более 32. В качестве поиграться предлагаю разбить диапазоны 127.0.0.1-192.168.1.1 или 0.0.0.1-255.255.255.254 Вот только банить их не нужно. А вот разбивать диапазон 0.0.0.0 255.255.255.255 не рекомендую, а почему не скажу. Кто еще какими сетевыми калькуляторами пользуется? man whois man ipcalc tags: #networks © by Tagd Tagd — 🔔 @bashdays➡️ @gitgate

С пятницей друзья! Пицца ёпта! #pizza Вопрос: какая фигура должна быть в начале этого ряда?
С пятницей друзья! Пицца ёпта! #pizza Вопрос: какая фигура должна быть в начале этого ряда?

После моей статьи в чате началось активное обсуждение, в простонародье именуемое как срач. ㅤ Могут ли быть маски подсети /32 или /31? Я не буду много рассказывать про маски, кому интересно, гляньте в википедии. Мы же остановимся только на масках подсетей /32 /31, потому что они являются исключением из правил. Физические сети, построенные с этими масками не могут иметь широковещательного адреса. Но это не значит, что данные МАСКИ нельзя использовать. Да, данные маски нельзя использовать для построения классических сетей (хотя здесь говорят, что /31 - можно), и некоторые маршрутизаторы не дадут этого сделать. Но данные маски вполне могут (а иногда должны) быть использованы для для разбиения ЛЮБОГО непрерывного диапазона ip на записи в формате CIDR. И без масок /31 /32 этот ряд будет не полным. Мало того, iptables использует только нотацию CIDR. Например, подсеть /32 задает отдельный ip, поэтому правила, содержащие одиночный адрес, задаются с маской /32, даже если вы это не указали. (192.168.0.1=192.168.0.1/32) Маска 31 - задает два рядом стоящих ip и позволяет уменьшить количество записей, увеличив скорость. Но не любые соседние ip могут быть объединены этой маской, а только отличающихся последним битом, Например: 192.168.0.1 и 192.168.0.0 можно объединить в 192.168.0.0/31, а 192.168.0.1 и 192.168.0.2 - нельзя. Ну и теперь посмотрим, что об этой фигне говорят сетевые калькуляторы ipcalc и sipcalc. Я тут из вывода удалил менее информативные поля. Если кому интересно - смотрите полный вывод сами.
apt install ipcalc sipcalc
sipcalc 192.168.0.1/32

# вывод
Host address - 192.168.0.1
Network address   - 192.168.0.1
Network mask (bits) - 32
Broadcast address - 192.168.0.1
Addresses in network - 1
Network rang - 192.168.0.1 - 192.168.0.1

ipcalc -b 192.168.0.1/32
# вывод
Address: 192.168.0.1
Netmask: 255.255.255.255 = 32
Hostroute: 192.168.0.1
Hosts/Net: 1

sipcalc 192.168.0.1/31
# вывод
Host address - 192.168.0.1
Network address   - 192.168.0.0
Network mask (bits) - 31
Broadcast address - 192.168.0.1
Addresses in network - 2
Network range - 192.168.0.0 - 192.168.0.1

ipcalc -b 192.168.0.1/31
# вывод
Address: 192.168.0.1          
Netmask: 255.255.255.254 = 31 
Network: 192.168.0.0/31       
HostMin: 192.168.0.0          
HostMax: 192.168.0.1          
Hosts/Net: 2
На мой взгляд, ipcalc для такой экзотики работает более правильно, поскольку Broadcast для подсетей >30 не выводится. Вывод: при построении физических сетей с масками >30 возникают трудности. А при фильтрации маски /31 /32 ничем не отличаются от остальных /1-/30 А как, чем, и для чего разбивать диапазоны ip, читайте в следующей статье. tags: #networks © by Tagd Tagd — 🔔 @bashdays➡️ @gitgate

Блядь, как эта хуйня заёбывает, 25й век на дворе, а мы все не умеем обновляться без перезагрузки винды. Оно ядро винды чтоли
Блядь, как эта хуйня заёбывает, 25й век на дворе, а мы все не умеем обновляться без перезагрузки винды. Оно ядро винды чтоли патчит или чо? Если ты решил обновить свой софт, который требует перезагрузки системы — не сообщай об этом! Рано или поздно прокладка между монитором и клавиатурой сама перезагрузит всё. И не будет такого хейта. Касперский так вообще нахуй раком всё ставит, в сон машина не уходит, все время на каких-то спидах и экстази. Балаган! Ну бесит же, ёб твою мать! tags: #рабочиебудни — 🔔 @bashdays➡️ @gitgate

😄Okko приглашает технических специалистов на митап по инфраструктура: Pulumi & Airflow, посвященный современным инструментам
😄Okko приглашает технических специалистов на митап по инфраструктура: Pulumi & Airflow, посвященный современным инструментам: Pulumi и Airflow. https://okkomeetup.timepad.ru/event/3116334/ Вы сможете обсудить с коллегами из индустрии свои кейсы и поделиться опытом использования этих инструментов. Митап будет интересен DevOps-инженерам, SRE-инженерам, системным администраторам, а также всем, кто работает с инфраструктурой. Формат: онлайн и офлайн Участие: бесплатное Реклама. ИП Крючков В.В. ИНН: 345917031475, erid: 2VtzqxTBCMU

Здрасти господа и дамы. Камон замутим кодревью для нашего с вами подписчика и коллеги. Bash скрипт с вводными:
В связи с тем, что нужно переходить на отечественные ОС вот мой скрипт автоматизации, аля gpo.
Пожалуйста пишите объективно и по делу. Я не вправе один это делать, будет не объективно, поэтому скидываю сюда и надеюсь на ваши скиллы, с автором скрипта этот момент оговорен. ㅤ Всем заранее спасибо! tags: #codereview — 🔔 @bashdays➡️ @gitgate

Сегодня столкнулся с проблемой. У провайдера через раз работает dhcp и не выдает статический ip адрес. ㅤ Собственно во всей конторе нет инета. А сегодня пятое число, зарплату платить нужно - пропускать нельзя :-) Но я не об этом. Звоню провайдеру. Говорю, DHCP - просто раздает. Давай пропишем статический IP, и все будет хорошо. Ну, ок. Присылает мне данные, а там маска 255.255.255.192. Начинаю вводить. pfSense требует краткую маску. Блин. Инета нет. ipcalc нет, потому как винда (кстати, sipcalc, на мой взгляд лучше). Можно только с помощью calc перевести 192 в бинарное число. 11000000. Ну, а теперь мнемоника. Единичка большая, поэтому увеличивает маску, нолик маленький, поэтому уменьшает. Все помнят, что 255.255.255.0 = /24 = 11111111 11111111 11111111 00000000, 255.255.255.255 = /32 = 11111111 11111111 11111111 11111111. Теперь считаем:
255.255.255.192 = 11111111 11111111 11111111 11000000
24 + 2 "единички" = /26 + Потому что единичка большая и увеличивает маску или 32 - 6 "ноликов" = /26 - Потому что нолик маленький. Фиксиков все смотрели? С какой стороны считать - ваше дело. Я считаю нолики. Не важно, с какой стороны считать, результат одинаковый. Конечно, 192, можно было и в мозгах разложить в бинарный, но я в старости стал таким ленивым... Как только прописал, все срослось, интернет заработал, зарплата пришла. Красота. tags: #рабочиебудни #networks © by Tagd Tagd — 🔔 @bashdays➡️ @gitgate

Сократите расходы на IT-инфраструктуру. Узнайте больше о серверной ОС от Selectel 👀 С ростом трафика увеличиваются задержки
Сократите расходы на IT-инфраструктуру. Узнайте больше о серверной ОС от Selectel 👀 С ростом трафика увеличиваются задержки в сети, что сразу отражается на всех процессах. Обычно для повышения производительности команда наращивает железо. Это неидеальный выход: расходы на инфраструктуру начинают расти. Selectel нашел способ решения проблемы и создал серверную ОС на базе Linux. Как это работает? Операционная система использует оптимизированный сетевой стек, что позволяет обрабатывать данные в 5 раз быстрее. Это решение поможет справляться с большими объемами трафика без дополнительных затрат на новое оборудование. Проверьте сами — сейчас вы можете поучаствовать в демо-тестировании ОС от Selectel. А чтобы узнать больше об ОС и о сценариях ее применения на реальных проектах, присоединяйтесь к вебинару 20 ноября в 12:00. Регистрация по ссылке. ERID: 2VtzqxW5EAH

Недавно прочитал статью Страйфи Ленджок и решил поделиться многолетним опытом использования rdp. ㅤ Сразу оговорюсь, что я пытался использовать rdp на linux для замены виндового сервера при работе с 1с. OC - debian, потому что в debian rdp есть в репозитариях. А, вообще живет он здесь. Для установки на сервере - пара команд:
sudo apt install xrdp
sudo dpkg-reconfigure xserver-xorg-legacy

# выбрать подключения "от кого угодно"
Все настройки в /etc/xrdp основной файл xrdp.ini .) В качестве DE использовал XFCE и LXDE по причине малых ресурсов. LXDE - лучше. В качестве клиента (и на клиенте) использовал xfreerdp из пакета freerdp2-x11.
sudo apt install freerdp2-x11
Пробовал remmina, но она подглюкивает. Проще всего использовать алиас для подключения. У меня такой:
alias rdp='function _rdp(){ xfreerdp /h:700 /w:1300 /cert-ignore /v:"$@";}; _rdp '
700x1300 - размеры окна /cert-ignore - нужно для подключения к виндовым серверам, поскольку они раз в 120? дней меняют сертификаты, и приходится ручками удалять хэш из файла. Подключаюсь так:
rdp 192.168.1.100

# или так

rdp 192.168.1.100 /u:username
Ну, а теперь опыт использования: 1. Окно аутентификации можно настраивать. (xrdp.ini Поставить логотип конторы и прописать название сервера в заголовке окна. Удобно.) 2. Любит забивать папки пользователей логами (.xsession-errors .xorgxrdp.log) Решается отключением логирования в ini или ссылкой этих файлов в /dev/null. 3. В XFCE проблемы с переключением раскладки клавиатуры при переподключениях. 4. В LXDE проблемы с раскладкой при входе под одним пользователем с разных машин (нужно войти в свойства клавиатуры и выбрать "модель клавиатуры". 5. Firefox, Thunderbird, Libreoffice - работают прекрасно при входе пользователя только по RDP. 6. Программы из п.3 не работают, если тот же пользователь вошел "локально" (винда проблему решает "выбрасыванием" одной сессии). 7. 1с работает плохо. На некоторых серверах наблюдались проблемы с печатью форм (некоторые буквы в НЕКОТОРЫХ формах печатаются квадратиками и накладываются друг на друга). Причем под одним пользователем проблемы, под другим пользователем проблем нет. 8. При подключении с винды при работе с 1с, часто наблюдается "зависание интерфейса" на несколько минут. Что делает работу практически невозможной. 9. Пытались связываться с разработчиками 1с - ответ был такой: Не можем синтезировать ваши проблемы. Предложения по передаче логов, помощи в отладке игнорировались. ➡️ man xfreerdp tags: #linux #networks © by Tagd Tagd — 🔔 @bashdays➡️ @gitgate

🔥 Как сократить баги и ускорить релизы с помощью безопасной разработки Ты создаешь крутые приложения, но баги и уязвимости п
🔥 Как сократить баги и ускорить релизы с помощью безопасной разработки Ты создаешь крутые приложения, но баги и уязвимости продолжают отнимать драгоценное время, особенно когда горят дедлайны? 😬 Представь, что ты можешь защитить свой код на каждом этапе разработки и при этом сэкономить нервы и время! Мы разработали новый курс «Безопасность приложений для разработчиков», чтобы показать, что безопасность — это не про сложности, а про качество и экономию времени. 🎯 Почему стоит записаться? · Ты научишься строить защиту ещё на этапе планирования, минимизируя уязвимости. · Безопасность не замедлит процесс — мы покажем, как сохранять темп и укладываться в дедлайны. · Меньше проблем на проде — ты будешь предотвращать уязвимости на ранних стадиях, избегая лишних правок. 👨‍💻 Авторы курса — эксперты Positive Technologies, одной из лидирующих компаний на рынке кибербезопасности. Ты будешь учиться у профессионалов, которые ежедневно работают над безопасностью приложений. ⏰ Старт курса 25 ноября, длительность — 3 недели, формат — онлайн. Учись в любое время и из любой точки. Не трать время на исправления багов — записывайся на курс и учись предотвращать их заранее! 👉 [Забронировать место на курсе]

За пост спасибо нашему коллеге и подписчику - Страйфи Ленджок
В современном мире всё больше задач требуют работы с графическими приложениями на удалённых Linux-серверах, особенно с использованием GPU. Это может быть рендеринг в Blender, обучение нейронных сетей или даже облачный гейминг. Существует несколько способов организации такого доступа, каждый из которых имеет свои особенности. ㅤ X11 Forwarding через SSH Один из самых простых методов — использование X11 Forwarding через SSH. Для этого достаточно базового пакета openssh. Подключение осуществляется командой:
ssh -X -p [порт] [пользователь]@[IP_сервера]
Флаг -X включает проброс X11. После подключения можно запускать графические приложения, например:
firefox &
Однако этот метод имеет значительные недостатки. Интерфейс и ввод отображаются с заметной задержкой, особенно при воспроизведении видео или работе с 3D-графикой. Это связано с тем, что X11 Forwarding передаёт по сети каждое действие с окном без оптимизации и сжатия данных. RDP в Docker с поддержкой GPU Более современный и эффективный подход — использование RDP-сервера в контейнере Docker с поддержкой GPU. Протокол RDP изначально разработан для работы с удалённым рабочим столом через сеть и использует алгоритмы сжатия и кэширования элементов интерфейса. Для настройки поддержки GPU в Docker необходимо установить драйверы и nvidia-container-toolkit, а затем настроить Docker для работы с GPU Nvidia:
sudo apt install nvidia nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
Для AMD
sudo apt install "linux-headers-$(uname -r)" "linux-modules-extra-$(uname -r)"
sudo usermod -a -G render,video $LOGNAME
wget https://repo.radeon.com/amdgpu-install/6.2.1/ubuntu/noble/amdgpu-install_6.2.60201-1_all.deb
sudo apt install ./amdgpu-install_6.2.60201-1_all.deb
sudo apt update
sudo apt install amdgpu-dkms rocm
sudo reboot
sudo apt install rocminfo
#  Добавить в файле `/etc/environment`  PATH="/opt/rocm/bin"
docker run --device=/dev/kfd --device=/dev/dri --security-opt seccomp=unconfined <image>
Здесь: --device=/dev/kfd — предоставляет доступ к основному интерфейсу вычислений. --device=/dev/dri — предоставляет доступ к интерфейсу прямого рендеринга. --security-opt seccomp=unconfined — отключает ограничения seccomp для контейнера, что необходимо для корректной работы с GPU. Далее запускается контейнер с RDP-сервером, например, с использованием образа. После запуска контейнера можно подключиться к нему с помощью RDP-клиента, такого как Remmina, настроив SSH-туннель для безопасности и сжатия трафика. Этот метод обеспечивает более высокую производительность и комфортную работу с графическими приложениями на удалённом сервере, включая поддержку GPU для задач, требующих аппаратного ускорения. tags: #linux © by Страйфи Ленджок — 🔔 @bashdays➡️ @gitgate