gladilov.org.ru gladilov.org.ua

92 заметки с тегом

сисадминство

Всякие системные и просто нужные компьютерные фичи. Настройка софта, иногда восстановление железа, и прочее, что входит в сферы интересов от эникейшика до «full stack admin’а». В придачу — симулятор системного администратора.



Для ядра Linux предложена реализация SMB-сервера

Для включение в состав следующего выпуска ядра Linux предложена новая реализация файлового сервера, использующего протокол SMB3. Сервер оформлен в виде модуля ядра ksmbd и дополняет ранее доступный код клиента SMB. Отмечается, что в отличие от SMB-сервера, работающего в пространстве пользователя, реализация на уровне ядра более эффективна с точки зрения производительности, потребления памяти и интеграции с расширенными возможностями ядра. Основным разработчиком ksmbd является Стив Френч (Steve French) из компании Microsoft (ранее много лет работал в IBM), мэйнтейнер подсистем CIFS/SMB2/SMB3 в ядре Linux и давний участник команды разработчиков Samba, внёсший значительный вклад в реализацию поддержки протоколов SMB/CIFS в Samba и Linux.

Показать

Из возможностей ksmbd выделяется улучшенная поддержка технологии распределённого кэширования файлов (SMB leases) на локальных системах, которая позволяет существенно сократить трафик. В дальнейшем планируется добавление новых возможностей, таких как поддержка RDMA («smbdirect»), а также расширений протокола, связанных с усилением надёжности шифрования и верификацией по цифровым подписям. Отмечается, что подобные расширения гораздо проще реализовать в компактном и хорошо оптимизированном сервере, работающем на уровне ядра, чем в пакете Samba.

При этом ksmbd не претендует на роль полной замены пакета Samba, который не ограничивается возможностями файлового сервера и предоставляет инструментарий, охватывающей сервисы для обеспечения безопасности, LDAP и контроллер домена. Реализация файлового сервера в Samba является кросс-платформенной и рассчитанной на более широкие области применения, что затрудняет оптимизацию для некоторых Linux-окружений, таких как прошивки для устройств с ограниченными ресурсами.

Ksmbd рассматривается не как отдельный продукт, а скорее как высокопроизводительное и готовое для применения на встраиваемых устройствах расширение к Samba, при необходимости интегрируемое с инструментами и библиотеками Samba. Например, с разработчиками Samba уже согласован вопрос использования в ksmbd совместимых с smbd файлов конфигурации и расширенных атрибутов (xattrs), что упростит переход с smbd на ksmbd и наоборот.

Источники:
Список рассылки
Опёнок

30 августа   Linux   в мире   досуг   интересное   ОС   сисадминство   события   софт

День рождения ядра Linux

25 августа 1991 года после пяти месяцев разработки 21-летний студент Линус Торвальдс объявил в телеконференции comp.os.minix о создании рабочего прототипа новой операционной системы Linux, для которой было отмечено завершение портирования bash 1.08 и gcc 1.40. Первый публичный выпуск ядра Linux был представлен 17 сентября. Ядро 0.0.1 имело размер 62 Кб в сжатом виде и содержало около 10 тысяч строк исходного кода. Современное ядро Linux насчитывает более 28 млн строк кода. По данным исследования, проведённого в 2010 году по заказу Евросоюза, приблизительная стоимость разработки с нуля проекта, аналогичного современному ядру Linux, составила бы более миллиарда долларов США (расчёт производился, когда в ядре было 13 млн строк кода), по другим оценкам — более 3 миллиардов.

Показать

Ядро Linux было создано под впечатлением от операционной системы MINIX, которая не устраивала Линуса своей ограниченной лицензией. Впоследствии, когда Linux стал известным проектом, недоброжелатели пытались обвинить Линуса в прямом копировании кода некоторых подсистем MINIX. Нападение отразил Эндрю Таненбаум, автор MINIX, который поручил одному из студентов провести детальное сравнение кода Minix и первых публичных версий Linux. Результаты исследования показали наличие только четырёх несущественных совпадений блоков кода, обусловленных требованиями POSIX и ANSI C.

