Обновить
315.26

Linux *

Пишем под *nix

Сначала показывать
Порог рейтинга
Уровень сложности

Инструкция: настройка дополнительного публичного IP-адреса на облачном сервере в Linux

Время на прочтение6 мин
Охват и читатели1.3K

Итак, вы назначили на сервер оба IP-адреса, корректно прописали настройки сети, но работает только один канал связи. Запросы уходят через один интернет-канал, хотя активны оба. 

Дело в том, что в Linux-системах может быть только один маршрут по умолчанию (default gateway). Если у сервера несколько внешних интерфейсов с разными подсетями, то ответы на запросы, пришедшие через второй интерфейс, сервер попытается отправить через основной шлюз таблицы маршрутов. Это приведет к асимметричной маршрутизации и отбрасыванию пакетов. 

Привет, Хабр! Меня зовут Саломея Яковлева, я специалист продуктовой поддержки в Selectel. В этой статье мы разберемся, как избежать такой проблемы с помощью механизма policy-based routing (PBR) на базе iproute2: создадим отдельные таблицы маршрутов и правила, направляющие трафик через правильный шлюз. 

Читать далее

Новости

Контроль доступа в Angie

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели7K

В любом проекте возникает необходимость ограничения доступа к определенным частям приложения. Веб‑сервер Angie предоставляет разнообразные возможности решения этой задачи с помощью стандартных (встроенных) и сторонних модулей, которые мы будем разбирать в этой статье.

Читать далее

Балансировка DNS-трафика и активные health-check'и апстримов — как и почему мы начали использовать DNSdist

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели5K

Коллеги, всем привет!

Долгое время в нашей внутренней сети для обработки DNS-трафика мы использовали только BIND, и нам с ним было хорошо. Но в какой-то момент его возможностей перестало хватать. В статье расскажу, что именно с BIND не так и почему теперь весь DNS-трафик у нас проходит через DNSdist. И что это вообще такое...

Читать далее

Создание легкого shell на си

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели4.8K

Многие начинающие разработчики которые начинаю писать на языке C сталкиваются с проблемой : Какой 1 пет-проект написать на C ? И вопрос то логичный ведь проекты на C никогда не славились легкостью по сравнению с проектами на python или JavaScript . И как по мне отличная идей написать shell ведь там не надо знать ассемблер или иметь глубокие знание в работе OC , и он относительно легок в понимании .

В этой статье мы с вами подробно разберем написание shell на языке C , как он устроен ,в чем отличия bash shell и cmd. И напишем свой shell на 450 строк кода

Начнем пожалуй с самыx базовых вопросах .

Читать далее

Как писать нативные игры с OpenGL ES для игровой ретро-консоли Anbernic на C#

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели8.9K

В этой статье я расскажу, как писать игры для консоли Anbernic средствами OpenGL ES на C# .NET8. Для примера напишу примитивный клон Майнкрафта.

Рендерить

Проблемы с которыми я столкнулся при написании рекурсивного парсера journal в Linux

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели7.2K

Добрый день, всем читающим данную статью. При анализе артефактов с Linux систем journal являются источником огромного количества полезной информации.
Существет большое количесвто утилит, которые парсят journal. Однако, у всех этих утилит есть свои минусы. По этой причине, у меня возникла идея написать свой кроссплатформенный парсер файлов journal, который мог бы обрабатывать не только файлы, но и директории, с возможностью экспорта в различные форматы и сортировке по временным меткам.
В процессе написания данного инструмента я столкнулся с несколькими проблемами и хочу поделиться способами, которыми я их решал.

Читать далее

Tiny Core Linux 16.2: полноценная система весом 23 МБ. Что это и зачем?

Время на прочтение5 мин
Охват и читатели22K

Tiny Core Linux — редкий пример проекта, который десятилетиями остается маленьким и при этом регулярно обновляется. Актуальная версия Tiny Core Linux 16.2 по-прежнему весит всего 23 МБ. Как разработчики уложились в такой объем? Где и кому вот это все может пригодиться в 2025 году? Давайте разбираться. И, к слову, если вы сталкивались с дистрибутивом, пусть и не новой версией, расскажите, как он вам, в комментариях.

Читать далее

GD32 Unleashed: тотальная эмуляция в QEMU

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели9.2K

