Обновить
290.47

Linux *

Пишем под *nix

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

Как скачать файл по HTTPS/HTTP с произвольным ограничением скорости

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

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

Читать далее

Беды с intel_pstate на Lenovo Yoga 9 2-in-1

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

Добрый день, уважаемые читатели.

Относительно недавно я приобрел себе ноутбук-трансформтер Lenovo Yoga 9 2-in-1.

Читать далее

Как в ALD Pro организована миграция с AD, групповые политики, работа с отечественными ОС. Интервью с разработчиками

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

Привет, Хабр! Продолжаю рассказывать про российские аналоги Microsoft Active Directory для построения корпоративных доменов. Идея этих материалов — собрать в одном месте все известные и распространённые отечественные аналоги, и чтобы человек, малознакомый или не знакомый с ними, мог выбрать нужный и сравнить ответы самих разработчиков. Да, тут на Хабре уже полно статей, но я решил сделать серию материалов, от которой можно отталкиваться, выбрать нужное решение и потом искать дальше материалы по теме. Первый материал был про российскую систему централизованного управления IT‑инфраструктурой «Ред Адм». В новом я поговорил с разработчиками ALD Pro.

Итак, встречайте разговор с директором серверного ПО «Группы Астра» Алексеем Фоменко и менеджером продукта ALD Pro «Группы Астра» Анатолием Лысовым. Мы поговорили о том, как был реализован проект, когда начался, какими он обладает фичами на конец 2025 года и можно ли на ALD Pro перейти с Windows‑инфраструктуры безболезненно. Приятного чтения!

Читать далее

Marathon OS: экспериментальная мобильная ОС на Qt6 и Wayland с фокусом на производительность

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

Разработчик Патрик Куинн недавно запустил проект Marathon OS. Это мобильная ОС на базе postmarketOS с полностью переработанным интерфейсом под Qt6, QML и собственным Wayland-композитором. Основная идея заключается в полном отказе от виртуальных кнопок в пользу жестового управления, вдохновленного BlackBerry 10, где все действия выполняются свайпами от краев экрана.

Сейчас система тестируется на базе OnePlus 6 и 6T, показывая стабильные 60 кадров в секунду, загрузку за 20–25 секунд и задержку ввода в пределах 10–15 миллисекунд. На устройствах со Snapdragon 845 приложения запускаются за 200–250 миллисекунд, что для чистого Linux выглядит весьма убедительно без каких-либо Android-подложек.

Читать далее

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

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

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

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

GDB хрясь!

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

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

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

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

Читать далее

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

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

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

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

Читать далее

systemd-nspawn: продолжаем знакомство

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

Привет, это снова Егор Гаврилов. И я сегодня и дальше познакомлю аудиторию с systemd-nspawn.

Это продолжение предыдущей моей статьи про systemd-nspawn.

Читать далее

Диагностика неполадок в 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 мин
Охват и читатели20K

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

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

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

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

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

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

Читать далее

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

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

Предположим, вы пишете многопоточное приложение для 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 мин
Охват и читатели15K

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

Разрабатываете 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.

Читать далее