Первоначально Линус задумал назвать ядро Freax, от слов «free», «freak» и X (Unix). Но имя «Linux» ядро получило с лёгкой руки Ари Лемке (Ari Lemmke), который по просьбе Линуса разместил ядро на FTP-сервере университета, назвав директорию с архивом не «freax», как просил Торвальдс, а «linux». Примечательно, что предприимчивый делец Вильям Делло Крок (William Della Croce) сумел зарегистрировать торговую марку Linux и хотел со временем собирать отчисления, но позднее передумал и передал все права на торговую марку Линусу. Официальный талисман Linux-ядра, пингвин Tux, был выбран в результате соревнования, состоявшегося в 1996 году. Имя Tux расшифровывается как Torvalds UniX.

Динамика роста кодовой базы (количество строк исходного кода) ядра:

0.0.1 — сентябрь 1991, 10 тыс. строк кода;
1.0.0 — март 1994, 176 тыс. строк кода;
1.2.0 — март 1995, 311 тыс. строк кода;
2.0.0 — июнь 1996, 778 тыс. строк кода;
2.2.0 — январь 1999, 1.8 млн. строк кода;
2.4.0 — январь 2001, 3.4 млн. строк кода;
2.6.0 — декабрь 2003, 5.9 млн. строк кода;
2.6.28 — декабрь 2008, 10.2 млн. строк кода;
2.6.35 — август 2010, 13.4 млн. строк кода;
3.0 — август 2011, 14.6 млн. строк кода.
3.5 — июль 2012, 15.5 млн. строк кода.
3.10 — июль 2013, 15.8 млн. строк кода;
3.16 — август 2014, 17.5 млн. строк кода;
4.1 — июнь 2015, 19.5 млн. строк кода;
4.7 — июль 2016, 21.7 млн. строк кода;
4.12 — июль 2017, 24.1 млн. строк кода;
4.18 — август 2018, 25.3 млн. строк кода.
5.2 — июль 2019, 26.55 млн. строк кода.
5.8 — август 2020, 28.4 млн. строк кода.
5.13 — июнь 2021, 29.2 млн. строк кода.

Прогресс развития ядра:

