Статистика по языкам программирования, используемым в экосистеме GNOME
Всего проект насчитывает 6.7 млн строк кода, из которых 1.6 млн приходится на приложения, а 5.1 млн на библиотеки и базовые компоненты GNOME.
— Для библиотек GNOME по умолчанию продолжает использоваться язык Си и более 2/3 строк кода базовых компонентов GNOME написаны на данном языке. Наиболее крупными из подобных компонентов являются GTK (820 тысяч строк), GLib (560 тысяч строк) и Mutter (390 тысяч строк).
— На Rust написано 523 тысячи строк кода, из которых примерно 400 тысяч используются в обвязках для базовых библиотек и большей частью сгенерированы автоматически. Из библиотек на Rust отмечаются Librsvg и glycin.
— Около 190 тысяч строк написаны на языке Vala, из которых около 100 тысяч строк присутствует в репозитории Vala. На Python имеется 242 тысячи строк кода, из которых 110 тысяч приходятся на приложение Orca. 106 тысяч строк написаны на JavaScript и из них 65 тысяч присутствует в GNOME Shell, что составляет примерно половину от всего кода GNOME Shell.
Linux / Линукс🎄
Всего проект насчитывает 6.7 млн строк кода, из которых 1.6 млн приходится на приложения, а 5.1 млн на библиотеки и базовые компоненты GNOME.
— Для библиотек GNOME по умолчанию продолжает использоваться язык Си и более 2/3 строк кода базовых компонентов GNOME написаны на данном языке. Наиболее крупными из подобных компонентов являются GTK (820 тысяч строк), GLib (560 тысяч строк) и Mutter (390 тысяч строк).
— На Rust написано 523 тысячи строк кода, из которых примерно 400 тысяч используются в обвязках для базовых библиотек и большей частью сгенерированы автоматически. Из библиотек на Rust отмечаются Librsvg и glycin.
— Около 190 тысяч строк написаны на языке Vala, из которых около 100 тысяч строк присутствует в репозитории Vala. На Python имеется 242 тысячи строк кода, из которых 110 тысяч приходятся на приложение Orca. 106 тысяч строк написаны на JavaScript и из них 65 тысяч присутствует в GNOME Shell, что составляет примерно половину от всего кода GNOME Shell.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍4
Уязвимости в GnuPG, позволяющие обойти верификацию и выполнить свой код
На проходящей в Германии конференции 39C3 (Chaos Communication Congress) раскрыты детали о 12 ранее неизвестных и остающихся неисправленными (0-day) уязвимостях в инструментарии GnuPG (GNU Privacy Guard), предоставляющем совместимые со стандартами OpenPGP и S/MIME утилиты для шифрования данных, работы с электронными подписями, управления ключами и доступа к публичным хранилищам ключей. Наиболее опасные уязвимости позволяют обойти проверку по цифровой подписи и добиться выполнения кода при обработке шифрованных данных в ASCII-представлении (ASCII Armor). Рабочие прототипы эксплоитов и патчи обещают опубликовать позднее. CVE-идентификаторы пока не присвоены.
Уязвимости вызваны ошибками в коде для обработки данных и разбора форматов, и не связаны с брешами в криптоалгоритмах. Например, ошибка в парсере приводит к сбою при определении фактически подписанных данных и создаёт условия при которых проверяемые данные могут не совпадать с подписанными данными, что позволяет атакующему подменить открытый текст без доступа к приватному ключу.
Linux / Линукс🎄
На проходящей в Германии конференции 39C3 (Chaos Communication Congress) раскрыты детали о 12 ранее неизвестных и остающихся неисправленными (0-day) уязвимостях в инструментарии GnuPG (GNU Privacy Guard), предоставляющем совместимые со стандартами OpenPGP и S/MIME утилиты для шифрования данных, работы с электронными подписями, управления ключами и доступа к публичным хранилищам ключей. Наиболее опасные уязвимости позволяют обойти проверку по цифровой подписи и добиться выполнения кода при обработке шифрованных данных в ASCII-представлении (ASCII Armor). Рабочие прототипы эксплоитов и патчи обещают опубликовать позднее. CVE-идентификаторы пока не присвоены.
Уязвимости вызваны ошибками в коде для обработки данных и разбора форматов, и не связаны с брешами в криптоалгоритмах. Например, ошибка в парсере приводит к сбою при определении фактически подписанных данных и создаёт условия при которых проверяемые данные могут не совпадать с подписанными данными, что позволяет атакующему подменить открытый текст без доступа к приватному ключу.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
😎10❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁68💯15🤣7❤3
Какой дистрибутив станет главном блюдом на вашем новогоднем столе?
Anonymous Poll
37%
Debian — оливье (классика)
34%
Arch — авторское блюдо
21%
Ubuntu — запечёная курочка (для всех)
7%
Gentoo — холодец (готовится ещё со вчера)
😎20🤣6
🎄 Новый год: Ожидание vs Реальность
WINDOWS-юзер:
• В 23:50: "Подождите, мы настраиваем обновления для вас" (0% завершено).
• Copilot предлагает сгенерировать тост, но вешает систему.
• Пытается вывести картинку на ТВ - драйвер видюхи вышел из чата.
• Лицо:😫
LINUX-юзер:
• В 23:50: kernel panic после обновления, потому что просто хотел свежее ядро под елочку.
• Вместо Голубого огонька смотрит в htop на телевизоре.
• Звука нет, потому что PipeWire подрался с PulseAudio.
• Написал скрипт на Python, который мигает гирляндой при входящем пинге.
• Лицо:🐧 🍺
Linux / Линукс🎄
WINDOWS-юзер:
• В 23:50: "Подождите, мы настраиваем обновления для вас" (0% завершено).
• Copilot предлагает сгенерировать тост, но вешает систему.
• Пытается вывести картинку на ТВ - драйвер видюхи вышел из чата.
• Лицо:
LINUX-юзер:
• В 23:50: kernel panic после обновления, потому что просто хотел свежее ядро под елочку.
• Вместо Голубого огонька смотрит в htop на телевизоре.
• Звука нет, потому что PipeWire подрался с PulseAudio.
• Написал скрипт на Python, который мигает гирляндой при входящем пинге.
• Лицо:
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
❤29😁27🤔2
This media is not supported in your browser
VIEW IN TELEGRAM
Мы прогнали логи будущего через нейросеть (на самом деле через
Сделайте скриншот этой гифки и пишите в комменты, что вам нагадал терминал 🎄
Linux / Линукс🎄
random()), чтобы узнать, что ждет вас в 2026 году.Сделайте скриншот этой гифки и пишите в комменты, что вам нагадал терминал 🎄
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13😢6
libmdbx меняет модель разработки
Код проекта остаётся открытым и бесплатным, но теперь публикуется только в амальгамированной форме, то есть без тестового фреймворка и внутренней документации. Разработка уходит внутрь команды.
Проект радикально сменил модель распространения и закрыл доступ к внутренней кухне разработки. Теперь исходники публикуются исключительно в амальгамированном виде, то есть одним огромным файлом без тестового фреймворка и документации для контрибьюторов, чтобы отдавать продукт максимально готовым. Этот маневр стал подготовкой к запуску универсального движка MithrilDB с единым API для разных форматов хранения и обратной совместимостью.
В техническом плане обещана поддержка гибрида C, C++ и Rust с прозрачным взаимодействием и репликация на базе опыта ReOpenLDAP. Архитектура строится на улучшенном префиксном дереве поверх Merkle B+tree с поддержкой длинных ключей и шифрования. Киллер-фичей ближайших апдейтов станет поиск с кэшированием - механизм хранит прямые указатели внутри базы и пропускает неизмененные ветки дерева, что в идеальных условиях ускоряет чтение в десятки тысяч раз.
Linux / Линукс🎄
Код проекта остаётся открытым и бесплатным, но теперь публикуется только в амальгамированной форме, то есть без тестового фреймворка и внутренней документации. Разработка уходит внутрь команды.
Проект радикально сменил модель распространения и закрыл доступ к внутренней кухне разработки. Теперь исходники публикуются исключительно в амальгамированном виде, то есть одним огромным файлом без тестового фреймворка и документации для контрибьюторов, чтобы отдавать продукт максимально готовым. Этот маневр стал подготовкой к запуску универсального движка MithrilDB с единым API для разных форматов хранения и обратной совместимостью.
В техническом плане обещана поддержка гибрида C, C++ и Rust с прозрачным взаимодействием и репликация на базе опыта ReOpenLDAP. Архитектура строится на улучшенном префиксном дереве поверх Merkle B+tree с поддержкой длинных ключей и шифрования. Киллер-фичей ближайших апдейтов станет поиск с кэшированием - механизм хранит прямые указатели внутри базы и пропускает неизмененные ветки дерева, что в идеальных условиях ускоряет чтение в десятки тысяч раз.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🤬5😢3
Forwarded from Типичный Сисадмин
Есть такой бородатый анекдот про то, что Windows скоро превратится в загрузчик для браузера. В 2025 году это перестало быть шуткой. Брендан Айк, человек-легенда, создавший язык JavaScript и основавший Mozilla/Brave, публично раскритиковал Microsoft за тотальное засилье веб-технологий в десктопной ОС. По его словам, главная проблема Windows 11 - это банальная лень разработчиков, которые вместо нативного кода везде пихают жирный WebView2 и Electron. Айк знает, о чем говорит, т.к. он видел смерть FirefoxOS, которая тоже пыталась строить интерфейс на вебе.
Ситуация и правда патовая. Microsoft ($3.5 трлн капитализации) не может написать нативный календарь. Новая панель виджетов в Windows 11 это просто веб-страницы. Вы нажимаете на часы в трее, а система в фоне спавнит процессы Edge, отжирая 100+ МБ оперативки ради отображения даты. Зеленый мессенджер недавно деградировал с нативного WinUI обратно на WebView2, и теперь в простое отъедает гигабайт памяти. Teams туда же.
Но чемпионом по оптимизации
Айк справедливо заметил, что Web UX можно сделать хорошо, но это требует времени и прямых рук. А у современного БигТеча нет ни того, ни другого. Им проще завернуть сайт в exe-шник, заставить пользователя купить 64 ГБ RAM и назвать это современным экспириенсом. Когда даже создатель технологии говорит "остановитесь, вы делаете дичь", это, пожалуй, приговор всей индустрии
Типичный
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣81👍16❤14🫡6😎2
Уязвимость в Net-SNMP, допускающая удалённое выполнение кода
В пакете Net-SNMP, реализующем протоколы SNMP v1, SNMP v2c и SNMP v3, выявлена уязвимость (
Уязвимость вызвана некорректной проверкой размера OID ("trapOidLen >= 0" вместо "trapOidLen > 0") перед копированием указанных в пакете данных в буфер фиксированного размера. Передача специально оформленных пакетов приводит к записи данных за границу буфера trapOid, что может быть эксплуатировано для выполнения кода атакующего с правами под которыми выполняется процесс snmptrapd. Уязвимость устранена в обновлениях Net-SNMP 5.9.5 и 5.10.pre2. В качестве дополнительной защиты рекомендуется заблокировать доступ из внешних сетей к UDP-порту 162 на межсетевом экране.
Уязвимость была добавлена при неудачной попытке исправить предыдущую проблему с переполнением буфера из-за некорректной проверки "trapOid[trapOidLen - 1] != 0". Изначальный код "trapOid[trapOidLen - 1] != 0" присутствует в кодовой базе с 23 июня 2003 года, когда выполнялся рефакторинг файла snmptrapd_handlers.c.
В master-ветке исправление "> 0" уже откатили и заменили на универсальную проверку. Переполнения trapOid было успешно исправлено за три попытки: 1, 2, 3. Что характерно, до этой уязвимости с trapOid были другие проблемы с записью за границу буфера.
Linux / Линукс🎄
В пакете Net-SNMP, реализующем протоколы SNMP v1, SNMP v2c и SNMP v3, выявлена уязвимость (
CVE-2025-68615), позволяющая добиться удалённого выполнения кода на сервере, использующем сервис snmptrapd для приёма и обработки trap-сообщений от устройств. По умолчанию сервис принимает запросы на 162 UDP-порту и запускается с правами root. Проблеме присвоен критический уровень опасности (9.8 из 10). Атака может быть совершена без прохождения аутентификации.Уязвимость вызвана некорректной проверкой размера OID ("trapOidLen >= 0" вместо "trapOidLen > 0") перед копированием указанных в пакете данных в буфер фиксированного размера. Передача специально оформленных пакетов приводит к записи данных за границу буфера trapOid, что может быть эксплуатировано для выполнения кода атакующего с правами под которыми выполняется процесс snmptrapd. Уязвимость устранена в обновлениях Net-SNMP 5.9.5 и 5.10.pre2. В качестве дополнительной защиты рекомендуется заблокировать доступ из внешних сетей к UDP-порту 162 на межсетевом экране.
Уязвимость была добавлена при неудачной попытке исправить предыдущую проблему с переполнением буфера из-за некорректной проверки "trapOid[trapOidLen - 1] != 0". Изначальный код "trapOid[trapOidLen - 1] != 0" присутствует в кодовой базе с 23 июня 2003 года, когда выполнялся рефакторинг файла snmptrapd_handlers.c.
В master-ветке исправление "> 0" уже откатили и заменили на универсальную проверку. Переполнения trapOid было успешно исправлено за три попытки: 1, 2, 3. Что характерно, до этой уязвимости с trapOid были другие проблемы с записью за границу буфера.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍5
Forwarded from Типичный Сисадмин
Лучший подарок на НГ - это инвестиция в себя.
#предложка
Прочитаю за каникулы и стану сеньором-помидором. Или прочитаю оглавление и поставлю на полку для красоты. В любом случае вещь в хозяйстве полезная!😎
Кто что подарил себе любимому?
Типичный🎄 Сисадмин
#предложка
Прочитаю за каникулы и стану сеньором-помидором. Или прочитаю оглавление и поставлю на полку для красоты. В любом случае вещь в хозяйстве полезная!
Кто что подарил себе любимому?
Типичный
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32❤7🤣4
Новогодние обещания линуксоида. Каждый год одно и то же. Сажусь 1 января, открываю терминал и клянусь, что в этом году точно освою Vim. Освою нормально, ну, или хотя бы выучу еще одну команду, кроме :q!. И так уже пятый год...
А ещё обещаю, что остановлюсь на одном дистрибутиве. Хватит сносить рабочую систему в 3 часа ночи просто потому, что в другом дистре иконки лучше. И про systemd больше спорить не буду, даже если кто-то неправ в интернете. Даже если ОЧЕНЬ неправ. Нервные клетки не восстанавливаются, в отличие от процессов. И да, иногда нажать кнопку мышкой в GUI быстрее, чем писать скрипт на 50 строк (вы этого не видели). А бэкапы буду делать ДО экспериментов, а не после того, как всё сломалось.
Увидимся через год с этими же обещаниями🤩 А какие у вас планы на НГ?
А ещё обещаю, что остановлюсь на одном дистрибутиве. Хватит сносить рабочую систему в 3 часа ночи просто потому, что в другом дистре иконки лучше. И про systemd больше спорить не буду, даже если кто-то неправ в интернете. Даже если ОЧЕНЬ неправ. Нервные клетки не восстанавливаются, в отличие от процессов. И да, иногда нажать кнопку мышкой в GUI быстрее, чем писать скрипт на 50 строк (вы этого не видели). А бэкапы буду делать ДО экспериментов, а не после того, как всё сломалось.
Увидимся через год с этими же обещаниями
Please open Telegram to view this post
VIEW IN TELEGRAM
1🤣44🔥11🎄3
Ubuntu Sway Remix 25.10 вышел без Snap и с готовым тайлингом
Состоялся релиз Ubuntu Sway Remix 25.10, неофициальной сборки для тех, кто хочет попробовать мозаичный интерфейс, но ленится настраивать конфиги неделями. Система базируется на свежей Ubuntu 25.10 и Wayland-композиторе Sway, который полностью совместим с i3. Особенность дистрибутива: полный отказ от пакетного менеджера Snap, даже Firefox здесь поставляется в виде классического deb-пакета из PPA. Разработчики позиционируют систему как готовое решение из коробки для новичков и профи.
Под капотом собран набор утилит из проекта NWG-Shell, панель Waybar и скрипт для автоматического тайлинга окон. В новой версии добавили компонент swaykbdd, который позволяет запоминать раскладку клавиатуры для каждого отдельного окна, а также оптимизировали системные скрипты. Образы доступны для amd64 и arm64.
Linux / Линукс🎄
Состоялся релиз Ubuntu Sway Remix 25.10, неофициальной сборки для тех, кто хочет попробовать мозаичный интерфейс, но ленится настраивать конфиги неделями. Система базируется на свежей Ubuntu 25.10 и Wayland-композиторе Sway, который полностью совместим с i3. Особенность дистрибутива: полный отказ от пакетного менеджера Snap, даже Firefox здесь поставляется в виде классического deb-пакета из PPA. Разработчики позиционируют систему как готовое решение из коробки для новичков и профи.
Под капотом собран набор утилит из проекта NWG-Shell, панель Waybar и скрипт для автоматического тайлинга окон. В новой версии добавили компонент swaykbdd, который позволяет запоминать раскладку клавиатуры для каждого отдельного окна, а также оптимизировали системные скрипты. Образы доступны для amd64 и arm64.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15😎6❤5🤣2
Прямое включение из
Ситуация накаляется. Дядя Arch уже битый час орет, что пользоваться готовым столом - это bloatware, и надо было собирать мебель самому по Wiki из досок.
Дед Debian молча жует сухарь 2019-го года. Ему плевать на вкус, главное это Стабильность. Он точно знает, что от этого сухаря не будет kernel panic в желудке.
В разговор пытается влезть Батя Ubuntu. Он хочет наложить всем салат, но процесс виснет... батя зачем-то завернул каждую оливку в отдельный Snap-контейнер. «Зато безопасно и со всеми зависимостями внутри!», - кричит он, пока гости умирают от голода, ожидая монтирования огурцов.
Молодой Fedora принес экспериментальное шампанское (Bleeding Edge). Пробка вылетела раньше времени, залила скатерть и сломала совместимость с бокалами. Он оправдывается, что это апстрим, и скоро все так будут пить.
Брат Gentoo всё еще на кухне. Мы его потеряли. Он решил скомпилировать майонез из яиц и масла под конкретную архитектуру своей ложки с флагом
Тетя Windows стучится в окно. Её не пускают, но она орет, что ей срочно нужно перезагрузить весь дом для установки обновлений, иначе она отключит отопление.
А в углу, в черном худи, сидит странный дядя Kali. Он не ест. Он молча перехватывает хендшейки домочадцев и брутфорсит пароль от соседской смарт-ёлки, чтобы включить на ней Имперский марш.
А какой дистро ты за этим столом?👇
Linux / Линукс🎄
/home/new_year/dinnerСитуация накаляется. Дядя Arch уже битый час орет, что пользоваться готовым столом - это bloatware, и надо было собирать мебель самому по Wiki из досок.
Дед Debian молча жует сухарь 2019-го года. Ему плевать на вкус, главное это Стабильность. Он точно знает, что от этого сухаря не будет kernel panic в желудке.
В разговор пытается влезть Батя Ubuntu. Он хочет наложить всем салат, но процесс виснет... батя зачем-то завернул каждую оливку в отдельный Snap-контейнер. «Зато безопасно и со всеми зависимостями внутри!», - кричит он, пока гости умирают от голода, ожидая монтирования огурцов.
Молодой Fedora принес экспериментальное шампанское (Bleeding Edge). Пробка вылетела раньше времени, залила скатерть и сломала совместимость с бокалами. Он оправдывается, что это апстрим, и скоро все так будут пить.
Брат Gentoo всё еще на кухне. Мы его потеряли. Он решил скомпилировать майонез из яиц и масла под конкретную архитектуру своей ложки с флагом
-O3. Говорит, прирост вкуса будет 1%, ждем к Рождеству.Тетя Windows стучится в окно. Её не пускают, но она орет, что ей срочно нужно перезагрузить весь дом для установки обновлений, иначе она отключит отопление.
А в углу, в черном худи, сидит странный дядя Kali. Он не ест. Он молча перехватывает хендшейки домочадцев и брутфорсит пароль от соседской смарт-ёлки, чтобы включить на ней Имперский марш.
А какой дистро ты за этим столом?
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
❤31😁28🌚4🤔3👍1
Друзья, коллеги, соратники по терминалу! 🐧
Пока обычные люди нарезают тазами оливье под "Иронию судьбы"... Настоящий линуксоид пишет скрипт для массовой рассылки поздравлений в телегу, потому что отправлять сообщения вручную это для виндузятников. Чинит звук после обновления PipeWire, пока семья ждёт за столом. Впервые за год запускает принтер, и иногда он даже работает (это и есть новогоднее чудо!).
Мы с вами знаем, что настоящая магия происходит не в новогодних фильмах по телеку, а в
Пусть в Новом году ваш
И помните: если всё работает, не трогайте. Хотя бы до января.
А какой у вас план на эту ночь? Наблюдать водопад логов или героически не лезть в терминал?
Linux / Линукс🎄
Пока обычные люди нарезают тазами оливье под "Иронию судьбы"... Настоящий линуксоид пишет скрипт для массовой рассылки поздравлений в телегу, потому что отправлять сообщения вручную это для виндузятников. Чинит звук после обновления PipeWire, пока семья ждёт за столом. Впервые за год запускает принтер, и иногда он даже работает (это и есть новогоднее чудо!).
Мы с вами знаем, что настоящая магия происходит не в новогодних фильмах по телеку, а в
/etc/. Мы знаем боль. Мы знаем, что такое, когда Nvidia-драйверы решают, что Новый год это отличное время, чтобы уронить иксы. Но мы также знаем кайф от аптайма в 365 дней и идеально настроенного .vimrc.Пусть в Новом году ваш
uptime будет долгим, пакеты никогда не теряются, а зависимости всегда разрешаются. Желаем вам ядра стабильного, пинга минимального, а железа совместимого!И помните: если всё работает, не трогайте. Хотя бы до января.
А какой у вас план на эту ночь? Наблюдать водопад логов или героически не лезть в терминал?
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥55🎉10😎10❤5👍2
$ tree /new_year --wish
С Новым годом!
Пусть ваша система будет стабильной, пакеты свежими, а kernel panic только в кошмарах!
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍60🎄17🔥8❤3🤬1
$ whoami
> Unknown entity
Коллеги, как проходит процесс инициализации?
Судя по логам, многие процессы перешли в состояние Zombie или Uninterruptible Sleep.
Нагрузка на CPU минимальная, зато потребление памяти (и жидкости) критическое.
Рекомендации по траблшутингу на 1 января. 1. Не пытайтесь делать force kill головной боли. 2. Выполните sudo apt-get install mineral_water. 3. Монтируйте диван в режим read-only. 4. Берегите себя 🐧
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
😁54❤6🔥4