Архив метки: Linux

Во FreeBSD добавили поддержку протокола Netlink, используемого в Linux.

FreeBSD

FreeBSD хорошо зарекомендовала себя как система для построения серверов Internet и Intranet. Он обеспечивает довольно надежные сетевые службы и эффективное управление памятью.

Несколько дней назад новость была выпущена что базовый код FreeBSD приняла новая реализация протокола связи Сетевая ссылка (RFC 3549), который используется в Linux для связи между ядром и процессами в пользовательском пространстве.

Семейство сокетов Сетевая ссылка это интерфейс ядра Linux, который используется для межпроцессного взаимодействия (IPC) между процессами ядра и пользовательского пространства. и между различными процессами пользовательского пространства, подобно сокетам домена Unix.



Подобно сокетам домена Unix и в отличие от сокетов INET, связь Netlink не может пересекать границы хоста. Однако, в то время как сокеты домена Unix используют пространство имен файловой системы, процессы Netlink обычно адресуются идентификаторами процессов (PID).

Netlink разработан и используется для передачи различной сетевой информации. между процессами пространства ядра и пространства пользователя. Сетевые утилиты, такие как семейство iproute2 и утилиты, используемые для настройки беспроводных драйверов на базе mac80211, используют Netlink для связи с ядром Linux из пользовательского пространства. Netlink предоставляет стандартный интерфейс на основе сокетов для процессов пользовательского пространства и API на стороне ядра для внутреннего использования модулями ядра. Изначально Netlink использовала семейство сокетов AF_NETLINK.



Пока в нынешнем виде Уровень поддержки Netlink позволяет FreeBSD использовать утилиту Linux ip. пакета iproute2 для управления сетевыми интерфейсами, установки IP-адресов, настройки маршрутизации и управления объектами nexthop, в которых хранится состояние, используемое для пересылки пакета в желаемое место назначения. Немного изменив файлы заголовков, можно использовать Netlink в пакете маршрутизации Bird.

Реализация Netlink для FreeBSD упакован как загружаемый модуль ядра что, если возможно, не влияет на другие подсистемы ядра и создает отдельные очереди задач (tasqueue) для обработки входящих сообщений по протоколу и выполнения операций в асинхронном режиме. Причина портирования Netlink — отсутствие стандартного механизма для взаимодействия с подсистемами ядра, что приводит к тому, что разные подсистемы и драйверы изобретают свои собственные протоколы.



Сетевая ссылка предлагает унифицированный коммуникационный уровень и расширяемый формат сообщений который может выступать в качестве посредника, который автоматически объединяет разрозненные данные из разных источников в один запрос. Например, такие подсистемы FreeBSD, как devd, jail и pfilctl, можно портировать на Netlink, используя теперь собственные вызовы ioctl, что значительно упростит создание приложений для работы с этими подсистемами. Кроме того, использование Netlink для изменения объектов и групп nexthop в стеке маршрутизации позволит более эффективно взаимодействовать с процессами маршрутизации в пользовательском пространстве.

Интерфейсы, адреса, маршруты, брандмауэр, fibs, vnets и т.д. управляются через netlink. Это асинхронный протокол на основе TLV, который обеспечивает связь 1-1 и 1-множество. Текущая реализация поддерживает подмножество семейства NETLINK_ROUTE. Реализация также совместима с платформой семейства NETLINK_GENERIC.

В настоящее время реализованы следующие функции:

  • Получить информацию о маршрутах, объектах и ​​группах nexthops, сетевых интерфейсах, адресах и соседних хостах (arp/ndp).
  • Формирование уведомлений о появлении и отключении сетевых интерфейсов, настройке и удалении адресов, добавлении и удалении маршрутов.
  • Добавляйте и удаляйте маршруты, объекты и группы next hop, шлюзы, сетевые интерфейсы.
  • Интеграция с интерфейсом Rtsock для управления таблицей маршрутизации.


Стоит отметить, что пока проект ограничен поддержкой семейства операций NETLINK_ROUTE для управления состоянием сетевой подсистемы в ядре.

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






2022-10-22T22:28:31
GNU / Linux

OpenBSD 7.2 выходит с поддержкой Apple M2

ОпенБСД 7.2

OpenBSD производит полную, бесплатную, кросс-платформенную Unix-подобную операционную систему, основанную на BSD.

Было объявлено о выпуске OpenBSD 7.2, версия, в которой было внесено большое количество улучшений в систему, из которых можно выделить улучшения модуля drm, а также поддержку Apple M2, улучшения поддержки процессоров Intel и другое.

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



Читать

Текст в речь с помощью Festival в Linux

В статье будет рассмотрена программа Festival, которая позволяет преобразовывать текст в речь. Я покажу пример её работы на Debian 11.





Читать

Load average в Linux

Load average — показатель средней загруженности системы Linux. Из статьи вы узнаете что можно узнать о системе смотря на этот показатель.





Читать