Linux 0.0.1 — сентябрь 1991, первый публичный выпуск, поддерживающий только CPU i386 и загружающийся с дискеты;
Linux 0.12 — январь 1992, код начал распространяться под лицензией GPLv2;
Linux 0.95 — март 1992, обеспечена возможность запуска X Window System, реализована поддержка виртуальной памяти и раздела подкачки.
Linux 0.96-0.99 — 1992-1993, началась работа над сетевым стеком. Представлена файловая система Ext2, добавлена поддержка формата файлов ELF, представлены драйверы для звуковых карт и контроллеров SCSI, реализована загрузка модулей ядра и файловой системы /proc.
В 1992 году появились первые дистрибутивы SLS и Yggdrasil. Летом 1993 года были основаны проекты Slackware и Debian.
Linux 1.0 — март 1994, первый официально стабильный релиз;
Linux 1.2 — март 1995, существенное увеличение числа драйверов, поддержка платформ Alpha, MIPS и SPARC, расширение возможностей сетевого стека, появление пакетного фильтра, поддержка NFS;
Linux 2.0 — июнь 1996 года, поддержка многопроцессорных систем;
Март 1997: основан LKML, список рассылки разработчиков ядра Linux;
1998 год: запущен первый попавший в список Top500 кластер на базе Linux, состоящий из 68 узлов с CPU Alpha;
Linux 2.2 — январь 1999, увеличена эффективность системы управления памятью, добавлена поддержка IPv6, реализован новый межсетевой экран, представлена новая звуковая подсистема;
Linux 2.4 — февраль 2001, обеспечена поддержка 8-процессорных систем и 64 Гб ОЗУ, файловая система Ext3, поддержка USB, ACPI;
Linux 2.6 — декабрь 2003, поддержка SELinux, средства автоматического тюнинга параметров ядра, sysfs, переработанная система управления памятью;
В 2005 году представлен гипервизор Xen, который открыл эру виртуализации;
В сентябре 2008 года сформирован первый релиз платформы Android, основанной на ядре Linux;
В июле 2011 года после 10 лет развития ветки 2.6.x осуществлён переход к нумерации 3.x. Число объектов в Git-репозитории достигло 2 млн;
В 2015 году состоялся выпуск ядра Linux 4.0. Число git-объектов в репозитории достигло 4 млн;
В апреле 2018 года преодолён рубеж в 6 млн git-объектов в репозитории ядра.
В январе 2019 года сформирована ветка ядра Linux 5.0. Репозиторий достиг уровня 6.5 млн git-объектов.
Опубликованное в августе 2020 года ядро 5.8 стало самым крупным по числу изменений из всех ядер за всё время существования проекта.
В ядре 5.13 был поставлен рекорд по числу разработчиков (2150), изменения от которых вошли в состав ядра.
В 2021 году в ветку ядра Linux-next добавлен код для разработки драйверов на языке Rust. Ведётся работа по включению компонентов для поддержки Rust в основной состав ядра.
68% всех изменений в ядро внесены 20 наиболее активными компаниями. Например, при разработке ядра 5.13 10% всех изменений подготовлено компанией Intel, 6.5% — Huawei, 5.9% — Red Hat, 5.7% — Linaro, 4.9% — Google, 4.8% — AMD, 3.1% — NVIDIA, 2.8% — Facebook, 2.3% — SUSE, 2.1% — IBM, 1.9% — Oracle, 1.5% — ARM, 1.4% — Canonical. 13.2% изменений подготовлены независимым участниками или разработчиками, явно не заявившим о своей работе на определённые компании. 1.3% изменений подготовлены студентами, аспирантами и представителями учебных заведений. По числу добавленных в ядро 5.13 строк кода лидирует компания AMD, доля которой составила 20.2% (драйвер amdgpu насчитывает около 3 млн строк кода, что примерно 10% от общего размера ядра — 2.4 млн строк приходится на сгенерированные автоматически заголовочные файлы с данными для регистров GPU).

История
Подходящая картинка к новости

25 августа   Linux   в мире   досуг   интересное   история   памятные даты   сисадминство   софт   юбилей

Бубунта переходит на использование zstd для сжатия deb-пакетов

Разработчики Ubuntu начали перевод deb-пакетов на использование алгоритма zstd, который позволит почти в два раза увеличить скорость установки пакетов, ценой небольшого увеличения их размера (~6%). Примечательно, что поддержка использования zstd была добавлена в apt и dpkg ещё в 2018 году в выпуске Ubuntu 18.04, но для сжатия пакетов не использовалась. В Debian поддержка zstd уже включена в APT, debootstrap и reprepro и проходит рецензирование перед включением в dpkg.

Источники:
http://www.opennet.ru/opennews/art.shtml?num=55453
https://balintreczey.hu/blog/hello-zstd-compressed-debs-in-ubuntu/

7 июля   в мире   досуг   интересное   ОС   сисадминство   события   софт

Google Play уходит от использования APK в пользу App Bundle

Компания Google приняла решение перевести каталог Google Play на использование формата распространения приложений Android App Bundle вместо пакетов APK. Начиная с августа 2021 года формат App Bundle должен будет применяться для всех новых приложений, добавляемых в Google Play, а также для доставки приложений, запускаемых без установки (instant app ZIP).

Обновления к уже присутствующим в каталоге приложениям разрешено продолжить распространять в формате APK. Для доставки дополнительных ресурсов в играх вместо OBB должен будет использоваться сервис Play Asset Delivery. Для заверения приложений App Bundle цифровой подписью должен будет применяться сервис Play App Signing, подразумевающий размещение в инфраструктуре Google ключей для формирования цифровых подписей.

Показать

