Обновить
256K+

Linux *

Пишем под *nix

414,09
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности
Формат публикации

C++, ping и traceroute

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

Изучая сетевое программирование и имея в портфолио несколько проектиков на C++, связанных с сетевым программированием, я решил написать что-нубудь, что будет иметь реальное практическое применение.

Первое, что мне пришло в голову - утилита ping.

Читать далее

Руководство по Кросс-Платформенному Системному Программированию для UNIX и Windows: Уровень 1

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

С помощью этого учебного материала мы научимся писать кросс-платформенный код на Си, используя системные функции популярных ОС (Windows, Linux/Android, macOS и FreeBSD): управление файлами и файловый I/O, консольный I/O, пайпы (неименованные), запуск новых процессов. Мы напишем свои небольшие вспомогательные функции поверх низкоуровневого системного АПИ (API), для того чтобы наш основной код, используя эти функции, мог работать на любой ОС без изменений. Этот учебный материал — начального уровня. Я делю сложные вещи на части, чтобы примеры кода здесь не были слишком заумными для тех, кто только что начал программировать на Си. Мы обсудим различия между системными АПИ и разберёмся, как создать кросс-платформенный программный интерфейс, который скрывает все эти различия от пользователя этого интерфейса.

Читать далее

Дистрибутив Ubuntu Cinnamon получил статус официальной редакции Ubuntu

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


В конце марта дистрибутив Ubuntu Cinnamon на базе пользовательское окружение Cinnamon получил статус официальной редакции Ubuntu.
Читать дальше →

Вышла бета-версия Ubuntu 23.04

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

Вышла бета-версия дистрибутива Ubuntu 23.04 «Lunar Lobster». Теперь разработчики перешли к итоговому тестированию и исправлению ошибок. Релиз запланирован на 27 апреля. Готовые тестовые образы созданы для Ubuntu, Ubuntu Server, Lubuntu, Kubuntu, Ubuntu Mate, Ubuntu Budgie, Ubuntu Studio, Xubuntu, UbuntuKylin (редакция для Китая), Ubuntu Unity, Edubuntu и Ubuntu Cinnamon.

Читать далее

Когда один TCP-порт может быть поделён

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

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

Читать далее

Компактный make для STM32 с USB

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

Дата появления микроконтроллеров STM32, судя по datasheet, 2007 год, и с тех пор они признаны очень успешным и популярным чипом. Поэтому для них уже написано множество готовых примеров с поддержкой почти всех технологий как самим вендором так и комьюнити. Это и всевозможные USB устройства включая флешку и звуковую карту, и целочисленные варианты кодеков (WMA, Speex), и даже готовые сборки под ethernet с lwip стеком так же в наличии. В то время комьюнити пытается догнать вендора и написало библиотеку libopencm3, уже в отличии от оригинала, основанную на make, а не привязанную к среде. И в ней есть так же примеры с USB. И вот, на фоне всего этого я представил что STM32 ничем не сложнее меги, вооружившись таблицей разметки памяти с адресами регистров начинаю писать еще один вариант стандартной библиотеки для STM32. Гораздо более наивный, но зато компактный. Смыл был однозначно, я вообще считаю что если не понравился любой стандартный продукт, то это повод переписать его полностью, хотя вы можете со мной не согласиться.

Читать далее

Король умер. Да здравствует Nxs-backup v3.0

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

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

Читать далее

Как разработать драйвер Linux с нуля

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

Недавно я занимался изучением IoT и, так как мне не хватало устройств, при попытках симулировать работу прошивки я часто сталкивался с неимением нужного /dev/xxx. Так что я стал задумываться, а могу ли написать драйвер самостоятельно, чтобы заставить прошивку работать. Независимо от того, насколько сложно это будет, и удастся ли воплотить такое намерение, в любом случае вы не пожалеете, если научитесь разрабатывать драйвер Linux с нуля.
Читать дальше →

Linux-порт Far Manager: новости весны 2023

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

Обычно я пишу статьи об развитии проекта far2l — порта знаменитого Far Manager под Linux, MacOS и BSD (а теперь ещё и Haiku) раз в год. Но иногда случается так, что объем новостей на статью набирается быстрее. Недавно произошло сразу несколько важных событий, поэтому дожидаться конца года не буду, а опубликую самое интересное сразу.

Нас взяли в Debian!

Это, пожалуй, главная новость. К сожалению, в Bookworm мы попасть не успели, так что ждите нас в следующем выпуске, или в Ubuntu 23.10. Да, можно будет делать sudo apt install far2l, без всяких сложностей с ppa или самостоятельной сборкой!

Читать далее

Удивительное рядом. Как устроен буфер обмена в Windows и Linux

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели27K
Опенсорсная утилита CopyQ показывает содержимое буфера обмена на всех ОС и сохраняет историю

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

В некоторых случаях данные вообще нигде не сохраняются по нажатию Ctrl+C. И по нажатию Ctrl+V будет возвращён NULL. Shit happens, как говорится…
Читать дальше →

Фонд свободного программного обеспечения объявил победителей премии Free Software Awards 2022

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


Фонд свободного программного обеспечения (FSF) объявил победителей премии Free Software Awards 2022, которая ежегодно вручается за развитие свободного программного обеспечения (СПО).
Читать дальше →

Как создать аппаратный эмулятор CD-ROM без паяльника

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

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

Существует множество решений, как можно установить операционную систему с ISO-образа без записи его на оптический носитель. Я уже затрагивал тему ISO-образов в моих статьях: «Раскрываем секреты загрузочных ISO-образов» и «Что вам нужно знать о внешних загрузочных дисках».