Зачем эмулировать то, что можно купить за копейки? Тратить месяцы на создание виртуальной модели микроконтроллера, если реальная отладочная плата на базе GD32F303 стоит как пара чашек кофе? Ответ прост: хороший физический стенд — это не просто плата. Это проектирование, сборка, место в стойке, электропитание, обжиг кабелей и поддержка в рабочем состоянии. А самое главное — его часто нельзя раздать каждому разработчику. Но что, если можно запустить ту же прошивку, что и на реальном железе, в эмуляторе?

В этой статье я представляю результат работы нашей команды из отдела разработки встраиваемого ПО в YADRO. Наиболее полную на сегодняшний день модель SoC GD32F30X в QEMU и набор интерфейсов, которые делают взаимодействие с эмулируемой периферией «прозрачным» для хостовой системы.

Читать далее

Локальный диск на 288 ПБ: монтируем S3-бакет Yandex Cloud без боли

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели14K

Решил я тут, что будет удобно иметь S3 бакет как диск в системе для всякого. Так как я плотно работаю с Yandex Cloud, то и использовать буду их бакет.

У них довольно щедрые тарифы и достаточно большие бесплатные лимиты.

Я сижу на Федоре. Для подключения бакета буду использовать GeeseFS - - высокопроизводительная файловая система S3 ( Яндекс , Amazon ), соответствующая стандарту POSIX и написанная на языке Go.

GeeseFS позволяет монтировать S3 бакет как файловую систему. Файловые системы FUSE на основе S3 обычно имеют проблемы с производительностью, особенно при работе с небольшими файлами и операциями с метаданными. GeeseFS пытается решить эти проблемы, используя агрессивный параллелизм и асинхронность.

Будет работать кстати и на винде.

Естественно нужно иметь аккаунт в яндекс облаке. У меня он есть. Создать новый не представляет сложности. Там ещё и грант 4000 рублей дадут. Поэтому переходим к делу.

В облаке нужно будет создать бакет. А так же статические ключи доступа.

Скачиваю бинарник https://github.com/yandex-cloud/geesefs/releases/latest/download/geesefs-linux-amd64. Кстати должна быть установлена ещё fuse, в федоре она предустановлена.

В профиль aws нужно добавить созданный ранее статический ключ доступа. Если вы не пользовались aws cli, то нужно создать файл ~/.aws/credentials, если пользовались то файл уже есть. В него нужно добавить профиль

Читать далее

Самые частые ошибки при настройке VPS: опыт техподдержки

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели14K

«Сервер не пингуется», «интернета нет», «пароль не подходит», «почему пропало место на диске?» — если вы когда-нибудь арендовали VPS, эти фразы вам знакомы.

В техническую поддержку UltraVDS ежедневно приходят десятки подобных обращений, и за годы работы у нас сформировался вполне конкретный топ пользовательских ошибок при настройке виртуальных серверов. В этой статье мы собрали самые частые кейсы из практики поддержки — с пояснениями, что именно идёт не так и как это обычно чинится.

Читать далее

Состоялся релиз российской ОС с локальным ИИ «МСВСфера» 10.1

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели9.2K

Главной новинкой, конечно, стал ИИ-ассистент «Василиса», разработанный нашими  коллегами партнёрами из «Сибирских нейросетей» (Новосибирск). Его ключевая особенность — он работает полностью локально, без доступа в Интернет.

Читать далее

Rust в ядре Linux: долгий путь от осторожных попыток к реальному применению

Время на прочтение4 мин
Охват и читатели10K

Совсем недавно мы вспоминали, как Rust вырос из стартапа до языка, у которого серьезные планы на Linux. И вот свежие новости: на Maintainers Summit 2025 года разработчики ядра решили, что Rust доказал свою пользу и можно расширить сценарии его использования. Это не значит, что он теперь на равных с C, но проект вышел за рамки «просто эксперимент». Давайте разберем, как все происходило, зачем нужно, почему были споры и что это сулит для будущего ядра. Поехали!

Читать далее

8 лучших RDP-клиентов 2025 года

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели34K

Удалёнка уже стала нормой, поэтому надежный RDP‑клиент — обязательный инструмент админа. Под катом рассмотрим популярные RDP‑клиенты за 2025 год, а также расскажем, как выбрать подходящий вариант.

