Обновить
407.88

Linux *

Пишем под *nix

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

Аппаратные брейкпойнты: для чего они нужны и как устроены в Linux

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

Всем привет! Наша группа занимается RISC-V Linux и загрузчиками в компании «Синтакор». Однажды перед нами возникла задача — реализовать поддержку аппаратных триггеров в ядре Linux и OpenSBI. Она стала началом исследования, в ходе которого я изучил смысл аппаратных триггеров с точки зрения отладчика, их устройство и использование для вотчпойнтов и брейкпойнтов, а также принял участие в совершенствовании поддержки аппаратных триггеров в RISC-V Linux и OpenSBI. 

Этими знаниями я хотел бы поделиться в статье. Покажу на примерах, как устроены брейкпойнты и вотчпойнты в отладчиках, сравню их программную и аппаратную реализации, покопаюсь в деталях их работы в ядре Linux. Начну с легкого способа сломать GDB, а к каким выводам он приведет, вы узнаете далее под катом.

GDB хрясь!

Аморальный патч для Intel DRM

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

На свете есть не так много вещей, способных выбесить программиста. И лишь одна делает это с гарантией: оборзевшая в край машина, возомнившая себя умнее человека.

А значит снова пришло время карать и патчить!

Читать далее

Типичные проблемы с Docker и как их решать

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

Docker прочно вошел в нашу жизнь, став стандартом де-факто для контейнеризации приложений. Он обещает среду «работает на моей машине — будет работать везде», и в большинстве случаев так и есть. Но рано или поздно каждый разработчик или DevOps-инженер сталкивается с ситуацией, когда эта магия дает сбой. Контейнер не запускается, приложение не видит друг друга, а диск сервера таинственным образом переполняется.

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

Читать далее

Диагностика неполадок в Linux: эти 4 шага помогут исправить 99% ошибок

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

Любая неожиданная ошибка в Linux может выбесить. Но хорошая новость в том, что почти каждую проблему в Linux можно решить, если действовать просто и системно. Всего четыре базовых шага, которые подходят почти под любую ситуацию. Главное, оставаться последовательным. Эффективная диагностика в Linux — это системный подход, когда вы проверяете по одному возможному источнику проблемы за раз.

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

4 шага диагностики

Личное облако на Proxmox: нейронки, LLM и embedding

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

В прошлой статье я описывал как построить сетевую часть самодержавного сервера, пора принести в него что-то отдаленно разумное. Это руководство описывает весь процесс: от подготовки хоста Proxmox и настройки LXC-контейнера до поиска, конвертации и запуска embedding-моделей (на примере BAAI/bge-large-en-v1.5) с использованием Intel GPU для работы модели. Но будет легко запустить не одну модель или полноценного чатбота на этой основе. Главное, что будет ясно как использовать даже простое имеющееся железо домашнего сервера для этого.

Читать далее

Архитектура слежки: Сравнительный анализ приватности веб-браузеров

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

Ваш браузер — это окно в интернет или двустороннее зеркало? По умолчанию многие из них спроектированы как настоящие терминалы для сбора данных.

Внутри статьи — детальный разбор телеметрии, оценка уровня шпионажа и, самое главное, исчерпывающее практическое руководство. Вы узнаете, как превратить Firefox в крепость с помощью about:config и настроить AdNauseam для тотальной блокировки слежки. Пора вернуть контроль над своей приватностью.

Читать анализ и руководство

Как ускорить управление сетевой подсистемой Linux: пишем Netlink-обертку на C++

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

Привет, Хабр! Меня зовут Егор Карамышев, в YADRO я разрабатываю ПО для коммутаторов семейства KORNFELD. В статье расскажу о реализованной нами С++ обертке для управления сетевой подсистемой Linux на основе протокола Netlink и библиотеки libnl3. В некоторых случаях она позволила  на порядок ускорить работу функций конфигурирования. Разберемся, почему мы решили отказаться от подхода с системными вызовами, а также посмотрим на результаты временных тестов.

Читать далее

О правильной и аккуратной остановке потоков в Linux

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

