Обновить
512K+

Linux *

Пишем под *nix

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

Поднимаем Linux на плате Zynq RK-7020-F V1.1 c помощью Buildroot и U-Boot SPL

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

Не так давно у меня на руках появилась плата RK-ZYNQ7020-F REV 1.1.

В данной статье я хочу поделиться своим опытом, связанным с подготовкой buildroot для данной платы. Здесь мы разберем этапы от формирования xsa файла до запуска платы и первых логов, с объяснением что происходит в железе на каждом этапе.
Также в рамках этой статьи я не буду использовать FSBL, мы попробуем обойтись U-Boot SPL.

Итак, приступим к рассмотрению!

Описание отладочной платы

Базовый набор периферии на данной плате, заявленный в документации:

Читать далее

Новости

Настоящие HDR фото — от съемки до просмотра

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

Всем привет! Это моя первая статья на Хабре. Я постарался максимально понятно изложить проблематику получения HDR изображений на современных мониторах и операционных системах.

Давайте сразу проясним, что подразумевается под HDR фото, а что нет. В начале двухтысячных было модное занятие сначала фоткать высококонтрастный объект с разными экспозициями, проводить так называемый  брекетинг экспозиции, а затем с помощью софта склеивать все в одно изображение. Изначальный огромный перепад яркостей сужался до обычного JPG и демонстрировался как достижение. Да, достижение было в виде сохранённых деталей в светах и тенях, но минимальный  и, что самое важное, максимальный уровень яркости был далек от натуры. К тому же неизбежным следствием являлось падение общего контраста. Так вот, это не HDR. Это, назовем его, прокрустово ложе, куда надо впихнуть невпихуемое, и на выходе получить псевдо-HDR. Данная статья просвещена получению настоящего HDR, где узость диапазона уже не мешает делать высококонтрастные снимки. И не только делать, но и увидеть.

Читать далее

Just for fun: как скучающий финский студент дважды перевернул IT-индустрию

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

Представьте, что завтра из нашего мира исчезнут все проекты Линуса Торвальдса. Ваш смартфон на Android моментально превратится в кирпич, интернет ляжет, а вся командная разработка ПО намертво встанет без Git. Удивительно, но вся современная цифровая инфраструктура держится на решениях, которые были придуманы одним человеком не ради миллиардов или славы, а просто из любопытства. В этой статье вспоминаем путь главного интроверта IT: от попыток починить старый Commodore до создания ядра Linux, победы над Microsoft и революции в Open Source.

Читать далее

Восстановление старого смартфона с неисправной внутренней памятью

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

В статье описано восстановление смартфона Alcatel POP3 4035D после отказа большей части встроенной памяти.

Читать далее

Пять проблем Bash, которые ломают скрипты в самый неудачный момент

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

Bash прощает многое: можно писать кривые скрипты годами, и они будут работать. Кривизна вылезает, как правило, в самый неподходящий момент.

В статье рассмотрим пять ошибок, которые встречаются даже в проектах с опытными админами, потому что поведение Bash в этих местах неинтуитивно и плохо документировано в одном месте.

Читать далее

Инструменты, которые должен знать каждый, кто арендует первый VDS

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

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

Читать

Как и зачем мы создавали AI-shell — ИИ-агента в терминале серверной ОС

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

Топ-3 темы к обсуждению друзей-айтишников после 30: куда катится этот мир, почему болит спина, как бесит AI. И ох уж тот самый неловкий момент, когда твои друзья хейтят вторжение AI в их профессиональную жизнь, а ты уже переобулся и на все сто причастен к этому вторжению.

Меня зовут Наташа, я менеджер проектов в Selectel. В этой статье расскажу, как, зачем и с какими инсайтами команда SELECTOS разработала aish (agent-integrated shell) —  терминал со встроенным AI-агентом для работы с сервером.

Читать далее

EvertyDesk Lite: зачем мы написали свой RustDesk-совместимый клиент на Rust и добавили в него ИИ

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

Всем привет!

Меня зовут Артур Валиев. Недавно я уже рассказывал на Хабре о том, как мы собирали собственный RustDesk Pro при помощи патчей и кастомных сборок.

Но со временем стало понятно, что нам тесно в рамках обычной кастомизации. Мы захотели пойти намного дальше.

Начать стоит немного издалека.

Почти пять лет я проработал в районной больнице. И если кто-то когда-либо занимался поддержкой медицинских учреждений, то прекрасно знает этот зоопарк инфраструктуры: старые компьютеры, терминальные серверы, виртуальные машины, Astra Linux, закрытые сети, ограничения безопасности и постоянная необходимость помогать пользователям удалённо.

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

