LinuxCamp | DevOps
13.7K subscribers
286 photos
14 videos
395 links
Обо мне: C/C++/Linux эксперт. Говорим про разработку, Linux, DevOps, сети и администрирование.

Админ (реклама): @XoDefender
Чат: @linuxcamp_chat

Менеджер: @Spiral_Yuri
Биржа: https://telega.in/c/linuxcamp_tg

РКН: https://clck.ru/3RWA3C
Download Telegram
Не все любят AI

Пока Linux ядро стремительно превращается в вайбкод проект, многие другие опенсорс тулзы запрещают любые AI-контрибьюции

- QEMU — "Политика проекта – отклонять любые контрибьюции, если есть основания полагать, что они включают в себя AI-сгенерированный контент или основаны на нём».

- NetBSD — код, сгенерированный AI, «считается потенциально заражённым кодом и не должен попадать в коммит».

- Zig — полный запрет на использование AI в любом виде:

«Никакого LLM-сгенерированного контента», «Никаких LLM для перевода», «Никаких LLM для поиска багов»

- OBS Studio — «Код должен быть написан человеком».

LinuxCamp | #news
1👍7213🔥7💊5❤‍🔥1👏1
Системные вызовы и syscall в Linux: как программа стучится в ядро

Каждый раз, когда программа читает файл, открывает сокет или печатает строку в терминал, она не делает это сама. Она просит об этом ядро. Механизм этой просьбы называется системным вызовом syscall.


Что это

Syscall - это запрос программы к ядру на операцию, которую ей не дают сделать напрямую: доступ к диску, сети, памяти, процессам. Это единственный легальный вход из твоего кода внутрь ядра.

Два пространства

Программы работают в user space с урезанными правами. Ядро и железо живут в kernel space. Между ними стену ставит сам процессор: приложения крутятся в кольце защиты ring 3, ядро в ring 0. Дёрнуть драйвер диска из обычного процесса нельзя, можно только попросить ядро.

Сделано это для изоляции и безопасности. Если бы любой процесс мог писать прямо в железо или в чужую память, один баг ронял бы всю систему. Ядро выступает арбитром: проверяет права, валидирует аргументы и только потом выполняет операцию.

Примеры

Базовые сисколы, на которых держится почти всё:


int fd = open("file.txt", O_RDONLY); // открыть файл
read(fd, buf, 1024); // прочитать данные
write(1, "hello\\n", 6); // записать в stdout
close(fd); // закрыть


А ещё fork() порождает новый процесс, execve() запускает программу, mmap() выделяет память. В Linux x86-64 их несколько сотен.

Под капотом

То, что в C выглядит как обычная функция, на деле оказывается переходом в ядро. Номер сисколла кладётся в регистр rax, аргументы в rdi, rsi, rdx, а инструкция syscall передаёт управление ядру:


mov rax, 1 ; номер вызова write
mov rdi, 1 ; fd = stdout
mov rsi, msg ; адрес буфера
mov rdx, 6 ; длина
syscall ; прыжок в kernel space


libc

Руками syscall почти никто не пишет: между тобой и ядром стоит glibc. Функция write() из unistd.h это тонкая обёртка: разложить аргументы по регистрам и вызвать syscall. Поэтому «функция» и «системный вызов» не одно и то же: printf() это функция libc, а write() под ней уже настоящий syscall.

strace

Хочешь увидеть все сисколы программы вживую:


strace ./program # все вызовы подряд
strace -c ls # сводка с подсчётом и таймингами


Вывод покажет каждый open, read и write с аргументами и кодом возврата. Незаменимо для отладки и реверса.

Итог

Syscall это мост между твоим кодом и ядром. Разберёшься в сисколах и будешь видеть, что программа делает на самом деле: где тормозит, куда лезет и почему падает.

LinuxCamp | #utils
👍306🔥5🌭1
Кто трогал сервер: ищем следы в Linux

Иногда на сервере что-то сломалось, а вопрос один:


кто заходил, когда заходил и что менял?


В Linux часть ответов можно найти без отдельного мониторинга. Но важно понимать: стандартные логи показывают не всё, а историю команд легко удалить.

Кто заходил на сервер

Посмотреть последние входы пользователей:


last


Неудачные попытки входа:


lastb


Текущие активные сессии:


who
w


Для SSH обычно полезно смотреть auth-логи:


grep "sshd" /var/log/auth.log


На RHEL/CentOS/AlmaLinux путь чаще такой:


grep "sshd" /var/log/secure


Кто выполнял команды

У каждого пользователя есть история shell:


cat ~/.bash_history


Но это слабый источник: команды могут записываться не сразу, часть команд может не попасть в историю, а сам файл можно почистить. Полезнее включить timestamp для истории:


