<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">вс, 15 сент. 2024 г. в 23:16, Hennadii Makhomed <<a href="mailto:gmm@csdoc.com">gmm@csdoc.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 15.09.2024 20:04, Илья Шипицин wrote:<br>
<br>
> а к чему вы предлагаете привязать график релизов ? если выйдет новая версия<br>
> angie или freenginx, пересобирать пакет с nginx ? а какая версия будет у<br>
> пакета ?<br>
<br>
если основным пакетом будет freenginx, то там вообще не проблема,<br>
потому что новые версии freenginx выходят чаще, чем новые версии nginx,<br>
если посмотреть по содержимому этих двух файлов:<br>
<br>
<a href="https://freenginx.org/en/CHANGES" rel="noreferrer" target="_blank">https://freenginx.org/en/CHANGES</a><br>
<a href="https://nginx.org/en/CHANGES" rel="noreferrer" target="_blank">https://nginx.org/en/CHANGES</a><br>
<br>
в freenginx больше новых возможностей и больше исправлено ошибок.<br>
<br>
и тогда версию пакета делать по версии freenginx, и его делать версией<br>
по умолчанию, но включить внутрь все четыре варианты исполняемого файла,<br>
freenginx и nginx, обычную и отладочную версию бинарника.<br>
<br>
Но я не знаю, захотят ли сотрудники компании F5, Inc. на своем сайте<br>
<a href="http://nginx.org" rel="noreferrer" target="_blank">nginx.org</a> выкладывать бинарники для форка freenginx - им это зачем ?<br>
<br>
поэтому я и просил сделать хотя бы переключение только между обычной<br>
и отладочной версиями nginx через alternatives - дальше уже доработать<br>
spec и добавить туда еще и поддержку двух бинарников для freenginx -<br>
это будет не сложно и расхождений между rpm-пакетами для freenginx<br>
и nginx будет мнимальное количество - тогда получится легко сделать<br>
пакет для freenginx, у которого будет запасной вариант, "план Б",<br>
чтобы можно было бы в случае обнаружения какого-то бага<br>
в поведении freenginx 1.27.4  проверить, воспроизводится ли<br>
эта ошибка и при использовании бинарника оригинального nginx,<br>
собранного из исходников взятых с сайта <a href="http://nginx.org/en/download.html" rel="noreferrer" target="_blank">nginx.org/en/download.html</a><br>
или нет. Тогда проще будет найти и устранить ошибку - она является<br>
общей дле обеих форков, или эта ошибка является уникальной только<br>
для nginx, или эта ошибка является уникальной только для freenginx.<br>
<br>
в пакете freenginx дополнительно еще два бинарника из другой кодовой<br>
базы смотрелись бы вполне естественно и это было бы удобно в работе.<br>
<br>
в rpm-пакете для nginx скорее всего, что не захотят делать<br>
через alternatives еще и бинарники для варианта freenginx.<br>
<br>
потому что там ведь еще и все модули для nginx тоже придется менять,<br>
через follower links, во всех дополнительных внешних пакетах, чтобы<br>
это была одна link group, которая вся вместе переключается, за один шаг.<br>
<br>
но это было бы удобно в использовании - при обнаружении какой-то ошибки<br>
в работе nginx - переключиться через alternatives на отладочную версию<br>
и попробовать найти причину и посмотреть есть ли эта ошибка<br>
в альтернативной версии nginx.<br>
<br>
я бы даже и mainline и stable версии включил бы в один пакет,<br>
чтобы можно было бы "на лету" переключаться между:<br>
<br>
- release или debug<br>
- stable или mainline<br>
- nginx или freenginx<br>
<br>
всего 2**8 == 8 различных вариантов бинарников nginx.<br>
<br>
включать туда еще и Angie - не получится наверное,<br>
потому что у Angie все переименовано - и каталоги<br>
с конфигами и бинарник переименован, да и модулей<br>
у них внешних гораздо больше - скорее всего, что<br>
не получится совместить с nginx так, чтобы можно<br>
было бы переключать на Angie без каких-либо проблем.<br>
<br>
Например, Angie умеет отдавать метрики в формате<br>
Prometheus, а freenginx и nginx этого не умеют,<br>
так что nginx и freenginx будут выдавать ошибку<br>
на директивы prometheus и prometheus_template.<br>
<br>
разве что - портировать эту функциональность<br>
из Angie обратно в freenginx и nginx, но ведь<br>
nginx не free from arbitrary corporate actions.<br>
<br>
было бы хорошо сделать для начала хотя бы возможность<br>
переключения через alternatives между release и debug<br>
версиями nginx, потом - в состав mainline rpm-пакета<br>
можно будет добавить и stable-варианты бинарников<br>
и потом - уже будет проще по аналогии добавить<br>
и возможность переключения между freenginx и nginx<br>
<br>
зачем могут быть нужны stable бинарники внутри mainline версии?<br>
<br>
для того, чтобы можно было бы очень быстро определить, присутствует<br>
какой-то баг только в mainline версии nginx или же он есть и в stable?<br>
без переустановки пакета, просто переключив бинарники через alternatives<br>
<br>
в общем, пока что есть такие варианты реализации:<br>
<br>
1. в виде готовых rpm-пакетов с сайта <a href="http://freenginx.org" rel="noreferrer" target="_blank">freenginx.org</a><br>
<br>
2. в виде готовых rpm-пакетов с сайта <a href="http://nginx.org" rel="noreferrer" target="_blank">nginx.org</a><br>
<br>
3. делать это все самому, собирая такие пакеты для себя<br>
<br>
4. попробовать поговорить с разрабочиками Rocky Linux,<br>
может быть им это тоже будет интересно и в дополнение<br>
к существующим Rocky Linux Special Interest Groups<br>
<a href="https://wiki.rockylinux.org/special_interest_groups/current/" rel="noreferrer" target="_blank">https://wiki.rockylinux.org/special_interest_groups/current/</a><br>
можно будет создать еще одну Special Interest Group,<br>
например, Web Server SIG (не путать с Web Server LLC).<br>
<br>
Ведь судя по статистике August 2024 Web Server Survey<br>
<a href="https://www.netcraft.com/blog/august-2024-web-server-survey/" rel="noreferrer" target="_blank">https://www.netcraft.com/blog/august-2024-web-server-survey/</a><br>
в мире примерно на 30% всех сайтов. На самом деле - еще больше,<br>
потому что на многих сайтах, которые отжаются через Cloudflare<br>
- тоже стоит nginx, просто Cloudflare заменяет заголовок Server: своим.<br>
<br>
А если смотреть market share по компьютерам<br>
(виртуальным или выделенным серверам), то там вообще<br>
на почти что 40% всех серверов установлен nginx.<br></blockquote><div><br></div><div>это огромное число серверов.</div><div>наталкивает на мысль, что каким-то образом задача с пакетами решена, не могут же столько народа мучиться, чтобы об этом ничего не было известно.</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
по market share of all domains nginx + OpenResty - примерно 37%,<br>
но на самом деле больше, потому что там где написано Cloudflare<br>
- это тоже во многих случаях nginx.<br>
<br>
так что возможно получилось бы сделать такую Web Server SIG,<br>
но это уже на самый крайний случай, если только по варианту<br>
№1 и №2 не получится ничего сделать и есмли это надо будет<br>
не только мне одному (вариант №3) и тогда только можно будет<br>
пробовать создавать такую SIG в рамках дистрибутива Rocky Linux,<br>
чтобы можно было бы собрать наиболее униерсальный и наиболее удобный<br>
пакет с nginx для Rocky Linux, включающий в себя все 8 вариантов:<br>
<br>
- freenginx или nginx<br>
- mainline или stable<br>
- release или debug<br>
<br>
какую именно версию дистрибутива активировать по умолчанию через <br>
alternatives - в процессе установки пакета можно будет задавать<br>
через переменную окружения, yапример, так:<br>
<br>
export NGINX_VERSION="freenginx-mainline-release"<br>
export NGINX_VERSION="freenginx-mainline-debug"<br>
<br>
export NGINX_VERSION="freenginx-stable-release"<br>
export NGINX_VERSION="freenginx-stable-debug"<br>
<br>
export NGINX_VERSION="nginx-mainline-release"<br>
export NGINX_VERSION="nginx-mainline-debug"<br>
<br>
export NGINX_VERSION="nginx-stable-release"<br>
export NGINX_VERSION="nginx-stable-debug"<br>
<br>
и потом - просто выполнить команду<br>
<br>
dnf install nginx<br>
<br>
и необходимая для работы версия nginx<br>
будет автоматически активирована в процессе<br>
установки rpm-пакета через систему alternatives.<br>
<br>
но пользователи других дистрибутивов тогда будут ограничены<br>
в своих возможностях, потому что такое пакеты, включающие<br>
в себя несколько вариантов бинарников nginx тогда будут доступны<br>
только для Rocky Linux и пользователи других дистрибутивов Linux<br>
тогда будут чувствовать себя не очень уютно и не очень комфортно.<br>
<br>
вот это ощущение, что был выбран не тот дистрибутив Linux, который было<br>
бы целесообразно использовать для production use - оно не из приятных.<br>
<br>
им же и так хватает проблем с Debian,<br>
которых нет в Rocky Linux, например:<br>
<br>
<a href="https://www.opennet.ru/opennews/art.shtml?num=60877" rel="noreferrer" target="_blank">https://www.opennet.ru/opennews/art.shtml?num=60877</a><br>
В библиотеке xz/liblzma выявлен бэкдор, организующий вход через sshd<br>
<br>
<a href="https://legalhackers.com/advisories/Nginx-Exploit-Deb-Root-PrivEsc-CVE-2016-1247.html" rel="noreferrer" target="_blank">https://legalhackers.com/advisories/Nginx-Exploit-Deb-Root-PrivEsc-CVE-2016-1247.html</a><br>
Nginx (Debian-based + Gentoo distros) - Root Privilege Escalation<br>
<br>
<a href="https://bdu.fstec.ru/vul/2015-04116" rel="noreferrer" target="_blank">https://bdu.fstec.ru/vul/2015-04116</a><br>
BDU:2015-04116: Уязвимости операционной системы Debian GNU/Linux,<br>
позволяющие удаленному злоумышленнику нарушить конфиденциальность<br>
защищаемой информации<br>
<a href="https://www.linux.org.ru/news/security/2739951" rel="noreferrer" target="_blank">https://www.linux.org.ru/news/security/2739951</a><br>
Предсказуемый генератор случайных чисел в Debian/Ubuntu<br>
<a href="https://www.opennet.ru/opennews/art.shtml?num=15862" rel="noreferrer" target="_blank">https://www.opennet.ru/opennews/art.shtml?num=15862</a><br>
Разбор причин появления уязвимости в openssl пакете или о вреде valgrind<br>
<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-0166" rel="noreferrer" target="_blank">https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-0166</a><br>
OpenSSL 0.9.8c-1 up to versions before 0.9.8g-9 on Debian-based<br>
operating systems uses a random number generator that generates<br>
predictable numbers, which makes it easier for remote attackers<br>
to conduct brute force guessing attacks against cryptographic keys.<br>
<br>
Я это не ради флейма пишу, объективно, у Rocky Linux качетсво кода выше,<br>
чем у Debian - вот в исторической перскпективе, три серьезные проблемы,<br>
которых не было в Enterprise Linux, но которые были добавлены в Debian.<br>
<br>
получить 10 лет жизни для какой-то ветки Debian можно только за деньги,<br>
<a href="https://endoflife.date/debian" rel="noreferrer" target="_blank">https://endoflife.date/debian</a> - а для Rocky Linux срок жизни 10 лет -<br>
это вообще бесплатно, <a href="https://endoflife.date/rocky-linux" rel="noreferrer" target="_blank">https://endoflife.date/rocky-linux</a> - потому<br>
что Rocky Linux - это клон RHEL + дополнительные возможности,<br>
которых нет в RHEL + возможность купить коммерческу поддержку<br>
у CIQ <a href="https://ciq.com/products/rocky-linux/" rel="noreferrer" target="_blank">https://ciq.com/products/rocky-linux/</a> в случае необходимости.<br>
<br>
Потому что Gregory Kurtzer, основатель преокта Rocky Linux является<br>
также CEO и основателем CIQ <a href="https://ciq.com/company/founding-story/" rel="noreferrer" target="_blank">https://ciq.com/company/founding-story/</a><br>
<br>
А то, что Debian stable branch is the most popular edition<br>
for personal computers and network servers - этого не понятно.<br>
<br>
Ведь объективно, по качеству кода - дистрибутив Rocky Linux лучше.<br>
Впрочем, сравнивать здесь дистрибутивы Linux - это наверное оффтопик.<br>
<br>
P.S.<br>
<br>
это как в том старом анекдоте,<br>
<br>
Человек останавливает машину.<br>
Водитель: Вам куда?<br>
- Мне туда-то, а вы такси?<br>
- Садитесь.<br>
- А вы такси? Так где же ваши шашечки?<br>
- Вам шашечки, или ехать?<br>
<br>
=====================================<br>
<br>
так и тут - если на самом деле нужно "ехать", в не "шашечки"<br>
то объективно - Rocky Linux - это лучший выбор для сервера,<br>
если выбирать из числа всех Linux-дистрибутивов всего мира.<br>
<br>
-- <br>
Best regards,<br>
  Gena<br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
<a href="https://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">https://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br>
</blockquote></div></div>