|
Рекламные ссылки: |
|
|
Опции темы |
07.08.2019, 20:37 | #41 |
Зам.Админ
Регистрация: 06.10.2011
Сообщений: 45,462
Сказал(а) спасибо: 48,526
Поблагодарили 50,410 раз(а) в 31,179 сообщениях
Репутация: 151240
|
Ядро Linux не может мягко обрабатывать ситуации с нехваткой памяти
06.08.2019 18:32 В списке рассылки разработчиков ядра Linux поднята проблема с обработкой ситуации исчерпания свободной памяти в Linux: Известна проблема, которая донимает множество людей на протяжении многих лет и которую можно воспроизвести меньше, чем за несколько минут на последней версии ядра Linux 5.2.6. Все параметры ядра установлены в значения по умолчанию. Шаги: Загружаемся с параметром "mem=4G". Выключаем поддержку swap (sudo swapoff -a). Запускаем любой веб браузер, например, Chrome/Chromium или/и Firefox. Начинаем открывать вкладки с сайтами и смотрим как уменьшается объём свободной памяти. Как только возникает ситуация, когда новая вкладка требует больше оперативной памяти, чем доступно, система практически полностью зависает. Вы даже с трудом сможете двигать курсором мыши. Индикатор жёсткого диска будет моргать без остановки (мне не ясно почему). Вы не сможете запустить новые приложения или закрыть текущие запущенные. Этот маленький кризис может продолжаться минуты или дольше. Я предполагаю, что система не должна себя так вести. Думаю, что-то нужно сделать, чтобы избежать таких «зависаний». Я почти уверен, что можно поменять некоторые параметры sysctl для избежания подобных ситуаций, но что-то подсказывает, что это можно сделать по умолчанию для всех, потому что нетехнические пользователи, столкнувшись с такой проблемой, просто откажутся от использования Linux и им будет не до того, чтобы искать решения в Google. В комментариях на Reddit некоторые пользователи предлагают включить swap, но это не решает проблему, а только её отодвигает и часто усугубляет. В качестве возможного решения в будущем может быть привлечена появившаяся в ядре 4.20 и улучшенная в ядре 5.2 подсистема PSI (Pressure Stall Information), которая позволяет анализировать информацию о времени ожидания получения различных ресурсов (CPU, память, ввод/вывод). Данная подсистема даёт возможность организовать отслеживание нехватки памяти на ранней стадии, определять источник проблем и завершать неважные приложения, не доводя до появления заметных пользователю эффектов. |
Рекламные ссылки: |
02.09.2019, 16:20 | #42 |
Зам.Админ
Регистрация: 06.10.2011
Сообщений: 45,462
Сказал(а) спасибо: 48,526
Поблагодарили 50,410 раз(а) в 31,179 сообщениях
Репутация: 151240
|
Грег Кроа-Хартман перешёл на использование Arch Linux
02.09.2019 08:54 Издание TFIR опубликовало видеоинтервью с Грегом Кроа-Хартманом (Greg Kroah-Hartman), отвечающим за поддержку стабильной ветки ядра Linux, а также являющимся мэинтейнером ряда подсистем ядра Linux (USB, driver core) и основателем инициативы по разработке драйверов для Linux (Linux driver project). Грег рассказал о смене дистрибутива на своих рабочих системах. Несмотря на то, что до 2012 года Грег 7 лет проработал в SUSE/Novell, он прекратил использование openSUSE и теперь применяет в качестве основной ОС Arch Linux на всех своих ноутбуках, компьютерах и даже в облачных окружениях. Также на его компьютере выполняется несколько виртуальных машин с Gentoo, Debian и Fedora с целью тестирования некоторых инструментов в пространстве пользователя. |
13.09.2019, 14:32 | #43 |
Зам.Админ
Регистрация: 06.10.2011
Сообщений: 45,462
Сказал(а) спасибо: 48,526
Поблагодарили 50,410 раз(а) в 31,179 сообщениях
Репутация: 151240
|
Компания Huawei начала предустановку Deepin Linux на ноутбуки
13.09.2019 10:05 Компания Huawei выпустила в продажу варианты моделей ноутбуков Matebook 13, MateBook 14, MateBook X Pro и Honor MagicBook Pro с предустановленным Linux. Поставляемые с Linux модели устройств пока распространяются только на китайском рынке и ограничены базовой комплектацией. Стоимость устройств Matebook 13 и Matebook 14 с Linux примерно на 42 доллара ниже аналогичных моделей с предустановленным Windows, а модели MateBook X Pro на 84 доллара. Отличия в аппаратной начинке сводятся только к переименованию клавиши Windows в Start. В качестве дистрибутива для предустановки выбран Deepin Linux, который был основан группой разработчиков из Китая, но уже давно развивается как международный проект. Дистрибутив базируется на пакетной базе Debian и предлагает собственный рабочий стол Deepin Desktop Environment, а также около 30 собственных пользовательских приложений, среди которых музыкальный проигрыватель DMusic, видеоплеер DMovie, система обмена сообщениями DTalk, инсталлятор и центр установки программ Deepin Software Center. Компоненты рабочего стола и приложения разрабатываются с использованием языков C/C++ (Qt5) и Go, и распространяются под лицензией GPLv3. Ключевой особенностью рабочего стола Deepin является панель, которая поддерживает несколько режимов работы. В классическом режиме осуществляется более явное отделение открытых окон и предлагаемых для запуска приложений, отображается область системного лотка. Эффективный режим чем-то напоминает Unity, смешивая индикаторы запущенных программ, избранных приложений и управляющих апплетов (настройка громкости/яркости, подключенные накопители, часы, состояние сети и т.п.). Интерфейс запуска программ отображается на весь экран и предоставляет два режима - просмотр избранных приложений и навигация по каталогу установленных программ. |
16.09.2019, 12:14 | #44 |
Зам.Админ
Регистрация: 06.10.2011
Сообщений: 45,462
Сказал(а) спасибо: 48,526
Поблагодарили 50,410 раз(а) в 31,179 сообщениях
Репутация: 151240
|
Релиз ядра Linux 5.3
16.09.2019 07:05 После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 5.3. Среди наиболее заметных изменений: поддержка GPU AMD Navi, процессоров Zhaoxi и технологии управления энергопотреблением Intel Speed Select, возможность использования инструкций umwait для ожидания без использования циклов, повышающий интерактивность режим 'utilization clamping' для асимметричных CPU, системный вызов pidfd_open, возможность использования IPv4-адресов из подсети 0.0.0.0/8, возможность аппаратного ускорения nftables, поддержка HDR в подсистеме DRM, интеграция гипервизора ACRN. В анонсе нового выпуска Линус напомнил всем разработчикам о главном правиле разработки ядра - сохранение неизменности поведения для компонентов пространства пользователя. Изменения в ядре никаким образом не должны нарушать уже работающие приложения и приводить к регрессиям на пользовательском уровне. При этом нарушение поведения может вызвать не только изменение ABI, удаление устаревшего кода или появление ошибок, но и косвенное влияние корректно работающих полезных улучшений. В качестве наглядного примера была отброшена полезная оптимизация в коде Ext4, сокращающая число обращений к накопителю за счёт отключения упреждающего чтение таблицы inode при мелких запросах ввода/вывода. |
12.11.2019, 19:46 | #45 |
Зам.Админ
Регистрация: 06.10.2011
Сообщений: 45,462
Сказал(а) спасибо: 48,526
Поблагодарили 50,410 раз(а) в 31,179 сообщениях
Репутация: 151240
|
Arch Linux изменил организацию установки пакетов с ядром Linux
Разработчики Arch Linux сообщили об изменениях в организации установки пакетов с ядром Linux. Все официальные пакеты с ядром (linux, linux-lts, linux-zen и linux-hardened) теперь не будут фактически устанавливать образ ядра в каталог /boot. Установка и удаление образов ядра будет производиться скриптом mkinitcpio (хуки для обработки операций установки ядра пока добавлены только в mkinitcpio, но в будущем появятся и в dracut). Изменение позволит сделать пакеты с ядром более самодостаточными и увеличить гибкость процесса загрузки, сохранив при этом обратную совместимость (переход к новой организации не требует от пользователя каких-либо ручных действий). |
04.12.2019, 16:18 | #46 |
Зам.Админ
Регистрация: 06.10.2011
Сообщений: 45,462
Сказал(а) спасибо: 48,526
Поблагодарили 50,410 раз(а) в 31,179 сообщениях
Репутация: 151240
|
15 уязвимостей в USB-драйверах, поставляемых в ядре Linux
04.12.2019 08:53 Андрей Коновалов из компании Google опубликовал отчёт о выявлении очередных 15 уязвимостей (CVE-2019-19523 - CVE-2019-19537) в USB-драйверах, предлагаемых в ядре Linux. Это третья порция проблем, найденных при проведении fuzzing-тестирования USB-стека в пакете syzkaller - ранее данный исследователь уже сообщал о наличии 29 уязвимостей. На этот раз в списке включены только уязвимости, вызванные обращением к уже освобождённым областям памяти (use-after-free) или приводящие к утечке данных из памяти ядра. Проблемы, которые могут использоваться для отказа в обслуживании в отчёт не включены. Уязвимости потенциально могут быть эксплуатируемы при подключении к компьютеру специально подготовленных USB-устройств. Исправления для всех упомянутых в отчёте проблем уже включены в состав ядра, но некоторые не вошедшие в отчёт ошибки пока остаются неисправленными. Наиболее опасные уязвимости класса "use-after-free", которые могут привести к выполнению кода атакующего, устранены в драйверах adutux, ff-memless, ieee802154, pn533, hiddev, iowarrior, mcba_usb и yurex. Под CVE-2019-19532 дополнительно сведены 14 уязвимостей в HID-драйверах, вызванные ошибками, допускающими запись за пределы границы буфера (out-of-bounds write). В драйверах ttusb_dec, pcan_usb_fd и pcan_usb_pro найдены проблемы, приводящие к утечке данных из памяти ядра. В коде USB-стека для работы с символьными устройствами выявлена проблема (CVE-2019-19537), вызванная состоянием гонки (race condition). Также можно отметить выявление четырёх уязвимостей (CVE-2019-14895, CVE-2019-14896, CVE-2019-14897, CVE-2019-14901) в драйвере для беспроводных чипов Marvell, которые могут привести к переполнению буфера. Атака может быть совершена удалённо через отправку определённым образом оформленных кадров при соединении с беспроводной точкой доступа злоумышленника. В качестве наиболее вероятной угрозы отмечается удалённый отказ в обслуживании (крах ядра), но не исключается и возможность выполнения кода в системе. |
30.12.2019, 14:47 | #47 |
Зам.Админ
Регистрация: 06.10.2011
Сообщений: 45,462
Сказал(а) спасибо: 48,526
Поблагодарили 50,410 раз(а) в 31,179 сообщениях
Репутация: 151240
|
Оценка числа примечаний TODO и FIXME в коде ядра Linux
30.12.2019 09:17 В исходных текстах ядра Linux присутствует около 4 тысяч комментариев с описанием требующих исправления недоделок, планов и отложенных на будущее задач, идентифицированных по наличию в тексте выражения "TODO". Большинство комментариев с "TODO" присутствуют в коде драйверов (2380). В криптоподсистеме таких комментариев - 23, специфичном для архитектуры x86 коде - 43, ARM - 73, коде для других архитектур - 114, в коде блочных устройств, файловых систем и сетевой подсистеме - 606. Выражение FIXME, обычно идентифицирующее код, который требует улучшения или вызывает сомнение, встречается в комментариях 1860 раз. Интересно, что в ядре 4.2 отмечен значительный скачок TODO-комментариев, число которых увеличилось сразу примерно на 1000 (вероятно, это связано с интеграцией в состав ядра драйвера AMDGPU, который включает около 400 тысяч строк кода). Также от версии к версии продолжает увеличиваться число комментариев со словом "workaround", но наблюдается уменьшение комментариев "fixme" и "hack". |
10.01.2020, 11:01 | #48 |
Зам.Админ
Регистрация: 06.10.2011
Сообщений: 45,462
Сказал(а) спасибо: 48,526
Поблагодарили 50,410 раз(а) в 31,179 сообщениях
Репутация: 151240
|
Линус Торвальдс пояснил, в чём проблемы реализации ZFS для ядра Linux
10.01.2020 09:24 В ходе обсуждения тестов планировщика задач, один из участников дискуссии привёл пример того, что несмотря на заявления о необходимости сохранения совместимости при разработке ядра Linux, недавние изменения в ядре нарушили корректную работу модуля "ZFS on Linux". Линус Торвальдс ответил, что принцип "не ломать пользователей" относится к сохранению внешних интерфейсов ядра, используемых приложениями в пространстве пользователя, а также самого ядра. Но он не охватывает отдельно развиваемые сторонние надстроки над ядром, не принятые в основной состав ядра, авторы которых на свой страх и риск сами должны отслеживать изменения в ядре. Что касается проекта "ZFS on Linux", то Линус не рекомендовал пользоваться модулем zfs из-за несовместимости лицензий CDDL и GPLv2. Ситуация такова, что из-за лицензионной политики компании Oracle шансы, что ZFS когда-нибудь сможет войти в основной состав ядра очень малы. Предлагаемые для обхода лицензионной несовместимости прослойки, транслирующие доступ к функциям ядра для внешнего кода, являются сомнительным решением - юристы продолжают спорить о том, приводит ли реэкспортирование GPL-функций ядра через обёртки к созданию производной работы, которую требуется поставлять под лицензией GPL. Единственным вариантом, при котором Линус согласился бы принять код ZFS в основное ядро, называется получение от компании Oracle официального разрешения, заверенного главным юристом, а лучше самим Ларри Эллисоном. Промежуточные решения, такие как прослойки между ядром и кодом ZFS, недопустимы, с учётом агрессивной политики Oracle в отношении интеллектуальной собственности на программные интерфейсы (как пример, разбирательство с Google по поводу Java API). Кроме того, Линус считает стремление использовать ZFS лишь данью моде, а не техническими преимуществами. Тесты производительности, которые изучал Линус, не свидетельствуют в пользу ZFS, а отсутствие полноценного сопровождения не гарантирует стабильность в долгосрочной перспективе. Напомним, что код ZFS распространяется под свободной лицензией CDDL, которая несовместима с GPLv2, что не позволяет добиться интеграции ZFS on Linux в состав основной ветки ядра Linux, так как смешивание кода под лицензиями GPLv2 и CDDL недопустимо. Для обхода данной лицензионной несовместимости проектом "ZFS on Linux" было решено распространять продукт целиком под лицензией CDDL в виде отдельно загружаемого модуля, который поставляется отдельно от ядра. Возможность распространение готового модуля ZFS в составе дистрибутивов вызывает споры у юристов. Юристы организации Software Freedom Conservancy (SFC) считают, что поставка в дистрибутиве бинарного модуля ядра образует комбинированный с GPL продукт с требованием распространения итоговой работы под GPL. Юристы компании Canonical не согласны и утверждают, что поставка модуля zfs допускается, если компонент поставляется в виде самодостаточного модуля, отдельно от пакета с ядром. Canonical отмечает, что дистрибутивы давно используют подобный подход для поставки проприетарных драйверов, таких как драйверы NVIDIA. Другая сторона парирует, что проблема совместимости с ядром в проприетарных драйверах решается поставкой небольшой прослойки, распространяемой под лицензией GPL (в ядро грузится модуль под лицензией GPL, который уже загружает проприетарные компоненты). Для ZFS подобную прослойку можно подготовить только в случае предоставления лицензионных исключений от компании Oracle. В Oracle Linux несовместимость с GPL решается подоставлением компанией Oracle лицензионного исключения, снимающего требование по лицензированию комбинированной работы под CDDL, но это исключение не действует для других дистрибутивов. Обходным манёвром является поставка в дистрибутиве только исходных текстов модуля, которая не приводит к связыванию и рассматривается как поставка двух отдельных продуктов. В Debian для этого задействована система DKMS (Dynamic Kernel Module Support), при которой модуль поставляется в исходных текстах и собирается на системе пользователя, непосредственно после установки пакета. |
27.01.2020, 14:10 | #49 |
Зам.Админ
Регистрация: 06.10.2011
Сообщений: 45,462
Сказал(а) спасибо: 48,526
Поблагодарили 50,410 раз(а) в 31,179 сообщениях
Репутация: 151240
|
Релиз ядра Linux 5.5
27.01.2020 08:41 После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 5.5. Среди наиболее заметных изменений: возможность назначения сетевым интерфейсам альтернативных имён, интеграция криптографических функций из библиотеки Zinc, возможность зеркалирования на более чем 2 диска в Btrfs RAID1, механизм отслеживания состояния Live-патчей, фреймворк unit-тестирования kunit, повышение производительности беспроводного стека mac80211, возможность доступа к корневому разделу через протокол SMB, верификация типов в BPF. В новую версию принято 15505 исправлений от 1982 разработчиков, размер патча - 44 Мб (изменения затронули 11781 файлов, добавлено 609208 строк кода, удалено 292520 строк). Около 44% всех представленных в 5.5 изменений связаны с драйверами устройств, примерно 18% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 12% связано с сетевым стеком, 4% - файловыми системами и 3% c внутренними подсистемами ядра. Основные новшества: |
Пользователь сказал cпасибо: |
alex2151 (27.01.2020)
|
30.01.2020, 14:57 | #50 |
Зам.Админ
Регистрация: 06.10.2011
Сообщений: 45,462
Сказал(а) спасибо: 48,526
Поблагодарили 50,410 раз(а) в 31,179 сообщениях
Репутация: 151240
|
В ядро Linux 5.6 принят код с поддержкой VPN WireGuard и расширения MPTCP (MultiPath TCP)
29.01.2020 22:32 Линус Торвальдс принял в состав репозитория, в котором формируется будущая ветка ядра Linux 5.6, патчи с реализацией VPN-интерфейса от проекта WireGuard и начальной поддержкой расширения MPTCP (MultiPath TCP). Ранее необходимые для работы WireGuard криптографические примитивы были перенесены из библиотеки Zinc в состав штатного Crypto API и включены в состав ядра 5.5. С особенностями WireGuard можно познакомиться в прошлом анонсе включения кода WireGuard в ветку net-next. MPTCP представляет собой расширение протокола TCP, позволяющее организовать работу TCP-соединения с доставкой пакетов одновременно по нескольким маршрутам через разные сетевые интерфейсы, привязанные к разным IP-адресам. Для сетевых приложений подобное агрегированное соединение выглядит как обычное TCP-соединение, вся логика разделения потоков выполняется силами MPTCP. Multipath TCP может использоваться как для расширения пропускной способности, так и для увеличения надёжности. Например, MPTCP можно применять для организации передачи данных на смартфоне с использованием одновременно линков WiFi и 3G, или для сокращения расходов за счёт подключения сервера с использованием нескольких дешёвых линков вместо одного дорогого. |