LINUX.ORG.RU

Избранные сообщения Infra_HDC

Debian переходит к использованию tmpfs в /tmp и к очистке /tmp и /var/tmp по таймеру

Новости — Debian
Группа Debian

Разработчик Debian Лука Боккасси анонсировал переход Debian к использованию tmpfs в /tmp и к очистке /tmp и /var/tmp по таймеру по умолчанию, начиная с Debian 13 “Trixie”.

В новых системах файлы в /tmp будут либо исчезать вместе с прежним экземпляром tmpfs в памяти после рестарта, либо будут удаляться ежедневно по таймеру, если они старше 10 дней, а файлы в /var/tmp будут удаляться только ежедневно по таймеру, если они старше 30 дней. Пакеты openssh и tmux были модифицированы с целью сохранения своих временных файлов в /var/tmp в качестве исключения. В системах, которые будут обновляться до Debian 13 “Trixie”, старое поведение /var/tmp сохранится.

В то время, как в большинстве других дистрибутивов давно перешли на использование tmpfs в /tmp, в Debian не спешили этого делать. Сейчас разработчики Debian (Michael Biebl и Luca Boccassi) возобновили одну из таких дискуссий 2020 года, в которой разработчик из Canonical (Eric Desrochers) пожаловался на проблему несоответствия тогдашней реализации /var/tmp в Debian тому, как работает systemd, несмотря на то, что патч был опубликован ещё в 2012 году. Таким образом, было принято решение привести поведение системы при работе с этими директориями к общепринятому в systemd и в большинстве других дистрибутивов.

>>> Подробности

 , , , ,

zg
()

Домашняя серверная стойка

Форум — Linux-hardware

Всем привет!

Квартира маленькая, места мало, а большие квартиры стоят очень дорого. Хочется как-то оптимизировать пространство. Вот думаю, а что если рабочий ПК, файло-помойку и домашний сервер установить в серверную стойку.

На сколько комфортно будет работать целый день рядом с такой штукой? Сервер нужен просто для тестов, запускать не нагруженные бекенды, сайтики, виртуалочки и всё такое. Файло-помойка постоянно что-то будет читать\писать из-за торрентов, но тоже не интенсивно. ПК в основном нужен для компиляний.

Так же интересно, если когда-нибудь обживусь Threadripper, туда можно будет поместить жидкостное охлаждение по типу Water Cooling Radiator Chassis?! Или может что-то подобное есть специально для стоек?

 , ,

AntonyRF
()

Вышел Zabbix 7.0 LTS

Новости — Open Source
Группа Open Source

Состоялся релиз свободной и бесплатной системы мониторинга с полностью открытым исходным кодом Zabbix 7.0 LTS. Выпуск 7.0 отнесён к версиям с длинным сроком официальной поддержки (LTS). Для пользователей, которые используют версии без LTS, рекомендуется переход на LTS-версии продукта.

Zabbix – универсальная система для мониторинга производительности и доступности серверов, сервисов, инженерного и сетевого оборудования, приложений, баз данных, систем виртуализации, контейнеров, ИТ-сервисов, веб-сервисов, облачной инфраструктуры и IoT устройств.

Система реализует полный цикл от сбора данных, их обработки и преобразования, анализа этих данных для предсказания и обнаружения проблем, и заканчивая хранением этих данных, визуализацией и рассылкой оповещений с использованием правил эскалаций. Также система предоставляет гибкие возможности расширения методов сбора данных, оповещений, средств визуализации и автоматического решения инцидентов.. Единый веб-интерфейс и мощный API реализуют возможности автоматизации и централизованное управление конфигурациями мониторинга и ролевым распределением прав доступа различным группам пользователей. Код проекта распространяется под лицензией AGPLv3.

( читать дальше... )

>>> Подробности

 ,

alexvl
()

Новая активно используемая уязвимость в netfilter ядра Linux

Новости — Безопасность
Группа Безопасность