Предположим, вы пишете многопоточное приложение для Linux, которое рассчитано на длительную работу. Может — это СУБД или какой-нибудь сервер. Представим ещё, что ваша программа не рассчитана на какую-нибудь среду выполнения кода (скажем — на JVM, Go или BEAM), которая берёт на себя управление низкоуровневыми вещами. Вы сами управляете порождением потоков (thread), прибегая к системному вызову clone. Когда пишут на C — потоки создают с помощью pthread_create, а в C++ применяется std::thread. (1)

Читать далее

Почему корпорации зарабатывают миллиарды на «бесплатном» коде. История Open source

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

За 50 лет, с 1950 по 2000 годы, открытое программное обеспечение (open source software) началось как неявное предположение — без названия и без четкой альтернативы. Со временем оно превратилось в развитое движение, которое создало одни из самых стабильных и широко используемых программных пакетов в истории.

Сегодня мы попробуем проследить, с чего всё начиналось, какие события способствовали развитию движения и почему без Open Source IT сегодня было бы совсем другим.

Читать далее

Как настроить Nginx, чтобы выдержать DDoS

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

Привет, Хабр! Меня зовут Сергей Черкашин, и я — руководитель команды по эксплуатации систем и защиты от DDoS-атак в Wildberries & Russ.

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

Читать далее

Ваш смартфон — это сервер. Поднимаем Telegram-бота на Android без root и затрат

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

Хотите запустить своего Telegram-бота, но не желаете платить за VPS ради простого пет-проекта? А что, если я скажу, что полноценный Linux-сервер уже лежит у вас в кармане? В этой статье мы пошагово превратим любой Android-смартфон в хостинг для нашего бота на Python. Без root-прав, вложений и сложных настроек. Понадобится только приложение UserLAnd и 60 минут времени.

Читать далее

Манифест цифровой приватности: От Zero Trust до анонимных сетей

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

Современный цифровой мир — это враждебная среда, где приватность стала товаром, а тотальная слежка — нормой. Это практическое руководство, основанное на принципе Zero Trust, научит вас выстраивать многоуровневую защиту: от выбора и настройки ОС до обхода DPI с помощью VLESS + Reality и соблюдения правил операционной безопасности (OPSEC). Разберем сильные и слабые стороны Tor и I2P и научимся противостоять деанонимизации. Цель — не стать невидимым, а сделать стоимость вашей деанонимизации нецелесообразной.

Полное руководство

Реализация гео-блокировки на основе eBPF/XDP

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

В 2022 году финансовый сектор, в частности банки, столкнулся с волной продолжительных и достаточно мощных DDoS-атак разных векторов. Среди них были и банальные L7 HTTP-флуды, не представлявшие собой ничего сложного в техническом плане, но для организаций с несколькими сотнями пользовательских сервисов и защитой от L7-атак только критичных из них, это стало серьезным вызовом.

Типичная L4-защита не давала необходимой эффективности, а количество атакующих устройств было достаточно, чтобы забить каналы пропускной способностью в десятки гигабит. Тогда на помощь пришла фильтрация трафика по географическому признаку, поскольку основная часть атакующего трафика шла из-за границы. Применение гео-фильтрации оказалось достаточным, чтобы в критический момент восстановить доступность сервисов и выиграть время для настройки более точной защиты на основе детального анализа трафика.

Этот опыт наглядно показал, что иногда простые решения оказываются наиболее эффективными в критических ситуациях. Гео-фильтрация, будучи грубым инструментом, в условиях DDoS-атаки может стать тем самым «спасательным кругом», который позволяет локализовать проблему и выиграть время для более тонкой настройки.

Технология XDP (eXpress Data Path) идеально подходит для таких сценариев — она позволяет обрабатывать пакеты на самом раннем этапе, еще до того, как они попадут в сетевой стек ядра, что обеспечивает беспрецедентную производительность.

