Как стать автором
Поиск
Написать публикацию
Обновить
401.9

Linux *

Пишем под *nix

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

Сборка ядра Android и модулей aircrack-ng

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


Думаю, кто читает эту статью, сталкиваются с проблемой драйверов для
внешних устройств, в частности Wi-Fi адаптеров, таких как Alfa, TP-Link и других на
чипсетах RTL. Здесь я опишу принципы компиляции ядер Samsung с использованием
системы сборки Soong для Android-устройств, а также расскажу, как подготовить среду
для компиляции и сборки ядра. Кроме того, я опишу, как скомпилировать внешние модули ядра aircrack-ng для мобильных устройств.

Читать далее

Руководство по началу работы с отладочной платой MIK32-DIP (K1948ВК018, Амур) в ОС GNU/Linux

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров4.3K

MIK32 АМУР или K1948ВК018 является российским микроконтроллером (МК) с ядром на открытой архитектуре RISC‑V. По какой‑то причине производитель МК ГК «Микрон» предлагает в качестве средства разработки,‑ средство на базе Eclipse, но исключительно под Windows, что далеко не всех устраивает. А также, в руководстве по эксплуатации на данный МК, предлагается использовать VS Code, и это конечно более универсальный (кроссплатформеный) вариант, но предполагает использование VS Code совместно с плагином PlatformIO, что опять же устраивает далеко не всех. Поэтому я рассмотрю в данном руководстве старт работы с отладочной платой MIK32-DIP в ОС GNU/Linux в IDE Eclipse.

Чтобы начать работу вам понадобятся:

Читать далее

Открытая архитектура для мобильных устройств и систем управления технологическим процессом: развитие ПО для RISC-V

Время на прочтение2 мин
Количество просмотров1.6K

Если вы хотите узнать, готов ли RISC-V к мобильным устройствам, как развивается экосистема открытого ПО и какие перспективы ждут технологию в России, то у вас есть планы на пятницу! 14 марта в 19:00 пройдет новый митап российского Альянса RISC-V — независимого объединения разработчиков вычислительной техники и программного обеспечения на основе открытой архитектуры. 

Участники события, организованного совместно с YADRO, узнают о новейших тенденциях в экосистеме программного обеспечения для RISC-V, обсудят развитие технологий и смогут задать вопросы экспертам. Регистрируйтесь на митап, чтобы подключиться онлайн и быть в курсе развития экосистемы RISC-V в России.

Читать далее

История S.u.S.E. Кульминация

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

Продолжение истории про зарождение и развитие дистрибутива SuSE. В прошлой части мы остановились на том, что в декабре 2001 года компания выпустила SuSE Linux Enterprise Server для мейнфреймов IBM S/390. В тот же год в США произошла рецессия, которая ощутимо сказалась на делах компании. Продолжим…
Читать дальше →

История еще одного патча: зависшая батарея

Уровень сложностиСложный
Время на прочтение5 мин
Количество просмотров6.9K

Ноутбук засыпает, ноутбук просыпается, батарея «зависает» — более не отдает ни уровень заряда ни другие показатели, вне зависимости от подключения к сети.

Патч ядра Linux и три года изысканий, рассказываю как это было.

Читать далее

История S.u.S.E. Начало

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

В 1992 году четверо студентов из немецкого городка Фюрт — Роланд Дирофф, Томас Фер, Хьюберт Мантель и Бурхард Стайнбильд — мечтали о независимости. Им хотелось идти своим путём, работать на себя и получать от этого удовольствие. В колледже ребята много работали с UNIX, а в Хельсинском университете как раз выпустили новое опенсорсное ядро Linux. В то же время Питер Макдональд создал дистрибутив Softlanding Linux System (SLS), а Патрик Волькердинг выпускал исправления для него, бесплатно распространяя их через FTP. Но везде была одна общая проблема — большинство систем UNIX и Linux поддерживали только английский язык. Тогда четверо друзей решили упростить себе и людям жизнь, занявшись локализацией SLS для немецкой аудитории.
Читать дальше →

Пишем свой загрузчик операционной системы Linux

Уровень сложностиСредний
Время на прочтение23 мин
Количество просмотров26K


Меня давно интересовал вопрос, насколько сложно написать собственный загрузчик операционной системы. Я не говорю о простой программе, выводящей «Hello, World!», а о полноценном загрузчике, который передаёт управление от встроенного программного обеспечения компьютера ядру операционной системы. Современные загрузчики представляют собой сложные программы, способные загружать множество операционных систем различными способами, учитывая массу нюансов, связанных с программным и аппаратным обеспечением. Читая их исходный код, легко утонуть в деталях и потерять понимание сути и реализации.


Я решил начать изучение с максимально простого подхода, постепенно усложняя задачи, экспериментируя и получая новые знания. Если мне удалось вас заинтересовать, добро пожаловать под кат.

Читать дальше →

Брокер сообщений на Rust

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

Всем привет.

Написал бессерверный брокер сообщений, кому интересно прошу под кат.

Читать далее

Программисты 21 века. Линус Торвальдс

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


Линус Торвальдс — финн шведского происхождения, в детстве говорил по-шведски и ходил в шведскую школу. Родился 28 декабря 1969 года в семье журналистов и деда-математика.
Читать дальше →

Эффективное межпроцессное взаимодействие с использованием IPC и Shared Memory

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

