- Последний пост
- 14:03
- Последнее чтение
- 14:39
- Постов за неделю
- 5
- Всего постов
- 40
- Тип
- открытый
- Язык
- русский
- Категория
- Технологии (по похожим)
- В каталоге с
- 12 авг.
- 1/24сутки в ленте
- 2 430
- 1/48двое суток
- 2 784
- 1/72трое суток
- 3 003
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
🦀 Rust всё глубже заходит в Linux — и это уже не эксперимент ради эксперимента. Главная идея проста: Rust позволяет писать системный код с более сильными гарантиями безопасности памяти ещё на этапе компиляции. Для ядра Linux это особенно важно, потому что огромный класс багов связан именно с: - use-after-free; - null pointer; - гонками; - ошибками работы с памятью; - небезопасным управлением ресурсами. Rust не заменит C завтра, но его роль в ядре будет расти там, где безопасность и поддерживаемость важнее абсолютной совместимости со старым кодом. Будущее Linux выглядит не как «C против Rust», а как постепенное сосуществование двух языков внутри одного ядра. Видео: https://youtu.be/nEa6uGO9LEk #Rust #Linux #Kernel #SystemsProgramming #OpenSource
💡 Быстрый Linux-совет: как упаковать файлы и папки через tar Создать обычный архив: tar -cvf project.tar ~/Documents/Project/ Посмотреть содержимое без распаковки: tar -tf project.tar Создать архив со сжатием gzip: tar -czvf project.tar.gz Documents/ Распаковать: tar -xzvf project.tar.gz Что значат флаги: -c - создать архив -x - распаковать -t - показать содержимое -v - выводить обрабатываемые файлы -f - указать имя архива -z - использовать gzip Полезно для бэкапов, переноса директорий и упаковки проекта в один файл. #Linux #CLI
🔐 Средства защиты в ядре Linux — это фундамент безопасности всей системы. Если вы хотите понимать: ❔ как защищается ядро; ❔ почему работают SELinux, AppArmor, KASLR и PTI ❔ как проверить защищённость системы на практике, этот практикум для вас. 🗓 20 августа в 20:00 МСК приглашаем вас на открытый урок в преддверии старта курса «Разработка ядра Linux». Разберём: • модели DAC и MAC; • механизмы защиты ядра; • параметры сборки; • подпись модулей и ядра; • а также практические способы проверки настроек безопасности. После занятия вы поймёте: ✅ как работают современные механизмы защиты Linux; ✅ научитесь анализировать конфигурацию ядра; ✅ оценивать влияние защитных технологий на систему; ✅ увереннее работать с безопасностью на уровне ядра. Если вы развиваетесь в системном программировании, администрировании или разработке ядра Linux, зарегистрируйтесь на открытый урок Регистрация: https://otus.pw/4ubP/?erid=2W5zFGf7gpq Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
⚡️ Быстрый Linux-трюк: `tr` меняет символы в тексте без открытия редактора. Например, перевести весь текст файла в нижний регистр: tr 'A-Z' 'a-z' < name.txt Ещё несколько полезных вариантов: echo "hello linux" | tr 'a-z' 'A-Z' # HELLO LINUX echo "HELLO LINUX" | tr 'A-Z' 'a-z' # hello linux echo "hello linux" | tr ' ' '_' # hello_linux tr работает как простой character translator: * tr 'a-z' 'A-Z' — lowercase → uppercase * tr 'A-Z' 'a-z' — uppercase → lowercase * tr ' ' '_' — пробелы → подчёркивания Но есть важный нюанс: команда tr 'A-Z' 'a-z' < name.txt не изменяет сам файл, а выводит результат в stdout. Чтобы сохранить его: tr 'A-Z' 'a-z' < name.txt > name_lower.txt Небольшая утилита, но очень удобная для shell-скриптов, пайплайнов и быстрой обработки текста. #Linux #Bash #CLI #DevOps
🚨 Когда системный администратор уже не может помочь... 03:17 ночи. Срабатывает алерт. Через несколько минут становится ясно: это начало атаки. Именно в этот момент начинается работа аналитика SOC. Хотите узнать, что происходит дальше? На бесплатном вебинаре «Как системному администратору перейти в информационную безопасность?» разберём: ✅ чем на самом деле занимается аналитик SOC; ✅ какие навыки у вас уже есть; ✅ что нужно изучить для первой позиции SOC Analyst L1; ✅ каких ошибок избежать на старте. 📅 27 августа, 19:00 🎓 Участие бесплатное. 👉 Зарегистрироваться на вебинар 📋 Перед вебинаром рекомендуем пройти диагностический тест и получить карту развития 🎁 Всем участникам, которые останутся до конца вебинара, подарим мини-курс, где вы попробуете себя в роли аналитика SOC и научитесь замечать первые признаки атак в логах. Реклама. ИП Кириллова Наталья Викторовна ИНН 691207795912
🦀 Один TUI, чтобы управлять всем локальным web-стеком. Reeve - менеджер localhost-окружения для разработки, который собирает привычные dev-инструменты в одном терминальном интерфейсе. Что умеет: - переключать версии PHP; - управлять Caddy, Apache и nginx; - работать с базами данных; - настраивать локальный SSL и DNS; - управлять parked sites; - смотреть live traffic; - держать весь локальный стек под рукой без десятка отдельных команд. Проект написан на Rust и использует Ratatui для интерфейса. Для тех, кто устал вручную переключаться между nginx, PHP, базой, hosts и сертификатами — выглядит очень удобно. GitHub: https://github.com/yetidevworks/reeve #Rust #DevTools #TUI #WebDevelopment #OpenSource
Linux показывает 0 свободной памяти: почему это нормально Открываешь free -h, видишь free 0B и хватаешься за голову. Спокойно, память никуда не делась, она ушла в buff/cache и освободится в ту же секунду, когда понадобится приложению. Показываю за 45 секунд, какая колонка реально отвечает за здоровье системы и по каким двум признакам понятно, что проблема всё-таки есть.
Как Redis украли — не нарушив ни одного закона В 2009 году итальянский разработчик Сальваторе Санфилиппо, известный как antirez, создал Redis и выпустил его под свободной лицензией BSD. Проект быстро стал одним из ключевых инструментов современной инфраструктуры. Но рядом с Redis постепенно росла компания, которая однажды получила контроль не только над бизнесом вокруг проекта, но и над самим его именем. В 2013 году хостинг-провайдер Garantia Data попытался переименоваться в RedisDB. Сообщество возмутилось, antirez публично выступил против, и компания отступила. Ненадолго. Через год Garantia стала Redis Labs. В 2015 году она наняла самого antirez и превратилась в официального спонсора проекта. В 2018 году создатель Redis передал компании права на бренд и интеллектуальную собственность. В 2020-м он ушёл из проекта, а ещё через год Redis Labs сократила название до одного слова — Redis. Компания, которой когда-то не позволили забрать имя, спустя восемь лет стала его законным владельцем. В марте 2024 года Redis отказалась от прежней открытой лицензии для новых версий и перешла на условия, которые Open Source Initiative не признаёт open source. Сообщество ответило почти сразу: появился форк Valkey, который поддержали Linux Foundation, AWS, Google Cloud, Oracle и другие крупные игроки. Юридически Redis ничего не украла. Код был открыт, а права передали добровольно. Именно поэтому история настолько показательна: чтобы получить контроль над open source-проектом, необязательно красть его код. Иногда достаточно годами финансировать развитие, получить торговую марку, оформить права и дождаться момента, когда возражать будет уже некому. Открытый исходный код ещё не означает открытое будущее проекта.
🚀 Как ядро Linux создаёт пакеты переменной длины без лишних копирований В C есть мощный паттерн — flexible array member. Вместо хранения заголовка и данных отдельно: header → отдельно payload → отдельно можно сделать один непрерывный блок памяти: +----------------+ | struct msg | | len | +----------------+ | payload data[] | +----------------+ Код: struct msg { uint32_t len; uint8_t data[]; }; struct msg *m = malloc(sizeof(*m) + n); Один malloc() → один блок памяти → один free(). Почему это любят в системном коде: ✅ меньше аллокаций ✅ лучше работа с CPU cache ✅ проще сериализация ✅ нет лишних указателей и разрозненных данных Такой подход используется в низкоуровневом коде: ядрах, драйверах, сетевых стеках. До C99 часто писали: uint8_t data[1]; и вручную обходили ограничения языка. Теперь data[] — официальный способ сказать: «После структуры здесь будет динамический массив данных». Маленькая особенность C, которая помогает писать быстрый код на уровне ядра.
💡Совет Linux #68: как автоматически остановить зависшую команду Команда выполняется слишком долго? Ограничьте её время через timeout: timeout 10s command Например: timeout 10s ping google.com Через 10 секунд процесс будет автоматически остановлен. Ещё примеры: timeout 30s top timeout 60s tail -f /var/log/syslog timeout 5s sleep 20 timeout 2m find / -name "*.log" Поддерживаются разные единицы времени: s - секунды m - минуты h - часы d - дни Полезно для тестов, мониторинга, CI-скриптов и команд, которые могут зависнуть. После срабатывания тайм-аута команда обычно завершается с кодом 124, поэтому результат легко проверить в скрипте: timeout 10s command if [ $? -eq 124 ]; then echo "Время выполнения истекло" fi Простой способ не ждать бесконечно и не останавливать процесс вручную через Ctrl+C.
🐧 Linux появился из проекта, который вообще не должен был стать операционной системой Весной 1991 года Линус Торвальдс изучал возможности нового компьютера на базе Intel 386. Сначала он написал драйвер клавиатуры, затем последовательный порт и простую терминальную программу. Потом появились переключение задач, драйвер диска и небольшая файловая система. Обычный эксперимент постепенно превратился в ядро собственной ОС. 25 августа Линус написал знаменитое сообщение: он делает бесплатную систему «просто как хобби» и не ждёт, что она станет большой и профессиональной. Спустя 35 лет Linux работает на серверах, смартфонах, суперкомпьютерах и почти всей современной облачной инфраструктуре. Один из главных проектов в истории технологий начался с любопытства к новому компьютеру. https://www.cs.cmu.edu/~awb/linux.history.html #Linux #OpenSource #Programming #ИсторияIT
Забыл tmux? Процесс всё равно можно спасти Знакомая ситуация: запустил обучение на удалённой машине, отошёл, и тут понимаешь, что сессия висит в обычном SSH без tmux. Разрыв соединения — и всё насмарку, часы работы в трубу. Спасение занимает пять секунд и три шага. bash Ctrl+Z # ставим задачу на паузу bg # продолжаем в фоне disown -h %1 # отвязываем от shell Работает это так. Ctrl+Z останавливает foreground job и возвращает управление, bg отправляет его обратно в работу уже в фоне, а disown -h убирает задачу из таблицы заданий шелла. После этого при выходе шелл не пошлёт ей SIGHUP, и процесс спокойно доживёт до конца. Тот же приём выручает на долгих rsync, сборках и кодировании через ffmpeg: bash rsync -avP /data backup:/mnt/backup Ctrl+Z bg disown -h %1 Пара нюансов. Вывод в терминал после отвязки уже никуда не денется, поэтому логи лучше писать в файл заранее. Управлять процессом как в tmux тоже не выйдет, вернуть его в интерактив не получится. Работает только для того, что запущено в текущем шелле. Так что приём выручает постфактум, но лучше сразу начинать работу с tmux new -s work и не доводить до спасательной операции.
💡 Как запустить одну команду сразу для списка файлов Если имена файлов записаны в files.txt, передайте их в xargs: xargs file < files.txt Так команда file выполнится для каждого файла из списка. Другие примеры: xargs ls -lh < files.txt xargs wc -l < files.txt Поиск ошибок во всех `.log`-файлах: find . -name "*.log" -print0 | xargs -0 grep "ERROR" Связка -print0 и -0 корректно обрабатывает пробелы и специальные символы в именах файлов. Удобный способ массово обрабатывать файлы без циклов и ручного запуска команд. #Linux #Bash #Terminal
watch запускает любую команду по кругу и показывает свежий вывод каждую секунду. Память через watch free -h, время через watch date, файлы через watch ls -l, процессы через watch "ps aux | grep nginx", сеть через watch "ip addr". Никаких ручных повторов и своих скриптов, всё видно в реальном времени прямо в терминале.
💡 Linux-совет: сравниваем два файла построчно Чтобы посмотреть файлы рядом и сразу увидеть различия, используйте sdiff: sdiff old.txt new.txt Команда выведет содержимое в две колонки и отметит отличия: * | — строки различаются * < — строка есть только в первом файле * > — строка есть только во втором Примеры: sdiff config_old.txt config_new.txt sdiff users_old.txt users_new.txt sdiff list1.txt list2.txt Удобно для сравнения конфигов, списков и разных версий файлов. #Linux #CLI
💡 Linux-совет: как смотреть только свежие строки большого файла Не нужно открывать огромный лог целиком. Используйте tail: tail /var/log/syslog По умолчанию команда покажет последние 10 строк. Ещё полезные варианты: tail -20 app.log tail -f /var/log/syslog -20 — вывести последние 20 строк. -f — следить за файлом в реальном времени и сразу видеть новые записи. Особенно удобно для логов приложений, nginx, systemd и любых файлов, которые постоянно дописываются.
Linux-совет: как быстро найти нужную строку в огромном файле Нужно найти ошибку, IP-адрес или конкретное слово в большом логе? Используйте grep: grep "keyword" filename Например: grep "error" /var/log/syslog Команда выведет только строки, содержащие слово error. Несколько полезных вариантов: grep -i "error" filename Поиск без учёта регистра. grep -n "error" filename Показать номера найденных строк. grep -R "error" /var/log/ Искать сразу во всех файлах каталога. Простой инструмент, который экономит время при работе с логами и большими текстовыми файлами. #linux #bash #devops #linuxtips
После атаки в системе всегда остаются следы. Вопрос в том, умеет ли их кто-то прочитать. Довольно сложно понять, что именно произошло, когда, через что зашли злоумышленники и какие данные могли быть затронуты. Особенно если инфраструктура на Linux — здесь многое устроено иначе, чем в Windows, и без отдельной экспертизы расследование часто застревает на уровне догадок. В Codeby Academy есть практический онлайн-курс «Цифровая криминалистика и реагирование на инциденты в Linux (DFIR)»🚗 За 3,5 месяца вы научитесь проходить полный цикл расследования: от первых признаков компрометации до восстановленной картины атаки. Что внутри: ⏺️ реальные кейсы на основе расследований КИ 2023–2024 ⏺️ сбор и анализ артефактов: логи, процессы, файловая система, сетевая активность ⏺️ работа с open-source инструментами DFIR ⏺️ практика в учебной лаборатории + разбор домашних заданий с преподавателем ⏺️ удостоверение о повышении квалификации после экзамена Запись на ближайший поток открыта до 6 августа. Скидка 30% при оплате сразу. Доступна также поэтапная оплата 6 520 ₽/мес ➡️Записаться и посмотреть программу 🪧Бесплатная консультация @CodebyAcademyBot
Скрытый майнер жрёт твой ПК годами, а ты не знаешь NtWarden вскрывает Windows на уровне ядра: никакой пощады вирусам. Разбираем NtWarden, мощный сканер Windows, который работает на уровне ядра и показывает то, что не видят обычные антивирусы и диспетчер задач. Скачиваем с GitHub, запускаем от админа и делаем полную проверку системы: процессы, службы, сетевые соединения, драйверы и ядро. Инструмент находит скрытые процессы, руткиты, майнеры и трояны, показывает реальную нагрузку на процессор и подсвечивает подозрительную активность. После анализа чистим систему: удаляем найденные угрозы, чистим автозагрузку, мусор и остатки вредоносов в пару команд. github.com/mrT4ntr4/NtWarden
Кто-то разобрал Claude Code почти до винтика learn-coding-agent - репозиторий для тех, кто хочет понять, как устроены современные coding agents не на уровне промо-страниц, а на уровне архитектуры. Автор собрал разбор Claude Code по публичным источникам: цикл агента, систему инструментов, разрешения, работу с контекстом, сессии, подпроцессы, MCP, удалённые настройки, телеметрию и скрытые флаги. Получился не “гайд по использованию”, а карта внутренней логики CLI-агента: как он принимает решение, когда просит разрешение, как вызывает инструменты, как хранит историю и как расширяется через внешние интеграции. https://github.com/justxor/Claudecourse/