Данной статьей хочется продемонстрировать, как с помощью XDP можно достаточно легко реализовать собственный гео-фильтр. Эту защиту можно реализовать, например, модулями nginx, но в таком случае все нежелательные запросы будут проходить полный сетевой стек операционной системы и потреблять ресурсы веб-сервера, прежде чем быть отклоненными. В нашем же случае защита отрабатывает до того, как пакеты поступят в сетевой стек ядра.

Читать далее

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

Заводной абрикос

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

Помимо всем известной Apple, на свете существовала еще одна «фруктовая» компания, выпускавшая очень популярные компьютеры.

И сейчас мы цинично оживим и запустим эмулятор этих замечательных машин.

Читать далее

Тестирование Ansible-ролей локально на macOS (Apple silicon) с помощью драйвера molecule-lima

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

Разрабатываете Ansible роли на macOS с процессорами M1/M2/M3/M4? Тогда вы знаете проблему локального тестирования роли: molecule + vagrant + virtualbox не работает, molecule + vagrant + VMWare через "костыли", а Docker не подходит для тестирования системных компонентов. Я написал драйвер molecule-lima, который использует нативную виртуализацию macOS через Lima и полностью интегрируется со стандартным Molecule workflow. Драйвер реализован на Ansible playbooks, работает на macOS (ARM/Intel) и Linux, устанавливается одной командой pip install molecule-lima.

Читать далее

Ноябрьский «В тренде VM»: уязвимости в продуктах Microsoft, Redis, XWiki, Zimbra Collaboration и Linux

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

Хабр, привет! На связи Александр Леонов, ведущий эксперт PT Expert Security Center и дежурный по самым опасным уязвимостям месяца. Мы с командой аналитиков Positive Technologies регулярно исследуем информацию об уязвимостях из баз и бюллетеней безопасности вендоров, социальных сетей, блогов, телеграм-каналов, баз эксплойтов, публичных репозиториев кода и выявляем во всем этом многообразии сведений трендовые уязвимости. Это те уязвимости, которые либо уже эксплуатируются вживую, либо будут эксплуатироваться в ближайшее время.

С прошлого дайджеста мы добавили еще 9 трендовых уязвимостей.

Читать далее

Обзор коммерческих дистрибутивов Linux: зачем люди платят, если можно не платить

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

Привет! Меня зовут Кирилл, я представляю коммерческую команду SelectOS — серверной операционной системы от Selectel. Перед запуском продукта моя команда изучила мировой опыт наиболее успешных коммерческих Linux-дистрибутивов, и в этой статье я предлагаю посмотреть, как RedHat, SUSE и Canonical строили свой бизнес на основе OSS, то есть open-source-software. 

Мы разберемся, какие уроки можно извлечь из опыта крупнейших мировых вендоров, с поправкой на российский рынок, проанализируем бизнес-модели, стратегии и драйверы роста. А также попробуем понять, почему при наличии бесплатной версии ПО множество компаний по всему миру все равно выбирают покупку платной версии. Подробности под катом!

Читать далее

Тестирование в школе, или Unix-way в системе образования

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

Здравствуйте. Я не айтишник — я учитель истории с более чем десятилетним стажем. Но информационные технологии всегда были моей страстью и надёжным инструментом в работе.

В этой статье я хочу рассказать о собственном опыте внедрения системы тестирования в школьной практике. Моя программа предельно проста — она написана на Python в духе unix-way: делает одну вещь, но делает её хорошо. Опытные разработчики вряд ли увидят в ней что-то новое, но цель текста — показать, как принципы системного администрирования и инженерного мышления могут помочь в решении педагогических задач.

Читать далее

Как установить и настроить VPS-сервер: чек-лист для начинающих

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

Вы купили VPS-сервер и не знаете, что делать дальше? Разбираю шаг за шагом, как безопасно подготовить сервер к работе, даже если вы впервые открыли терминал. 

Читать далее

Linux-телефоны сейчас важнее, чем когда-либо

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

В октябре 2025 года Фонд свободного ПО (FSF) представил проект Librephone — это будет первый в мире полностью свободный смартфон, абсолютно открытый на уровне ПО и железа.

Проект пока находится на этапе идеи. Но эта идея абсолютно правильная и уже нашла поддержку у публики.

Читать далее