echo 'export HISTTIMEFORMAT="%F %T "' >> ~/.bashrc
source ~/.bashrc


После этого history будет показывать время выполнения команд:


history


Кто менял файлы

Посмотреть время изменения файла:


stat /etc/nginx/nginx.conf


Найти файлы, изменённые за последний день:


find /etc/nginx -type f -mtime -1 -ls


За последние 60 минут:


find /etc/nginx -type f -mmin -60 -ls


Но stat и find покажут время изменения, а не имя пользователя, который это сделал. Если нужно именно кто изменил файл, заранее включают auditd:


apt install auditd


Добавить наблюдение за файлом:


auditctl -w /etc/nginx/nginx.conf -p wa -k nginx_config


Потом искать события:


ausearch -k nginx_config


Вывод

last, auth.log, history, stat и find помогают быстро понять, что происходило на сервере. Но если нужно точно знать, кто менял важные файлы, лучше заранее включить auditd. Без него Linux часто покажет когда файл изменили, но не всегда покажет кем.

LinuxCamp | #utils
👍54🔥149👏1
Herdr: tmux для AI-агентов

Herdr - терминальный мультиплексор для работы с AI-агентами. По смыслу похоже на tmux: есть сессии, workspace’ы, вкладки и панели. Но сверху добавлена важная штука: Herdr понимает состояние агентов: кто работает, кто завис, кто ждёт подтверждения, а кто уже закончил.

Можно держать несколько агентов в одном терминале и быстро видеть их статус:


blocked — ждёт ввода или approval
working — выполняет задачу
done — закончил работу
idle — завершён и просмотрен


Панели - это реальные terminal-процессы, а не перерисованная GUI-обёртка. Поэтому внутри можно запускать Claude Code, Codex, Copilot CLI, Cursor agent CLI, opencode, Kimi Code CLI и другие агенты.

Как запустить

Установка:


curl -fsSL https://herdr.dev/install.sh | sh


Через Homebrew:


brew install herdr


Запуск в папке проекта:


herdr


Базовое управление похоже на tmux:


ctrl+b, затем v split pane
ctrl+b, затем c new tab
ctrl+b, затем w switch workspace
ctrl+b, затем q detach


После detach процессы продолжают работать. Открыл другой терминал, снова запустил herdr и вернулся в ту же сессию.

Важный нюанс

Herdr не GUI и не Electron-приложение. Он живёт прямо в терминале. Но это всё равно отдельный мультиплексор. Если у тебя уже всё построено на tmux, нужно будет понять, удобно ли добавлять ещё один слой поверх привычного workflow.

Вывод

Herdr полезен, если ты реально работаешь с несколькими AI-агентами параллельно. Это не замена tmux для всех задач, а более специализированный терминальный менеджер под agentic coding.

LinuxCamp | #utils
🔥9👍87🤔3
И глазом моргнуть не успели, в ядре уже 113 тыс. строк Rust-кода. Но переписывать еще долго, на C еще 36 млн строк 😎

Интересно, если дать нейронке задачу - перепиши весь код ядра на Rust, она справится?))


LinuxCamp
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20🤯12👍53😇2👏1💯1🙈1
AI-пентестер ищет уязвимости в твоем приложении

Нашёл Strix - open-source инструмент для автоматизированного пентеста приложений. Идея не в том, чтобы просто прогнать статический анализатор и получить пачку подозрений. Strix запускает приложение, исследует его как атакующий, пытается подтвердить уязвимость и показать рабочий proof-of-concept.

Что умеет


• проверять локальную кодовую базу
• сканировать GitHub-репозиторий
• тестировать уже поднятое web-приложение
• искать XSS, SSRF, SQL injection, auth bypass, IDOR и другие баги
• генерировать отчёт и рекомендации по исправлению
• запускаться в CI/CD на pull request


Быстрый старт


curl -sSL https://strix.ai/install | bash
export STRIX_LLM="openai/gpt-5.4"
export LLM_API_KEY="your-api-key"

strix --target ./app-directory


Можно сканировать не только локальную папку:


strix --target https://github.com/org/repo
strix --target https://your-app.com


А для CI есть non-interactive режим:


strix -n --target ./ --scan-mode quick


Почему интересно

Обычные сканеры часто дают много шума: вроде бы уязвимость есть, но непонятно, реально ли её можно использовать. Strix делает ставку на проверку через реальные сценарии атаки: recon, exploitation, validation. То есть ближе к mini red team, чем к обычному линтеру безопасности.

LinuxCamp | #utils
🔥10👍43
И в чем он неправ?)