Прошли годы, и теперь мы наконец сделали именно такой инструмент.

Так появился EvertyDesk Lite.

Это полностью нативный клиент удалённого доступа на Rust и egui. Один бинарник. Без браузера внутри. Без Electron, flutter. Без десятков зависимостей. Без необходимости тянуть половину интернета через репозитории.

Причём мы специально проектировали его так, чтобы он запускался даже там, где графический стек уже практически сдался. Astra Linux? РЕД ОС? Пожалуйста, старый марсианский корабль? Работает. Старая виртуалка без нормального OpenGL? Тоже запускается.

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

Читать далее

Свой systemd unit‑файл с нуля: от минимального скелета до production‑конфига

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

systemd unit‑файл часто начинается с пары строк из чужого примера, а заканчивается сервисом, который странно рестартует, пишет логи куда попало и работает с лишними правами.

В этой статье разбираем, как собрать unit‑файл для своего Linux‑сервиса: от минимального скелета до production‑настроек с рестартами, зависимостями, hardening‑параметрами, лимитами ресурсов и journald.

Читать далее

Что не так с SVG-файлами в Tcl/tk?

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

В версии tcl/tk-9.0 добавлена возможность создавать изображения image из SVG-файлов (а значит и сохранять их в png-формате). Всё было хорошо до тех пор пока мне для статьи на сайте Tcler's Wiki ни потребовался флаг США для кнопки переключения языка интерфейса:

Читать далее

Завод ИИ-агентов в одном терминале через оркестрацию

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

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

Учился на технолога бродильных производств. Защитил кандидатскую. Управляю пивоварней и параллельно — исполнительный директор в фирме по производству пищевого оборудования. Код не писал никогда. Но в детстве, когда появился нормальный интернет, я развлекался тем, что ставил на комп разные дистрибутивы Linux — от OpenBSD до классических. Не особо понимал, как их настраивать и зачем мне это. Потом, когда стал работать — понял, в чём сила Linux, но для настройки просто искал советы в интернете и копировал оттуда команды, или просил брата помочь.

А потом появились LLM. И я понял — вот оно. Можно не учить синтаксис, не зубрить фреймворки. Можно объяснить что нужно и получить работающий код. Вдохновился. Попробовал. Столкнулся с галлюцинациями, бесконечными переделками, кода сгенерировано уже куча — а он не работает. Перегорел. Попробовал снова.

Контекст такой: мне нужно было сделать АСУ ТП для пивоварни. Система управления технологическим процессом — датчики, клапаны, насосы, частотники. Я решил, что ИИ уже дорос. Начал с одного Claude‑агента: я ему говорю что делать, он делает. Потом дошёл до шести параллельных агентов. Они начали конфликтовать, переделывать работу друг друга, плодить баги. На одну фичу — пять новых проблем. Проект рос, но болезненно.

А потом на предприятии по производству оборудования случилась попытка рейдерского захвата. Пришлось бросить всё и месяц заниматься защитой станков. Код и агенты отошли на второй план.

Читать далее

TSPU Checker: как я написал инструмент для диагностики блокировок

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

В этой статье я расскажу, как мы с нуля разработали диагностический инструмент для анализа работы ТСПУ (Технических средств противодействия угрозам) в российских сетях. Скрипт позволяет определить режим блокировок, проверить доступность портов, выявить SNI-фильтрацию и даже диагностировать подмену DNS. Весь код — открытый, под MIT-лицензией.

Читать далее

Роб Савойе — вся жизнь в опенсорсе, разработчик свободного телефона LibrePhone

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

Роб Савойе (Rob Savoye) — один из основных разработчиков GNU Project, всю жизнь посвятил свободному ПО. Он приложил руку к созданию десятка опенсорсных проектов, включая GDB, GCC и Cygwin. Является ведущим разработчиком и мейнтейнером медиаплеера Gnash, через который можно воспроизводить проприетарные файлы Flash (SWF) под Linux.

А недавно Роб получил широкую известность как главный разработчик нового проекта LibrePhone по созданию первого в мире полностью свободного телефона, без проприетарных компонентов и бинарных блобов. Этот проект «должен закрыть последние пробелы между Android и свободным ПО».

Читать далее

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

Записки оптимизатора 1С (ч.17). Как избежать падения Postgres при большом потреблении памяти запросами

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