В данной статье рассматривается использование механизма разделяемой памяти (shared memory) для эффективной передачи данных между независимыми процессами в рамках одной машины. Цель статьи — продемонстрировать не только базовые принципы работы с разделяемой памятью, но и показать, как размещать в ней высокоуровневые контейнеры, такие как хеш-таблицы (unordered_map), а также рассмотреть практический пример потоковой обработки данных при помощи кольцевого буфера.

Читать далее

YADRO x SpbLUG LINUX Kernel Meetup: шире память, точнее обновления, больше RISC-V

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров1.6K

Осенью мы в YADRO собрали митап про ядро Linux. Можно было бы придумать интересный каламбур, но вместо этого мы поблагодарим SpbLUG, питерское сообщество пользователей GNU/Linux, и расскажем, что было на митапе. На повестке дня — «точечные» обновления ядра Linux без перезагрузки, расширения RISC-V в Linux, а также создание собственного модуля Memory Extender. Далее в посте вы найдете записи и презентации докладов.

Читать далее

Что нового в IMSProg в 2025 году?

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

В октябре 2024 года я описал историю создания программатора микросхем CH341a для Linux систем. Год назад я рассказал о дополнительных возможностях программы, появившихся позднее. Давайте посмотрим, что изменилось в программе за год.

Читать далее

Как мы прокачали архитектуру, чтобы упростить эксплуатацию продукта

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

Хабр, привет! С вами снова на связи команда ALD Pro, а за главного сегодня буду я, Илья, и мой коллега Михаил.

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

Читать далее

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

Книга: «Linux для разработчиков»

Время на прочтение16 мин
Количество просмотров8.7K
Привет, Хаброжители!

Многие разработчики программного обеспечения недостаточно хорошо разбираются в системах семейства Unix, хотя они повсеместно встречаются в мире разработки. Некоторые программисты даже не подозревают, что в их должностные обязанности входит работа с Unix или подобными системами на своих компьютерах (macOS), в среде разработки (контейнеры Docker), в системах сборки и автоматизации (процессы непрерывной интеграции и GitHub), в среде развертывания (серверы и контейнеры Linux) и в других обстоятельствах.

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

Путь пакета через ядро Linux

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

Аннотация - Сетевые стеки являются основой коммуникации и обмена информацией. В данной статье исследуется сетевой стек TCP/IPv4 и UDP/IPv4 в Linux, наиболее распространенной серверной ОС. Мы описываем трассировку наиболее важных сетевых функций ядра Linux 5.10.8. Хотя документация по сетевому коду Linux существует, она часто устарела или охватывает только отдельные аспекты, такие как уровень IP или TCP. Мы рассматриваем эту проблему комплексно, охватывая путь пакета на выходе и входе через сетевой стек Linux. Кроме того, мы освещаем тонкости реализации и показываем, как ядро Linux реализует сетевые протоколы. Наша статья может послужить основой для оптимизации производительности, анализа безопасности, наблюдения за сетью или отладки.

Читать далее

Ограничение доступа к метрикам Node Exporter по IP-адресам

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров2.3K

В современных инфраструктурах информационной безопасности одной из ключевых задач является ограничение доступа к системным метрикам. По умолчанию Prometheus Node Exporter предоставляет метрики в открытом доступе, что может привести к утечке информации о состоянии системы или атаке на сервис мониторинга.

Для повышения безопасности необходимо реализовать возможность ограничения доступа к метрикам только для определённых IP-адресов, что позволит контролировать, какие клиенты могут запрашивать метрики.

В данной статье рассмотрим, как внести соответствующие изменения в код Node Exporter, а также процесс сборки обновленного пакета.

Изменение кода

Добавление нового флага командной строки

Для управления доступом по IP-адресам добавим новый аргумент --web.client-ip-only, который будет содержать список разрешённых IP-адресов, разделённых запятыми. Если параметр не указан, метрики будут доступны для всех.

В файле main.go регистрируем новый флаг:

поехали...

Кто сильнее: XDocument или XmlDocument, или как я приручал табличные редакторы

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

Привет! Я Кирилл Пронин, разработчик PIX RPA из PIX Robotics. В этой статье расскажу о том, как мы учили наш продукт работать с импортозамещенными табличными редакторами в Linux-подобных операционных системах, кто сильнее - XDocument или XmlDocument, и какие лайфхаки я унес с собой.

Читать далее

ROS2 — курс: Новый этап в образовательной робототехнике

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

🚀 ROS2 – Новый этап в образовательной робототехнике!

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

🔍 В статье расскажу, как родилась идея курса, какие проблемы он решает и как любой желающий может начать осваивать ROS2, даже без опыта работы с Linux.

Готовы изучать ROS2 и строить роботов? Для желающих 4-6 апреля пройдет хакатон!

Читать далее

Многопоточное программирование на C

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

Привет хабр! Новичок в написании статей, но никогда не поздно начать. Объемный гайд по функциям pthreads для людей знающих базы C/C++.

Читать далее

Сливаем отчетность американской Cyber League с помощью базовых утилит Linux

Время на прочтение11 мин
Количество просмотров5.8K

В этой статье я расскажу, как создать хакерское приложение, используя встроенный язык программирования Linux, и собрать базу данных участников западной «Национальной Киберлиги». Можно сказать, хакнем хакеров! ;)

Начнем со ссылки на отчет о соревнованиях Western National Cyber League, а закончим полноценным инструментом автоматизации. По пути рассмотрим основы работы с сURL, научимся обходить базовые ограничения веб-приложений и поработаем с PDF-документами из командной строки. 

Статья будет полезна специалистам по информационной безопасности и всем, кто интересуется автоматизацией процессов в Linux.

Читать далее

Вклад авторов