LinuxCamp | #memes
💯52😁25👍3❤‍🔥11
This media is not supported in your browser
VIEW IN TELEGRAM
Полный гайд по докеру. Освой на 99% за 14 секунд 🤣

LinuxCamp | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁52👍53🔥2
Ох уж эти Rust-разработчики))

LinuxCamp | #memes
🤣33🙈11💊9🏆4👍2🔥21😁1
Всем бы такого Константина. На все руки мастер))

LinuxCamp | #memes
😁85👍11🔥74👏1🙈1
This media is not supported in your browser
VIEW IN TELEGRAM
Скорость - наша фишка и мы ей гордимся 🔥

LinuxCamp
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥27🤩9💊53👏1🤣1
Arch меняет людей, будьте осторожны))

LinuxCamp | #memes
😁36💊13🤔43👏1😱1😨1
Самые простые условия лицензии из всех
😁6123👍13🔥4👏1
Линус Торвальдс о использовании ИИ в разработке ядра Linux:

«Linux – не один из тех анти-ИИ-проектов. Если кого-то это не устраивает, можно сделать форк».

«Мы никого не заставляем использовать ИИ, но я буду демонстративно игнорировать тех, кто пытается отговаривать других от его использования».

«Потому что человеческий интеллект тоже далеко не всегда так уж хорош».

«Это НЕ какой-то проект “социальных борцов”. Никогда им не был и никогда не будет».

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

LinuxCamp | #news
👍44🔥7🤨7💊53😱2🤔1🗿1
🔍Тестовое собеседование с Head of DevOps уже завтра

28 июля(уже завтра!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle DevOps-разработчика.

Как это будет:
📂 Александр Хренников, Head of DevOps в KTS с опытом 14+ лет, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Александр будет комментировать каждый ответ респондента, чтобы дать понять, чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Александру

Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для DevOps-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.

Переходи в нашего бота, чтобы получить ссылку на эфир →
@shortcut_devops_bot

Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣31👍1🎉1😨1
Кринж года))

Debian хочет провести голосование по резолюции, которая официально запретит использование ИИ при работе над любыми компонентами Debian Linux.

Но сторонним апстрим-проектам будет разрешено продолжать использовать LLM.

Благодаря этому использование ИИ останется допустимым, например, при разработке ядра Linux, где сейчас около 10% новых патчей написаны с помощью ИИ.

LinuxCamp | #news
👍28😁15🔥82👌2👏1😭1
Теперь Mac поддерживает Windows - тот самый апдейт, которого мы ждали))

LinuxCamp | #memes
🤣56🔥6😁5👍3
Каналы про IT делятся на 2 типа:

1.
Выучи Python, JavaScript и C++ за 0,0001 секунды просто читая наш канал…

2. Хочешь читать переписки бывшей? Хакер из канала "Взлом Жопы" рассказывает как скачать Tor…

Но среди копипастных статей и мусора есть реально годный проект айтишника, работавшего 9 лет в ИБ — Пакет Безопасности.

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

Подпишитесь, злоумышленники не дремлют: @package_security
3👍2😁2👏1
Один из давних разработчиков проекта FreeCAD Association решил «отойти от сопровождения FreeCAD» из-за несогласия с использованием ИИ:

«Я почти 20 лет входил в основную команду, но теперь проект движется в направлении, с которым я не хочу работать»

- заявил председатель FreeCAD Йорик ван Хавр.

Он отметил:

«Я считаю ИИ-инструменты крайне вредными для FOSS-проекта вроде FreeCAD.

Серьёзные экологические последствия, проблемы с авторскими правами, этические вопросы и, прежде всего, попытки крупнейших технологических корпораций навязать своё влияние проекту, который создавался как безопасная альтернатива им, – всё это то, от чего, на мой взгляд, мы должны защищать проект».


LinuxCamp | #news
👍30🔥7😢43🎉1🥴1
На Stepik запустили мощный курс по «Troubleshooting Docker и Kubernetes: поиск и устранение проблем»

В программе только важные аспекты:

— troubleshooting Docker и образов
— диагностика сетевых проблем
— настройка readiness/liveness probes
— отладка pod’ов, деплоев и ingress
— анализ логов контейнеров и кластера
— разбор ошибок CrashLoopBackOff, OOMKilled, ImagePullBackOff и других

Собеседования на DevOps/SRE сейчас всё чаще строятся вокруг реальных инцидентов. Данный курс фокусируется именно на таких сценариях и помогает в подготовке к практическим вопросам

48 часов доступен со скидкой 25%

↗️ Пройти курс на Stepik
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍7🤝1
Тут проще отмолчаться, чем начинать рассказывать)

LinuxCamp | #memes
😁42💯15🤣6🔥422👍1🗿1