Пакет собирается через `dotnet publish -p:PublishSingleFile=true -p:PublishTrimmed=true`. Trimming требует self-contained, поэтому в /usr/bin/marksman вшит рантайм .NET. Берётся он из завендоренных NuGet-пакетов Microsoft.NETCore.App.Runtime.linux-x64/-arm64 (в .gear/vendor лежат 9.0.10 и 9.0.21), то есть это готовые бинарники Microsoft (libcoreclr.so и др.), а не собранный в ALT dotnet-runtime-9.0. Чем это плохо: - исправления безопасности системного dotnet-runtime до пакета не доходят, для каждого нужна пересборка с обновлением vendor; - рантайм открывает ICU и libssl через dlopen, поэтому зависимостей на них у пакета нет (у dotnet-runtime-* есть Requires: libicu), и без libicu marksman падает при запуске; - в пакете оказываются готовые бинарники вместо собранных из исходников. Предлагаю собирать framework-dependent: `--self-contained false`, без PublishSingleFile/PublishTrimmed, с Requires: dotnet-%dotnetver, и убрать Microsoft.NETCore.App.Runtime.*, Microsoft.AspNetCore.App.Runtime.* и Microsoft.NETCore.App.Host.* из vendor. Сборку такого варианта я готовлю в задаче #439292.