Агентство по кибербезопасности и защите инфраструктуры (U.S. Cybersecurity and Infrastructure Security Agency (CISA)) добавило в свой каталог активно используемых уязвимостей недавно найденную проблему в ядре Linux: CVE-2024-1086 Linux Kernel Use-After-Free Vulnerability.

Речь идёт о компоненте nf_tables, внутри встроенного в ядро фаервола netfilter, которая может быть эксплуатирована для эскалации локальных привилегий. Ошибка связана с неправильным взаимодействием функций nft_verdict_init() и nf_hook_slow(), которое приводит к двойному освобождению памяти.

Рекомендовано срочно обновиться или откатить ядро до версии перед коммитом f342de4e2f33e0e39165d8639387aa6c19dff660

>>> Подробности

 , , ,

zg
()

Выпуск Одиннадцатой платформы ALT p11

Новости — Linux в России
Группа Linux в России

Состоялся выпуск Одиннадцатой платформы ALT p11 (Salvia).

В новой стабильной ветке сборка пакетов производится для архитектур:

  • x86_64;
  • i586;
  • aarch64;
  • Эльбрус: e2k (v3, 4С) и e2kv4 (8С/1С+), а также e2kv5 (8СВ), новой e2kv6.

В репозитории для x86_64 сохранится поддержка multilib. Для 32-битных архитектур mipsel, armh (armv7a), 64-битной ppc64le бранч p11 не создаётся.

Платформа предназначена для разработки, тестирования, распространения, обновления и поддержки комплексных решений всех уровней - от встроенных устройств до серверов предприятий и датацентров; создана и развивается командой ALT Linux Team, поддерживается компанией «Базальт СПО».

В Одиннадцатой платформе собраны решения, связанные с работой службы каталогов, миграцией с проприетарной инфраструктуры и другие.

Новые версии приложений

На момент выпуска ветки p11 доступно ядро Linux 6.1, 6.6, 3.10 (OpenVZ). rt-6.1.90 (с патчами реального времени). Для системного окружения предоставлены systemd 255.6, Glibc 2.38, набор компиляторов GCC 13.2, 12.3, 11.4.

Обновлены сетевые службы и подключения: NetworkManager обновлён до версии 1.46, многофункциональный DNS-сервер BIND 9.18, nginx 1.24, Apache httpd 2.4, postfix 3.8.

Для пользователей p11 доступны рабочие среды GNOME 46, KDE 5.116, MATE 1.28, Xfce 4.18 и другие. Собраны актуальные версии веб-браузеров: Firefox обновлён до 126.0; доступен вариант Firefox ESR 115.11; Chromium 125.0 и Chromium-gost 124.0. В платформу собран официальный клиент для мессенджера Telegram telegram-desktop версии 5.0. Обновлены приложения для работы со звуком. Сервер ввода/вывода звука JACK удалён из репозитория в пользу pipewire-jack, слоя совместимости с JACK для PipeWire.

Групповые политики в Linux

В новой стабильной ветке представлено решение по реализации групповых политик в ОС «Альт», основанное на проекте Samba - альтернатива Active Directory под Linux/Unix. Набор утилит: графические инструменты управления групповыми политиками в Linux ADMC и GPUI, а также механизм применения групповых политик gpupdate. На текущий момент в p10 и p11 версии приложений синхронизированы: ADMC 0.16, GPUI 0.2, gpupdate 0.10. Сопровождение планируется осуществлять вплоть до окончания поддержки p10.

В p11 доступна стабильная версия Samba 4.20 совместно с Kerberos 1.21.

Новые инструменты

В ветку p11 вошла графическая утилита диагностики операционной системы ALT Diagnostic Tool, универсальная библиотека libdomain на языке Си, предназначенная для упрощения взаимодействия с различными серверами LDAP, включая FreeIPA, Samba/AD и OpenLDAP. И графический пользовательский интерфейс alterator-browser для настройки системы с использованием D-Bus.