App Bundle поддерживается начиная с Android 9 и позволяет сформировать набор, включающий всё, что нужно приложению для работы на любом устройстве — языковые наборы, поддержка разных размеров экрана и сборки для различных аппаратных платформ. При загрузке приложения из Google Play на систему пользователя доставляются только код и ресурсы, необходимые для работы на конкретном устройстве. Для разработчика приложения переход на App Bundle как правило сводится к включению другой сборочной опции в настройках и тестированию получившегося AAB-пакета.

По сравнению с загрузкой монолитных пакетов APK использование App Bundle позволяет в среднем на 15% сократить объём загружаемых на систему пользователя данных, что приводит к экономии места на накопителе и ускорению установки приложений. По данным Google в настоящее время уже около миллиона приложений перешло на использование формата App Bundle, включая приложения Adobe, Duolingo, Gameloft, Netflix, redBus, Riafy и Twitter.

Источники:
OpenNet
GoogleBlog Android

2 июля   в мире   досуг   интересное   ОС   сисадминство   события   софт

Смена метода доступа к Git

Протух пароль в гит, сделал так:

здесь сгенерировал новый токен.
Удалил старые кредентиалы гита:

git remote remove origin

git remote add origin https://<токен>@<URL к репозиторию>.git

Ну и находясь в директории репозитория выполнил единоразово:

git pull https://<токен>@<URL к репозиторию>.git

Источник

30 июня   досуг   интересное   интернет   сисадминство   софт

Инструмент от Google для полностью гомоморфного шифрования

Компания Google опубликовала открытый набор библиотек и утилит с реализацией системы полностью гомоморфного шифрования, позволяющей обрабатывать данные в шифрованном виде, которые не фигурируют в открытой форме ни на одном из этапов вычислений. Инструментарий даёт возможность создавать программы для конфиденциальных вычислений, способные работать с данными без расшифровки, в том числе выполнять математические и простые строковые операции над зашифрованными данными. Код проекта написан на языке C++ и распространяется под лицензией Apache 2.0.

Показать

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

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

Среди областей применения гомоморфного шифрования отмечаются создание облачных сервисов для конфиденциальных вычислений, реализация систем электронного голосования, создание анонимизированных протоколов маршрутизации, обработка запросов над зашифрованными данными в СУБД, конфиденциальная тренировка систем машинного обучения.

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

Отличительной чертой опубликованного инструментария является возможность создавать программы для обработки зашифрованных данных, используя типовые приёмы разработки на языке С++. При помощи предоставляемого транспайлера программа на С++ преобразуется в специальный диалект FHE-C++, способный работать с зашифрованными данными.

2021   в мире   досуг   интересное   сисадминство   события   софт

Представлен шелл для выполнения команд на языке человека

Разработчик из проекта River’s Educational Channel представил оболочку командной строки, которая понимает человеческий язык и переводит его в команды интерпретатора Bash. Новая оболочка использует OpenAI и позволяет выполнять как простые команды для работы с файлами и директориями, так и использовать утилиты вроде ImageMagick, ffmpeg со сложными параметрами.

Видео с демонстрацией работы на YouTube

Оболочка написана на Python, распространяется под лицензией MIT. Проект по словам автора, представляет собой достаточно простую обёртку над Bash, которая получает от пользователя описание необходимой для выполнения задачи, затем обращается к OpenAI и выполняет соответствующую команду. На данном этапе развития автор рекомендует проверять предлагаемую команду перед непосредственным выполнением, т. к. ввиду несовершенства модели команды могут быть потенциально опасными.

Для того, чтобы попробовать новую оболочку самостоятельно, необходимо установить зависимости из файла requirements.txt. Также пользователю понадобится либо ключ OpenAI API, либо, как предполагает автор, можно попробовать локальную модель GPT.

Источники:
https://riveducha.onfabrica.com/openai-powered-linux-shell
https://www.linux.org.ru/news/opensource/16276883

2021   в мире   досуг   интересное   сисадминство   события   софт

Решение проблемы BSOD у VirtualBox вместе с КриптоПРО

В винде VirtualBox при запуске виртуального хоста и  установленном в системе КриптоПРО выпадает в «синий экран смерти». При чём отказаться от использования КриптоПРО я не могу, пришлось запускать VirtualBox’овые виртаулки в фоновом режиме с интерфейсом. Но это не всегда удобно, можно случайно забыться и получить BSOD.