В этой статье я хочу рассказать о ещё одном способе, который, как оказывается, вшит в ядро Linux. Если ваш одноплатный компьютер имеет USB OTG-разъём, и на него возможна установка Linux, то вы c большой долей вероятности можете сделать из одноплатника аппаратный эмулятор привода оптических дисков.

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

Я сам узнал много интересного, систематизировал свои знания, поэтому надеюсь, что чтение будет познавательно и интересно для вас.
Читать дальше →

Phoronix: Intel закрыла проект и удаляет код Linux-драйвера для так и не вышедшего Thunder Bay

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

Портал Phoronix сообщил о выходе у Intel патча, удаляющего код Thunder Bay из ядра Linux. Удаление началось с исправлений в eMMC. Согласно имеющимся данным, Thunder Bay представлял собой SoC с сочетанием ядер Arm Cortex A53 и Movidius VPU, но за несколько последних лет разработка так и не вышла в свет официально.

Читать далее

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

Особенности национального ПО: обзор РЕД ОС

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

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

Именно поэтому было решено посвятить статью одному из таких продуктов. Речь пойдет о российской операционной системе РЕД ОС — дистрибутиве, построенном на базе ядра Linux и пакетной базе RPM. Со слов разработчиков дистрибутива, РЕД СОФТ опирается на опыт ведущих мировых сообществ Open Source и придерживается конвенций о наименовании пакетов и спецификации сборок.

Решающим фактором в выборе РЕД ОС является наличие свидетельства государственной регистрации программ ЭВМ и ее наличие в едином реестре российских программ.

В рамках статьи будет продемонстрировано развертывание простого Bitrix окружения на этой ОС, а именно развертывание стандартного LEMP (Linux, Nginx, MySQL, PHP) и установка дополнительных решений для работы проекта на данном дистрибутиве. Однако мы посчитали скучным описание установки стека LEMP только из родного репозитория, поэтому решили в рамках статьи развернуть СУБД MySQL 5.7, пакеты которой отсутствуют в репозиториях РЕД ОС. Как показывает наша практика, данная версия MySQL все еще остается одной из самых популярных для LEMP‑стек проектов.

Читать далее

Вышел дистрибутив Amazon Linux 2023

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

Amazon опубликовала первый стабильный выпуск дистрибутива Linux 2023 (LTS). Он оптимизирован для облачных окружений и поддерживает интеграцию с инструментами и возможностями сервиса Amazon EC2. 

Читать далее

Патч для процессора Baikal не принят в ядро Linux с интересной формулировкой (upd)

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

В ответ на патч для linux от разработчкика Байкал Электроникс для сетевого драйвера stmmac, который включает множество исправлений и поддержку процессора Baikal Jakub Kicinski заявил:
We don't feel comfortable accepting patches from or relating to hardware produced by your organization.

Читать далее

GitHub перевёл репозиторий IPMI Tool и другие проекты разработчика Александра Амелькина в режим Public archive

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


Веб-сервис для хостинга IT-проектов и их совместной разработки GitHub без предварительного уведомления и каких-либо объяснений перевёл репозиторий IPMI Tool и все остальные проекты разработчика Александра Амелькина (AlexanderAmelkin) в архивный режим (Public archive). Они остались доступны на платформе, но только в режиме чтения.
Читать дальше →

Avalonia и котики и дизайн для разработчика

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

В эпоху невероятной популярности ChatGPT и OpentAI все кинулись играть с их инструментами и использовать API в своих продуктах. Я был в общих рядах и сделал продукт для тех, кому затруднительно воспользоваться официальным сайтом ChatGPT. Но в этой статье речь пойдет не о восхитительных продуктах MS, а о создании интерфейса с котиками на основе этого продукта.

Итак, у нас стоит задача: создать десктопный чат с GTP3, которым будет удобно пользоваться человеку, далекому от пк.

Читать далее

KVM: Что такое Kernel-based Virtual Machine?

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

Начнем с простого вопроса:

Что означает QEMU/KVM или QEMU-KVM?

Можно ответить - это QEMU + KVM или qemu-system, запущенный с kvm в качестве ускорителя. Но в какой-то степени это еще и анахронизм, так как с появлением KVM его разработчики для интеграции с QEMU поддерживали отдельный форк qemu-kvm, но начиная с QEMU версии 1.3 (декабрь 2012) все основные изменения из qemu-kvm были перенесены в главную ветку QEMU, а qemu-kvm объявлен устаревшим.

В разных дистрибутивах до сих пор еще можно встретить исполняемый файл qemu-kvm или просто kvm, но это лишь обертки над qemu-system:

exec qemu-system-x86_64 -enable-kvm "$@"

или симлинки:

/usr/bin/kvm -> qemu-system-x86_64

А в самом qemu существует проверка:

Читать далее

Как я заставил работать Netflix на Asahi Linux

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

Год назад я купил макбук. Полгода назад macOS на нем сказала "ой, все", и он окирпичился. Я решил не переустанавливать систему, а попробовать Asahi Linux, и пока что не пожалел об этом. Хотя одна вещь все же раздражала — не работали Netflix и официальное приложение Spotify.

Если честно, Netflix мне не очень-то и нужен — у BitTorrent сейчас намного лучше UX. Но к Spotify я очень привязался, и предпочитаю интерфейс именно у официального клиента, хотя многим это и покажется странным. Но официального клиента Spotify для Linux на архитектуре aarch64 пока что не существует.

Итак, мы начинаем наш челлендж попробуй не нарушить DMCA 2023! Наша задача — понять, как смотреть Netflix на Asahi Linux, не обходя и не ломая DRM. (Без этого условия решения уместится в 280 знаков).

Читать далее