Читать далее

Ближайшие события

Отказоустойчивый кластер Angie с VRRP и Keepalived

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели5.4K

Ранее мы рассматривали различные варианты балансировки нагрузки (HTTP, L4) с помощью Angie. Однако мы обходили стороной вопрос отказоустойчивости. Балансировщик становится единой точкой отказа для системы, и эту проблему необходимо решать. Одним из решений является использование протокола VRRP для организации отказоустойчивого кластера — его мы и разберём в этой статье.

Читать далее

Шпаргалка по настройке VPS на Debian/Ubuntu (2025)

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели21K

Наконец-то я её доделал! Шпаргалка по настройке свежего Ubuntu/Debian VPS, которую начинал писать, когда ещё сам был новичком.

Вы только что купили сервер, а что дальше? Каждый раз я гуглил и пошагово делал одно и то же, тратил на это много времени, пока не собрал всё в одном месте. Теперь за 15–20 минут вы можете превратить «голый» VPS в безопасную и удобную машину.

Этот базовый минимум с чёткими командами и объяснениями. Никакого Ansible и сложностей — чистая ручная настройка. Подойдёт всем, кто только осваивает Linux, и каждый раз не знает, с чего начать.

Читать далее

Станет ли FreeBSD 15.0 новым шагом в развитии свободной ОС

Время на прочтение5 мин
Охват и читатели17K

2 декабря 2025 года, спустя два года после выхода ветки 14.0, сообщество FreeBSD представило долгожданный релиз 15.0. Нам обещают ряд технических улучшений и серьезные изменения в подходе к разработке и сопровождению системы. Кажется, все желающие уже выпустили новости по этому случаю с перечислением основных апдейтов. Что ж, попробуем посмотреть внимательнее, что же нам предлагают.

Читать далее

6 Docker-фич для продвинутого использования. Часть 2

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели23K

Привет Хабр! Снова.

Docker уже давно стал стандартом, и базовые команды вроде docker rundocker build или docker compose up знакомы любому разработчику. Но экосистема и инструментарий контейнеризации гораздо глубже.

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

Читать далее

Особенности работы с физической памятью в ОС Linux, часть 1

Уровень сложностиСложный
Время на прочтение7 мин
Охват и читатели8.3K

Когда в последний раз Вы задумывались, как выделяется память на самом низком уровне? Соединим ниточкой вызов malloc с системными вызовами, структурами ядра, а также особенности выделения физической памяти.

Читать далее

Два режима SPEC: разгоняемся на Peak, притормаживаем на Base

Время на прочтение7 мин
Охват и читатели5.1K

Привет, Хабр!

Все мы любим быстрые программы и высокие показатели в бенчмарках. Когда гоняешь тесты производительности, так и тянет включить все оптимизации компилятора, чтобы выжать максимум. Но если вы имели дело с пакетами тестов SPEC (например, SPEC CPU), то, вероятно, замечали, результаты там делятся на две категории Base и Peak.

В тестах SPEC CPU есть концепция базового прогона (base run) и пикового (peak run). Это строго определенные режимы с разными правилами оптимизации. Base про честность и сопоставимость, Peak про максимальную производительность любой ценой (ну, почти любой).

Смотреть детали

Поиск работы в Telegram: как автоматизировать рутину с помощью JobStalker

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели6.2K

Поиск работы часто превращается в бесконечный скроллинг по Telegram-каналам: десятки уведомлений, тонны сообщений, чтение длинных описаний вакансий, попытки понять, подходит ли это тебе. А ведь Telegram — один из самых популярных источников свежих предложений о работе, особенно в IT, маркетинге и фрилансе. Но вручную фильтровать всё это — сплошная потеря времени. Здесь на помощь приходят современные технологии: машинное обучение, которое может анализировать текст лучше, чем человек, и автоматизировать процесс.

Именно из этой идеи родился JobStalker — Telegram-бот, который мониторит публичные каналы с вакансиями, фильтрует их с помощью модели машинного обучения, оценивает релевантность и сохраняет подходящие варианты в удобной базе данных. Всё это с веб-интерфейсом для настройки и просмотра результатов. Проект полностью open-source, и вы можете развернуть его на своём ПК или сервере.

Ссылка на репозиторий

Читать далее
1
23 ...