Узнать больше в рассылке altlinux-announce-ru@

Технические подробности релиза на ALT Linux Wiki

Подробнее о новой ветке p11

 , , ,

ALTlinux
()

GCodeWorkShop 2024-05 — редактор программ для станков с ЧПУ

Новости — Open Source
Группа Open Source

Доступен релиз GCodeWorkShop, редактора программ для станков с ЧПУ. GCodeWorkShop возник как форк проекта EdytorNC. Выпуску 2024-05 предшествовал глубокий рефакторинг, призванный упростить развитие проекта.

( читать дальше... )

>>> Подробности

 , ,

anonymous
()

Go vs Kotlin

Форум — Development

Прошу помощи зрительного зала в оценке перспективности смены карьеры с Java Backend разработчика на Go или Kotlin Backend. Да, я знаю, что Kotlin - это больше Android, но вот прямо сейчас наклёвывается новая работа именно на Kotling и именно в Backend. Причём компания - вовсе не стартап переросток с тремя разрабами. Что бы вы выбрали?

  1. Отказались бы от Kotlin backend и продолжили искать Go backend
  2. Согласились бы на Kotlin backend
  3. Остались бы на теряющей популярность, но всё ещё жирной Java backend
  4. Попробовали бы что-то другое (в комментах укажите что)

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

Недавно узнал, что Kotlin не привязан к JVM так сильно, как я до сих пор думал. Речь идёт о Kotlin Multiplatform.

В мире Go существует уникальная возможность перехода, которая закроется через 3 - 4 года. В подавляющем числе Go ориентированных компаний нет требования какого либо прошлого опыта разработки на Go и достаточно лишь опыта разработки на других ЯП, в числе которых обычно упоминают и Java. Если сейчас не запрыгнуть на этот поезд, можно опоздать и не запрыгнуть уже никогда. Уже сейчас начали появляться компании, где требуют хотя бы 2 - 3 года опыта на Go. Их пока мало, но будет больше. 2 - 3 года назад таких компаний не было вообще.

 , ,

zg
()

Альт Виртуализация 10.2

Новости — Linux в России
Группа Linux в России

Доступен очередной выпуск дистрибутива «Альт Виртуализация» 10.2 на 10 платформе (ветка p10 Aronia).
Сборка подготовлена для x86_64 и AArch64.

( читать дальше... )

>>> Подробности

 , , ,

ALTlinux
()

А что Go сдох? Кто вместо него?

Форум — Development

Перестал следить за ним 8 лет назад. Сейчас глянул снова. Старожилы сообщества либо без вести пропали, либо пишут на чём угодно кроме Go. Проекты попротухали. Компании, с которыми я имел дело, переписали всё на JVM based языках. Вакансий по Go, если опустить США, дай боже 5-10 штук в месяц. Из них половина - админство / devops. По статистике TIOBE и PYPL Go растёт (1.42% рынка), а PHP падает (против 1.13%; для сравнения, у Haskell 0.24%). Тем не менее, за, прости господи, PHP предлагают как будто бы в два раза больше денег. Что происходит?

 , , , ,

Pwner
()

Slashdot взял интервью у Ларри Уолла

Форум — Talks

Сабж. Для тех кто не в курсе (если такие есть) - пастор-хакер-лингвист-переводчик, автор patch/perl. Неоднократный победитель на международном конкурсе запутанного кода на языке программирования Си (IOCCC).

В перевод не могу, сорри) Да там и много вопросов:

  • А что насчёт perl в браузере
  • Perl виндоуз-фрэндли
  • Perl в эмбеддед
  • Дизайн языка и интеллектуальная собственность
  • Преобладание инглиша в IT
  • Python ... ?
  • Perl и PHP
  • Как бросить куритьperl5 и начать жить (с perl6)
  • И зачем, когда perl5 устраивает
  • Место perl в мире
  • Начать думать как perl6
  • Абаснуй изменения perl5 -> perl6
  • Где лучше применить perl6
  • Почему синтаксис perl такой неприятный
    • Ответ Ларри: потому что я такой неприятный и ненавижу тебя

 ,