Тема давно обсуждается, решения есть везде, но приведу у себя в блоге, чтобы было под рукой. В реестре нужно добавить исключения для VirtialBox в секции CryptoPRO и (обязательно) перезагрузить компьютер, так как КриптоПРО при загрузке ОСи делает свою инициализацию, которая включает чтение записей в реестре. Ветка реестра такая: Показать

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\CProExclude]

Добавляемые записи:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\CProExclude\VBoxHeadless]
"FileName"="VBoxHeadless.exe"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\CProExclude\VBoxNetDHCP]
"FileName"="VBoxNetDHCP.exe"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\CProExclude\VirtualBox]
"FileName"="VirtualBox.exe"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\CProExclude\VBoxBalloonCtrl]
"FileName"="VBoxBalloonCtrl.exe"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\CProExclude\VBoxBugReport]
"FileName"="VBoxBugReport.exe"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\CProExclude\VBoxDTrace]
"FileName"="VBoxDTrace.exe"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\CProExclude\VBoxExtPackHelperApp]
"FileName"="VBoxExtPackHelperApp.exe"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\CProExclude\vbox-img]
"FileName"="vbox-img.exe"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\CProExclude\VBoxManage]
"FileName"="VBoxManage.exe"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\CProExclude\VBoxNetNAT]
"FileName"="VBoxNetNAT.exe"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\CProExclude\VBoxSDL]
"FileName"="VBoxSDL.exe"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\CProExclude\VBoxSDS]
"FileName"="VBoxSDS.exe"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\CProExclude\VBoxSVC]
"FileName"="VBoxSVC.exe"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\CProExclude\VBoxTestOGL]
"FileName"="VBoxTestOGL.exe"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\CProExclude\VBoxWebSrv]
"FileName"="VBoxWebSrv.exe"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\CProExclude\VirtualBoxVM]
"FileName"="VirtualBoxVM.exe"

REG-файл,для добавления в реестр вышеуказанных строк: vb-csp.reg.

Отсюда

2021   досуг   маленькие хитрости   сисадминство   софт

TLS 1.0 и 1.1 официально признаны устаревшими

Комитет IETF (Internet Engineering Task Force), занимающийся развитием протоколов и архитектуры Интернет, опубликовал RFC 8996, официально переводящих протоколы TLS 1.0 и 1.1 в разряд устаревших технологий.

Спецификация TLS 1.0 была опубликована в январе 1999 года. Спустя семь лет было выпущено обновление TLS 1.1 с улучшениями безопасности, связанными с генерацией векторов инициализации и добавочного заполнения. По данным сервиса SSL Pulse по состоянию на 16 января протокол TLS 1.2 поддерживают 95.2% web-сайтов, допускающих установку защищённых соединений, а TLS 1.3 — 14.2%. Соединения по TLS 1.1 допускают 77.4% HTTPS-сайтов, а TLS 1.0 — 68%. Примерно 21% из первых 100 тысяч сайтов, отражённых в рейтинге Alexa, до сих пор не используют HTTPS.

Главными проблемами TLS 1.0/1.1 является отсутствие поддержки современных шифров (например ECDHE и AEAD) и наличие в спецификации требования по поддержке старых шифров, надёжность которых на современном этапе развития вычислительной техники поставлена под сомнение (например, требуется поддержка TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA, для проверки целостности и аутентификации используется MD5 и SHA-1). Поддержка устаревших алгоритмов уже приводила к появлению таких атак, как ROBOT, DROWN, BEAST, Logjam и FREAK. Тем не менее, данные проблемы непосредственно не являлись уязвимостями протокола и закрывались на уровне его реализаций. В самих протоколах TLS 1.0/1.1 отсутствуют критические уязвимости, которые можно использовать для осуществления практических атак.

2021   в мире   досуг   интересное   сеть   сисадминство   события   софт
Ранее Ctrl + ↓
Наверх