Рассмотрим одну из старых проблем со стабильностью работы Postgres – отсутствие полного контроля за потреблением оперативной памяти при выполнении запросов. В ряде случаев это приводит либо к свопированию, либо к падению СУБД и остановке работы информационной системы. Происходит это неожиданно, без предупреждения и в не самый удачный момент. В системах 1С эта проблема точно существует, встречали не раз.

Вроде бы на помощь должна прийти технология OOM Killer Linux, но, как обычно, не все так радужно и есть неприятные нюансы.

Читать далее

Как я перестал переключать VPN и разделил рабочий и личный интернет архитектурно

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

Если вы работаете в большой компании и одновременно живёте там, где есть какие-то региональные ограничения на сервисы, у вас почти наверняка две VPN-конфигурации:

рабочая — для доступа к внутренним ресурсам (GitLab, Jira, Confluence и т.д.)

личная — для личных целей

И постоянное переключение между ними — это, мягко говоря, неудобно.

Читать далее

Best Practices по Dockerfile: от базового образа и кеша до SBOM, Cosign и CI/CD

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

Статья получилась большой: практик много, и каждая из них важна по-своему. Я собрал её как набор best practices: не все пункты нужны каждому проекту, но почти каждый пункт однажды всплывает на ревью, в CI или после неприятного инцидента.

Я старался писать для разных грейдов: от базовых ошибок вроде COPY . ., latest и root-пользователя до продовых тем вроде BuildKit, секретов, SBOM, подписи образов и защиты цепочки поставки ПО.
Поэтому язык подачи здесь намеренно сухой, прямой и инженерный: без долгих заходов, без воды и без пересказа документации ради пересказа. Я хотел сделать не обзорную статью, а рабочую памятку, к которой можно вернуться при написании, ревью или доработке Dockerfile.

Чтобы в статье было легче ориентироваться, я разбил её на смысловые блоки. Ниже оглавление: нажали на нужный пункт — сразу перешли к соответствующему разделу.

Оглавление:

1. Базовый образ, версии и управляемое обновление

2. Контекст сборки, .dockerignore, копирование файлов и безопасное получение внешних данных ...

Читать далее

(Не)безопасный eBPF: что маркетологи забыли упомянуть об уязвимостях

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

eBPF называют «безопасным по умолчанию». Но что, если это не так?

Все хвалят eBPF за «безопасность и изоляцию». Но что если данные из вашей eBPF-мапы может прочитать любой процесс с правами root?

Я не буду учить писать свой eBPF-хелпер. Я покажу практический пример демонстрации этой уязвимости.

Пора разобрать вопрос, о котором часто молчат: почему данные из eBPF-мап могут быть доступны не только вашему агенту.

Читать далее

Linux на смартфоне — PostmarketOS

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

Один из немногих способов пользоваться чистым Linux на смартфоне - установка операционной системы PostmarketOS.

В данной статье я расскажу об этой системе, о том, как она ставится, о её возможностях и опыте использования.

Читать далее

Редактор, в котором главный — терминал: как я делал лёгкую IDE под эпоху ИИ-агентов

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

Год назад я почти перестал писать код руками - теперь чаще диктую задачу агенту прямо в терминале. И однажды понял, что мой здоровенный IDE превратился в дорогую рамку вокруг одного окна. Так появился лёгкий редактор, где терминал главный, а код с git - сбоку.

Внутри - про инженерию, а не про “качайте продукт”: как агент-независимо ловить “агент работает / ждёт ответа / закончил” через /proc, как собрать Windows-сборку Electron прямо с Linux без Wine, темы на контракте CSS-токенов и пара граблей, на которых я знатно подгорел (привет, Ctrl+V в русской раскладке).

Читать далее

Nexspence — бесплатная альтернатива Nexus Repository, которую помогал мне писать Claude Code

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

Привет, Хабр! Примерно полтора года назад я решил обновить наш рабочий Nexus Repository OSS — и был «приятно» удивлён: Sonatype отказались от OSS-версии и перешли на Community Edition с лимитами на количество репозиториев и компонентов. Платить за Pro я не хотел, переходить на Artifactory тоже — JFrog ушёл из России ещё в 2022-м. Так что пообещал себе разобраться с этим «на следующих выходных» и написать что-то своё. Выходные закончились, а я всё ещё пишу код 🙂 Но зато получился нормальный инструмент, которым пользуемся сами — и теперь хочу рассказать про него.

Это статья про Nexspence — open-source менеджер артефактов на Go, который поддерживает 14 форматов пакетов и совместим с Nexus REST API.

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