Deleted
()

Web, perl, боль

Форум — Development

Всем доброго.

Комрады. Решил наконец добраться до Perl, как-то обходил его всегда стороной. Понял, что надо восполнять свой багаж знаний. Тем более слышал часто много любви и негатива. Инструмент вроде как устоявшийся и взрослый, для реального применения уже должен быть готов.

Вопрос - что сейчас лучше брать, Raku/Perl6 или Perl (на сколько помню, 5-ую версию хотели в 7-ую переименовывать)? В первую очередь интересна работа с NoSQL, обработка текстов, web (RPC, REST, WebSockets) и немного GUI (кросплатформ).

 , ,

small-entropy
()

Php не видит composer

Форум — Web-development

На дебиане установлен php 7.3 и composer 1.8.4, на сайте используется laravel, но он как-то не видит этот установленный composer, Где надо прописать, чтоб сайт подхватывал этот фреймворк?

 

tmpnikl
()

Ганс Рейзер стал более социальным за время сидения в тюрьме и перестал крошить батон на помогавших ему разработчиков

Форум — Talks

Собственно, сабж: https://www.phoronix.com/news/ReiserFS-README-Linux-6.10

Хотя ReiserFS устарела и в конечном итоге будет исключена из исходного ядра Linux, в Linux 6.10 это последнее изменение ReiserFS, которое было запрошено бывшим ведущим разработчиком Гансом Рейзером.

Ведущий разработчик ReiserFS и осужденный за убийство Ганс Рейзер несколько месяцев назад написал письма, чтобы их обнародовали, извиняясь за свои социальные ошибки и другие комментарии. В своих письменных сообщениях он также сделал последний запрос на ReiserFS в ядре Linux:

«Предполагая, что решение состоит в удалении [ReiserFS] V3 из ядра, у меня есть только одна просьба: для одного последнего релиза отредактировать README, добавив упоминания Михаила Гилюлы, Константина Швачко и Анатолия Пинчука, а также удалить всё, что там я мог бы сказать о том, почему они не были упомянуты. Пришло время отпустить.».

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

 ,

saahriktu
()

Регулярные выражения - заменить все переносы строк

Форум — Web-development

Пробовал preg_replace(‘/\R+/mu’, ‘\n’, $text); Не совсем правильно заменяет. Если было несколько переносов строки то выражение выше превратит все переносы в один.

Как заменить все возможные переносы с сохранением их к-ва на ‘\n’ ?

 

mirek
()

Ищу 100% удалённую работу: PHP / C# ASP.NET

Форум — Job

ТЕХНИЧЕСКИЕ НАВЫКИ:

Коммерческий объектно-ориентированный веб-опыт (C# ASP.NET, PHP, JavaScript, TypeScript, jQuery, ExtJs, Angular, HTML, XML, CSS)

  • Опыт работы с PHP - 15 лет
  • Опыт работы с C# ASP.NET - 7 лет
  • Опыт разработки CMS систем (PHP, C# ASP.NET) и MVC фреймворков (PHP и JavaScript)
  • Опыт работы с базами данных (MySQL, Microsoft SQL Server, MongoDB, PostgreSQL)
  • Опыт работы с фреймворками (Zend, CodeIgniter, Kohana, Symfony, CakePHP)
  • Опыт работы с CMS системами (Wordpress, Joomla, Drupal, Magento)
  • Опыт работы с системами контроля версий (SVN, Git)
  • Опыт разработки мобильных приложений (Android – Java, C# .NET MAUI)
  • Знание языков программирования (C++, Delphi, C#, Java)

ОБРАЗОВАНИЕ:

  • Бакалавр компьютерных наук в автоматизированных системах и программном обеспечении. (основной предмет: Разработка программного обеспечения)
  • Edexcel BTEC HND in Computing and Systems Development
  • Курсы английского языка (c Intermediate Level – CEFR Level B1 до Pre-Advanced Level – CEFR Level B2)

Мои собственные разработки/проекты:

  • CMS (PHP)
  • MVC Framework (PHP)
  • JS Framework (JavaScript)

Ищу 100% удаленную работу (нахожусь не в РФ). Последнее место работы в финтех компании. Часовой пояс: UTC +5.

Желаемая зарплата от 3000 USD и выше. (SWIFT-переводы)

Контакты: Телеграм

 , ,

vmtm
()

Horizon EDA 2.6.0

Новости — Open Source
Horizon EDA 2.6.0
Группа Open Source

Вышла новая версия Horizon EDA — свободной системы автоматизированного проектирования электронных устройств.

( читать дальше... )

В примечаниях к релизу разработчик по факту признаёт решение использовать GTK4 во втором своём проекте — САПР Dune3D — неудачным и обещает в обозримом будущем оставить Horizon EDA на GTK3, поскольку порт на GTK4 займёт много времени и сил и в итоге ухудшит пользовательский опыт.

>>> Подробности

 , , , horizon

AP
()

Suricata 6.0

Новости — Безопасность
Группа Безопасность

Анонсирован выпуск Suricata 6.0, который стал результатом года работы команды разработчиков OISF и сообщества Suricata. Разработчики сфокусировались на стабильности, надежности, производительности, поддержки новых протоколов (HTTP/2, MQTT и RFB), улучшении поддержки DCERPC, SSH, расширяемости. Некоторые части были переписаны на Rust’е.

Suricata – это система обнаружения и предупреждения вторжения (IDS/IPS) с открытым исходным кодом. Система разрабатывается Open Security Foundation. Она совместима с некоторыми системами, которые поддерживают Snort (в настоящее время принадлежит Cisco).

>>> Подробности

 ,

Shaman007
()

Ventoy 1.0.98

Новости — Open Source
Группа Open Source

Состоялся выпуск 1.0.98 Ventoy — инструмента для создания загрузочных USB-накопителей.

Изменения:

  • обновлены загрузочные файлы EFI;
  • исправлена ошибка, из-за которой не распознавалась файловая система Ext4, созданная с помощью последней версии gparted;
  • исправлена ошибка, из-за которой параметр VTOY_LINUX_REMOUNT=1 не работал в RHEL9/CentOS9;
  • исправлена ошибка загрузки последней версии Arch Linux;
  • исправлена ошибка загрузки последней версии KaOS;
  • обновлены локализации;
  • до версии 1.0.35 обновлён плагин vtoyboot.

>>> Подробности

 ,

dataman
()

Как делают интернационализацию в Java?

Форум — Development

В книжке написано
resources are assumed to be in
${basedir}/src/main/resources

Только там совсем не сказано, ни как ресурсы туда класть, ни как указывать коды языков, ни как позже использовать эти ресурсы в коде…

«О состоянии интернационализации и локализации на сегодняшний день нужно знать три вещи: всё очень, очень и очень плохо» (q) Интернационализация: как сделать веб доступным для всех

UPD:
) Как соотносятся ресурсы и модули?
Надо ли мне делать по отдельному модулю на каждый язык?
) Как модули опакечивать в portage?
для того, чтобы они появлялись в списке выводимом командой java --list-modules

 ,

Shushundr
()

Создание устойчивого серверного ПО

Форум — Development

Добрый день, ЛОР! Давно не постил, потому что нечего было сказать. А сейчас, кажется, есть.

Имеем проблему создания типичного транзакционного сервиса - банковское приложение, интернет-магазин, аренда чего-либо, т.д. Как сделать его устойчивым как с точки зрения корректности - запросы не теряются, дважды не повторяются, если не могут примениться - откатываются с отображением ошибки пользователю - так и с точки зрения UX - сервис сохраняет доступность?

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

Итак, начнём с идемпотентности - свойства запроса обладать возможностью быть исполненным несколько раз, и иметь эффект как от одного исполнения. Ценность в следующем - допустим, клиент производил запрос, и соединение оборвалось. Был запрос принят или нет - не понятно. Если клиент переводил на другой счёт деньги - может ли он обновить страницу и не бояться, что деньги спишутся дважды? Проще всего достижимо добавлением id запроса в его тело - если запрос уже был исполнен, операция не производится, и возвращается сохранённый результат.

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

Как достигнуть устойчивости? Имеем парк серверов, каждый из них выполняет свою операцию, с возможностью её отменить - их необходимо координировать в условиях риска выхода из строя серверов, ПО и сети. При выходе из строя сервера необходимо, чтобы он возобновил исполнение присвоенных ему операций - нужно сохранять их в реплицированную БД. Кажется, любая простая БД типа Ключ-Значение подойдёт. Когда исполнение возобновится - оно должно продолжить с момента последней транзакции в цепочке - то есть после каждой транзакции в цепочке, промежуточное состояние должно сохраняться в БД - с возможностью возобновления операции другим исполнителем.

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

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

Но какой должен быть лимит по ресурсам для абстрактного запроса? Поскольку если запрос - «Исполнить SQL выражение» (в случае, если наш сервис - база данных) - у него может быть самое разное потребление памяти и процессорного времени. Решением, на мой взгляд, будет разделение непредсказуемого запроса на предсказуемые - и заранее зная их количество и стоимость, можно оценить затраты на изначальный запрос. Для SQL запроса это будет сначала запрос типа PLAN - сам по себе достаточно предсказуемый - а затем проверка наличия ресурсов и исполнение для каждого шага плана. Но если верхнеуровневый запрос, не имеющий достаточно ресурсов, имеет смысл отбросить сразу - то порождённые запросы стоит выстраивать в очередь.

Зная ограничения по ресурсам, необходимо реализовать их соблюдение. В этом нам поможет ядро ОС - оно отслеживает объём памяти, закреплённый за процессом, и процессорное время, им затраченное. В Linux порог можно выставить командой ulimit и системным вызовом setrlimit. Вводить ограничения необходимо именно на уровне процесса, поскольку память по факту принадлежит не потоку и не корутине, а именно процессу (стек у каждого свой, но куча - общая для процесса), и если память кончается - OOM Killer убивает процесс. Ситуация сложнее для cgroup, в которых выставлено убийство всей cgroup сразу (как для подов в k8s), но это отдельная история, и ulimit можно ставить чуть ниже суммарного ограничения для cgroup. Теперь касательно процессорного времени - оно также действует на процесс целиком (может есть лимит на конкретный поток?). Конечно, запуск процесса под каждый запрос - схема плохо масштабируемая (хотя с идеологической точки зрения, кажется, наиболее правильная), поэтому можно использовать пул процессов, поднимающих свои лимиты для каждого запроса. Также можно запускать N корутин в каждом процессе - суммируя их лимиты. Если одна корутина перейдёт порог, убиты будут все N - но это лучше, чем если бы все запросы жили корутинами в одном процессе, и умерли бы все.

Я вполне представляю, как это можно реализовать для Reverse-proxy (nginx, apache), Python и gRPC. Для разных методов gRPC, каждый из которых предсказуем, указываем в Reverse Proxy свой обработчик - пул процессов. Python достаточно низкоуровневый для общения с ядром, чтобы каждый процесс мог менять свои лимиты. И реализация gRPC имеет параметр max_concurrent_rpcs - чтобы предотвратить DDOS (только на L7, или ещё на L3+4 - не знаю. Но кажется в любом случае, AntiDDOS на L3+4 умеет Reverse Proxy). Если вам подход показался разумным - как бы вы реализовывали на своём ЯП?

 , ,

lostghost1
()