/usr/bin
رفتن به کانال در Telegram
Канал для пользователей и администраторов Linux-систем: управление, инфраструктура, технические детали, новости и прочее. Реклама и цены: @gals_ad_bot Вопросы: @antoniusfirst @monitorim_it — канал о мониторинге ИТ
نمایش بیشتر4 962
مشترکین
اطلاعاتی وجود ندارد24 ساعت
+97 روز
+6030 روز
آرشیو پست ها
4 962
Домашний Kubernetes-кластер, переход с VMware и ИИ для разбора инцидентов. Об этом вы узнаете 12 ноября на DUC meetup /6, офлайн-встрече Deckhouse User Community в Москве.
Три доклада, питч о Deckhouse Platform и нетворкинг с пиццей. Мест немного, участие вам подтвердят письмом после регистрации.
→ Оставьте заявку, пока есть места
4 962
Ubuntu готовится к большим переменам
Вышла Ubuntu 26.10 Stonking Stingray, и это обновление интересно не только новым GNOME и косметическими изменениями. Canonical продолжает серьёзно перестраивать системные компоненты и постепенно формирует облик будущей Ubuntu 28.04 LTS.
Среди нововведений:
🚀 локальный голосовой ввод Myna без отправки аудио в облако;
🚀 ядро Linux 7.3 и поддержка будущих Intel Nova Lake и AMD Zen 6;
🚀 завершение перехода стандартных файловых утилит на Rust;
🚀 замена
dbus-daemon на dbus-broker;
🚀 Sequoia PGP для проверки подписей APT-пакетов;
🚀 улучшения шифрования, аутентификации и корпоративного управления.
Читать статью на Хабре
@usr_bin_linux4 962
K8s-комьюнити снова встретится в Москве
5 ноября в 19:00 пройдёт четвёртый KuBeer Talks!
Формат камерных встреч стартовал ровно год назад. С тех пор кубер-комьюнити не раз собиралось в баре, чтобы послушать неформальные доклады, обсудить рабочие «боли» и найти тех, кто сталкивается с теми же задачами.
Приглашаем вас отметить наш первый день рождения 🎂
В программе:
◾«Опыт работы с VTEP-схемой в Cilium», Екатерина Низовцева
◾«Закон Гудхарта для бекапов K8s», Артём Горячев
◾Открытый микрофон — для всех, кому есть чем поделиться
И это не всё — скоро анонсируем ещё один доклад.
Участие бесплатное, как и первые три кружки любого напитка из меню. Количество мест ограничено, успевайте зарегистрироваться!
Регистрация
4 962
Что делают боты, когда всё-таки подбирают пароль к SSH?
Автор развернул honeypot на базе Cowrie и замаскировал его под мощный сервер для обучения нейросетей: 128 ядер, терабайт памяти и четыре NVIDIA H100. Затем намеренно позволил автоматическим ботам подобрать пароль.
Всего за 12,5 часа ловушка получила 1846 подключений, 1524 команды и 219 попыток скачать файлы. После входа боты добавляли свои SSH-ключи, меняли пароль root, удаляли конкурирующие майнеры, закреплялись через cron и загружали вредоносное ПО.
Получился живой разбор автоматизированных атак на публичные серверы — от разведки до превращения взломанной машины в часть ботнета. В конце есть практический чек-лист по защите SSH и поиску следов компрометации.
Читать на Хабре
@usr_bin_linux
4 962
SSH-клиент — без Chromium и с собственным UI-движком
EvertySSH — open source SSH-клиент, написанный на Rust. Проект появился из желания собрать в одном приложении всё необходимое для повседневной работы с серверами:
— несколько SSH-сессий во вкладках и разделение экрана;
— сохранённые подключения и генерация ключей;
— история команд с привязкой к серверу и сессии;
— библиотека часто используемых сниппетов;
— восстановление рабочего контекста после сетевых ошибок;
— поддержка полноэкранных консольных приложений.
Вместо Chromium или WebView автор использует собственный интерфейсный движок EvertyUI, а терминальный экран реализует как отдельную машину состояний с поддержкой ANSI-последовательностей, курсора, цветов и альтернативного буфера.
Есть ограничение: клиент пока не проверяет ключ сервера через
known_hosts, поэтому использовать его в критической инфраструктуре преждевременно. Ну, может еще добавят.
Читать на Хабре
Репыч на Гитхаб
@usr_bin_linux4 962
Kube API не отвечает, LoadBalancer не пропускает трафик, DNS не резолвит, исходящие запросы не уходят. Причина обычно кроется на стыке облачной сети и кластера, и найти её без понимания всей цепочки сложно.
3 ноября в 12:00 Роман Ерема, разработчик в команде Managed Kubernetes MWS Cloud Platform, на практике покажет:
⏺️как взаимодействуют сеть облака, CNI и сеть Kubernetes
⏺️как работают SNAT и Source IP
⏺️когда нужен externalTrafficPolicy: Local и почему при нём может не проходить health check
⏺️как диагностировать проблемы на реальных кейсах (live-demo)
Все участники получат чек-лист для проверки доступности.
Полезно инженерам, разработчикам и специалистам по сетям и облачной инфраструктуре.
🗓 3 ноября в 12:00
Регистрируйтесь по ссылке
4 962
Зачем нужен Ansible, если серверов всего два и есть SSH?
Пока инфраструктура небольшая, кажется, что проще подключиться к каждой машине и выполнить нужные команды вручную. Но со временем настройки начинают расходиться: где-то забыли включить автозапуск сервиса, где-то вручную изменили конфигурацию — и одинаковые серверы внезапно становятся разными.
В статье на простом примере с двумя Ubuntu-серверами и Nginx показано:
— чем декларативное описание состояния отличается от набора SSH-команд;
— как устроены Control Node, Inventory и Playbook;
— почему Ansible не требует установки постоянного агента;
— как развернуть одинаковую конфигурацию сразу на нескольких серверах;
— что такое идемпотентность и почему повторный запуск Playbook не ломает уже настроенную систему.
Читать на Хабре
@usr_bin_linux
4 962
SSH-клиент — без Chromium и с собственным UI-движком
EvertySSH — open source SSH-клиент, написанный на Rust. Проект появился из желания собрать в одном приложении всё необходимое для повседневной работы с серверами:
— несколько SSH-сессий во вкладках и разделение экрана;
— сохранённые подключения и генерация ключей;
— история команд с привязкой к серверу и сессии;
— библиотека часто используемых сниппетов;
— восстановление рабочего контекста после сетевых ошибок;
— поддержка полноэкранных консольных приложений.
Особый интерес представляет техническая часть. Вместо Chromium или WebView автор использует собственный интерфейсный движок EvertyUI, а терминальный экран реализует как отдельную машину состояний с поддержкой ANSI-последовательностей, курсора, цветов и альтернативного буфера.
Автор открыто описывает и текущее ограничение: клиент пока не проверяет ключ сервера через
known_hosts, поэтому использовать его в чувствительной инфраструктуре преждевременно. Проект молодой, но интересный как практический разбор SSH, терминальной эмуляции и разработки GUI на Rust.
👉 Читать статью на Хабре4 962
Как защитить Linux-сервер и не потерять к нему доступ в процессе настройки?
В репозитории How To Secure A Linux Server собраны способы базового усиления безопасности Linux. Также объясняются назначения настроек и возможные последствия их применения.
В руководстве разобраны:
🚀 защита SSH, вход по ключам и двухфакторная аутентификация;
🚀 ограничение доступа к
sudo и su;
🚀 настройка межсетевого экрана UFW;
🚀 защита от атак с помощью Fail2Ban, CrowdSec и PSAD;
🚀 автоматическая установка обновлений безопасности;
🚀 аудит системы, контроль целостности файлов и поиск руткитов;
🚀 мониторинг открытых портов, журналов и подозрительной активности;
усиление параметров ядра Linux.
Есть и вариант автоматизации с помощью Ansible.
Репыч на Гитхаб
@usr_bin_linux4 962
Имиджборда в терминале: возвращение к интернету без лент и алгоритмов
Автор создал Bord — открытую анонимную площадку, основной клиент которой работает прямо в терминале. Интерфейс напоминает Midnight Commander: слева расположены доски, справа — треды и сообщения. Поддерживаются клавиатура, мышь, поиск, цветовые темы и даже изображения.
За ретро-интерфейсом скрывается современная архитектура:
— клиент и сервер написаны на Go;
— TUI построен на Bubble Tea, Bubbles и Lip Gloss;
— HTTP используется как источник данных, а SSE — для уведомлений об изменениях;
— SQLite работает в режиме WAL;
— API описан через OpenAPI;
— предусмотрены идемпотентность, аудит, защита загрузки файлов и продуманная модель анонимности без обязательных аккаунтов.
Проект для тех, кто скучает по форумам, IRC и старому интернету.
Читать статью на Хабре
Репыч на Гитхаб
@usr_bin_linux
4 962
Базовая настройка Kubernetes: доводим кластер до работоспособного состояния
Pov: вы развернули кубер и, кажется, все отлично — можно выкатывать сервисы. Но как бы не так! Перед этим вас ждет еще целая полоса препятствий:
▪️настройки сети и балансировка входящего трафика;
▪️подключение хранилища;
▪️и много чего еще.
29 октября в 11:00 команда «Штурвала» расскажет и покажет все этапы настройки «ванильного» Kubernetes, ответит на ваши вопросы и разберет проблемные моменты.
Присоединяйтесь — за час узнаете, как пользоваться кластером, а не просто любоваться на пять запущенных бинарей.
Регистрация 📌
4 962
🎮 Чтиво на выходные: как Марио покорял ZX Spectrum
На выходные предлагаю немного отвлечься от консолей и инфраструктуры — и погрузиться в историю восьмибитных игр.
Статья рассказывает, как Марио пытался добраться до ZX Spectrum: от ранних портов Donkey Kong и Mario Bros. до клонов, отменённой The Great Giana Sisters и проектов отечественных энтузиастов. Попытки создать собственного Марио продолжались более 20 лет и породили немало любопытных игр.
В статье вы найдете большую, богато иллюстрированную ретроспективу о временах, когда ограничения железа компенсировали изобретательностью, а любимые игры переносили на доступные платформы своими силами.
Наливайте чай — впереди 22 минуты приятной ностальгии.
Как Марио ZX Spectrum покорял
@usr_bin_linux
4 962
Как превратить Python-скрипт на VPS в нормальный сервис
nohup, screen и надежда на то, что скрипт никогда не упадёт, — не лучший вариант для эксплуатации. В этой статье рассказывается, как организовать запуск небольших Python-приложений средствами самого Linux — без Docker, Supervisor и отдельной системы мониторинга.
В статье разобраны:
🚀 запуск и автоматический перезапуск через systemd;
🚀 хранение секретов и ограничение прав процесса;
🚀 сбор и ротация логов с помощью journald;
уведомления о сбоях в Telegram вместе с фрагментом журнала;
🚀 запуск задач по расписанию через systemd timers вместо cron.
Читать на Хабре
@usr_bin_linux4 962
Когда один
& ломает Ctrl+C
В статье разобран инженерный разбор ошибки, в которой Ctrl+C сначала выключал виртуальную машину, а после исправления перестал прерывать даже обычный sleep.
Автор прошел весь путь управляющего символа: хостовый терминал → Java → виртуальный UART → KVM → TTY-подсистема Linux → процесс. Виновником в итоге оказался не KVM и не обработка IRQ, а фоновый запуск BusyBox shell: процесс унаследовал игнорирование SIGINT.
Любопытный пример того, как диагностировать сложные проблемы на границах нескольких систем: проверять каждый слой отдельно и прямыми экспериментами исключать исправные участки цепочки.
Читать на Хабре
@usr_bin_linux4 962
А что, если Kubernetes — это не готовая платформа, а только ядро?
В статье описан любопытный инженерный эксперимент: автор предлагает относиться к Kubernetes так же, как мы относимся к ядру Linux. Сам Kubernetes остаётся общей основой, а поверх него собираются специализированные дистрибутивы — для виртуализации, ИИ, промышленного оборудования, мониторинга или сетевых задач.
Чтобы проверить идею на практике, автор разработал kuberoot — аналог Buildroot для сборки дистрибутивов Kubernetes, а также пакетный менеджер kubepkg и репозиторий пакетов.
В результате получается единый загрузочный образ, включающий ядро Linux, минимальную неизменяемую ОС и Kubernetes. Без SSH, shell и привычного пакетного менеджера. Узлами, системными службами, дисками, обновлениями и резервными копиями можно управлять через Kubernetes API и
kubectl. Обновления устанавливаются в неактивный слот, проверяются после перезагрузки и автоматически откатываются при проблемах.
Интересно, что на этом тулките собрали восемь очень разных систем: обычный кластер, маршрутизатор без контейнеров, гипервизор, платформу для LLM, промышленный узел реального времени и внешний кластер мониторинга.
Читать дальше на Хабре
@usr_bin_linux4 962
Пока одни облака лежат, другие работают.
Бизнесу нужен сайт без простоев и быстрые серверы без перерывов на обед. Клиенты должны пользоваться продуктом даже ночью.
В DLine Media ставка на доступность и стабильность:
— VPS/VDS от 210 ₽ в месяц;
— выделенные серверы от 3 930 ₽ в месяц;
— colocation для вашего оборудования;
— скидки до 30%;
— собственный ЦОД.
DLine Media — инфраструктура без переплаты.
👉 Забронировать ресурсы
4 962
MinIO Is Deprecated: Best Alternatives for S3-Compatible Storage
Долгие годы MinIO считался стандартным выбором для развёртывания S3-совместимого хранилища в собственной инфраструктуре. После архивации upstream-репозитория и прекращения привычной модели лицензирования неплохо было бы задуматься о будущем своих инсталляций.
В статье разбираются три возможные альтернативы — Garage, RustFS и SeaweedFS — и объясняется, для каких архитектур и нагрузок подходит каждая из них.
Читать статью на Medium
@usr_bin_linux
4 962
🖥 NeoHtop — альтернатива htop с графическим интерфейсом
Кроссплатформенный системный монитор показывает процессы и загрузку CPU и памяти в реальном времени. Процессы можно сортировать, закреплять, завершать, а также фильтровать по имени, команде или PID — поддерживаются регулярные выражения и поиск сразу по нескольким условиям.
Утилита построена на Rust, Tauri и Svelte, работает в Linux, macOS и Windows, поддерживает светлую и тёмную темы. Для любителей терминала авторы также выпустили отдельный NeoHtop CLI с деревом процессов, графиками и фильтрами.
Репыч на Гитхаб
@usr_bin_linux
4 962
⏱️ Почему Unix-время начинается с 1970 года и при чём здесь электрическая розетка
В первых версиях Unix время отсчитывалось не в секундах, а в шестидесятых долях секунды: системные часы PDP-11 получали импульсы от американской электросети с частотой 60 Гц. Такой 32-битный счётчик заканчивался всего за несколько лет, поэтому разработчики перешли на секунды и выбрали удобную точку отсчёта — 1 января 1970 года.
Но и это решение не вечно. 19 января 2038 года знаковый 32-битный счётчик переполнится и отправит уязвимые системы в декабрь 1901-го. Проблема касается не только старых компьютеров: она может скрываться в
INT-полях баз данных, бинарных форматах, JavaScript-операциях, MySQL TIMESTAMP, файловых системах и прошивках устройств.
В статье — история Unix-времени, наглядные эксперименты с C, JavaScript и ext4, а также разбор того, где искать проблему 2038 года уже сейчас.
Читать дальше на Хабре →
@usr_bin_linux4 962
Address already in use: как найти, кто занял порт, и почему он не всегда освобождается сразу
Сервис не запускается, потому что порт занят. Кажется, решение очевидно: найти PID и завершить процесс. Но иногда процесса уже нет, а порт всё ещё остаётся недоступен из-за состояния
TIME_WAIT. В случае с Docker его может удерживать контейнер через docker-proxy.
В статье разбираются основные сценарии этой ошибки и способы диагностики в Linux, macOS и Windows: как найти владельца порта через ss, lsof, netstat или PowerShell, правильно остановить systemd-сервис либо контейнер и отличить живой процесс от TCP-соединения, ожидающего завершения.
Отдельная часть посвящена профилактике: SO_REUSEADDR, различиям его поведения в Linux и Windows, а также тому, почему его не следует путать с SO_REUSEPORT.
Читать дальше на Хабре →