Linux 6.0 включает поддержку AArch64, аутентификацию для NVMe и многое другое.

Такс, талисман ядра Linux

Ядро Linux является основой операционных систем (ОС) Linux и основным интерфейсом между аппаратным обеспечением компьютера и его процессами.

После двух месяцев разработки Линус Торвальдс выпустил ядро ​​Linux 6.0 и из заметных изменений около 40% всех изменений, внесенных в 6.0, связаны с драйверами устройств, около 19% изменений связаны с обновлением кода, характерного для аппаратных архитектур, 12% связаны с сетевым стеком, 4% с файловыми системами. , и 2% с внутренностями.

Одним из главных нововведений новой версии ядра Linux 6.0 является поддержка аппаратной архитектуры AArch64 (ARM64), поддержка внутриполосной аутентификации NVMe, поддержка шин PCI в архитектурах OpenRISC и LoongArch, асинхронная запись в буфер при использовании XFS и io_uring, а также, среди прочего, поддержка сетевой передачи.



Читать

Как разместить кэш браузера Brave в оперативной памяти

Кэш вашего веб-браузера хранит изображения, HTML и JavaScript с сайтов, которые вы посещаете, в локальном кеше. Это позволяет гораздо быстрее загружать страницы и меньше использовать пропускную способность. По сути, как только ресурс сохраняется в кэше, он повторно считывается локально, если не было удаленных изменений.

 

Что такое TMPFS

Tmpfs — это временная файловая система, созданная из доступной оперативной памяти системы. Tmpfs можно смонтировать в любом месте системы, чтобы обеспечить быстрое непостоянное хранилище. Arch Linux использует tmpfs по умолчанию в «/tmp», «/var/lock» и «/var/run». Все, что записывается в tmpfs, никогда не попадает на диск и сбрасывается при выключении системы.

 

Попробуйте использовать Храбрый

Brave — это новый браузер с открытым исходным кодом, основанный на хроме. Он ориентирован на защиту от отслеживания и конфиденциальность. Он может подключаться к Tor без дополнительной настройки. Он доступен на всех платформах и, будучи основанным на хроме, поддерживает популярные расширения хрома.

 

Ускорение загрузки страниц

Мы настроили нашу систему Arch для использования tmpfs для кеша Brave, ускорив загрузку локально хранимых веб-ресурсов и уменьшив износ нашего твердотельного накопителя. Информация, которая должна оставаться постоянной, периодически автоматически синхронизируется с локальным хранилищем.

Установите Brave из AUR. Браузеры большие и долго компилируются. К счастью, нам доступен бинарный пакет Brave:

$ yay -S brave-bin

 

Установите демон profile-sync с помощью следующей команды:

$ sudo pacman -S profile-sync-daemon

 

Установите поддержку демона синхронизации профиля для Brave из AUR, используя следующую команду:

$ yay -S profile-sync-daemon-brave

 

Выполните следующую команду, чтобы автоматически сгенерировать файл конфигурации в ~/.config/psd/psd.conf:

$ psd



----------------------------------



# $XDG_CONFIG_HOME/psd/psd.conf



#



# For documentation, refer man 1 psd or to the wiki page



# https://wiki.archlinux.org/index.php/Profile-sync-daemon



## NOTE the following:



## To protect data from corruption, in the event that you do make an edit while



## psd is active, any changes made will be applied the next time you start psd.



# Uncomment and set to "yes" to use overlayfs instead of a full copy to reduce



# the memory costs and to improve sync/unsync operations. Note that your kernel



# MUST have this module available in order to use this mode.



#



#USE_OVERLAYFS="no"



# Uncomment and set to "yes" to resync on suspend to reduce potential data loss.



# Note that your system MUST have gdbus from glib2 installed to use this mode.



#



#USE_SUSPSYNC="no"



# List any browsers in the array below to have managed by psd. Useful if you do



# not wish to have all possible browser profiles managed which is the default if



# this array is left commented.



#



# Possible values:



# chromium



# chromium-dev



# conkeror.mozdev.org



# epiphany



# falkon



# firefox



# firefox-trunk



# google-chrome



# google-chrome-beta



# google-chrome-unstable



# heftig-aurora



# icecat



# inox



# luakit



# midori



# opera



q# opera-beta



# opera-developer



# opera-legacy



# otter-browser



# qupzilla



# qutebrowser



# palemoon



# rekonq



# seamonkey



# surf



# vivaldi



# vivaldi-snapshot



#



#BROWSERS=()



-------------------------------------------

 

Измените файл конфигурации в соответствии с вашими потребностями. По умолчанию кеш tmpfs демона синхронизации профилей применяется ко всем поддерживаемым браузерам (включая Brave с добавленным пакетом, который мы установили).

Включите службу с помощью следующей команды:

$ systemctl --user enable psd

 

Самый простой способ убить все браузеры и запустить службу — выйти из системы и снова войти в нее.

 

Вывод

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



2022-10-03T20:02:15
ArchLinux