Веб-приложение Azure с Linux и объединение GLIBC 2.29 с моим приложением ASP.NET Core 7

У меня есть приложение ASP.NET Core 7, размещенное в Azure Web App Linux. Я использую собственный пакет, который использует GLIBC 2.29 из Linux. Когда я запускаю SSH, я получаю: ASP .NETCore Version: 7.0.0 и когда я запускаю ldd --version, я получаю:

ldd (Debian GLIBC 2.28-10+deb10u2) 2.28

Родной пакет ищет GLIBC 2.29, и если я использую более старую версию родного пакета, основанную на GLIBC 2.28, то он работает как положено.

Мои вопросы:

  • Могу ли я связать файлы GLIB 2.29 с моей версией? Работает ли это даже с нативными вещами (я слышу, как разработчики C++ смеются над объединением файлов)?
  • Можно ли настроить веб-приложение Azure для запроса GLIB 2.29?

Н.Б. Я знаю, что могу использовать Docker для выбора определенных компонентов, но я оставляю это на крайний случай.

Ускорьте разработку веб-приложений Laravel с помощью этих бесплатных стартовых наборов
Ускорьте разработку веб-приложений Laravel с помощью этих бесплатных стартовых наборов
Laravel - это мощный PHP-фреймворк, используемый для создания масштабируемых и надежных веб-приложений. Одним из преимуществ Laravel является его...
Что такое двойные вопросительные знаки (??) в JavaScript?
Что такое двойные вопросительные знаки (??) в JavaScript?
Как безопасно обрабатывать неопределенные и нулевые значения в коде с помощью Nullish Coalescing
Создание ресурсов API Laravel: Советы по производительности и масштабируемости
Создание ресурсов API Laravel: Советы по производительности и масштабируемости
Создание API-ресурса Laravel может быть непростой задачей. Она требует глубокого понимания возможностей Laravel и лучших практик, чтобы обеспечить...
Как сделать компонент справочного центра с помощью TailwindCSS
Как сделать компонент справочного центра с помощью TailwindCSS
Справочный центр - это веб-сайт, где клиенты могут найти ответы на свои вопросы и решения своих проблем. Созданный для решения многих распространенных...
Асинхронная передача данных с помощью sendBeacon в JavaScript
Асинхронная передача данных с помощью sendBeacon в JavaScript
В современных веб-приложениях отправка данных из JavaScript на стороне клиента на сервер является распространенной задачей. Одним из популярных...
Как подобрать выигрышные акции с помощью анализа и визуализации на Python
Как подобрать выигрышные акции с помощью анализа и визуализации на Python
Отказ от ответственности: Эта статья предназначена только для демонстрации и не должна использоваться в качестве инвестиционного совета.
0
0
73
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
Могу ли я связать файлы GLIB 2.29 с моей версией?

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

Развернуто ASP.NET Core 7 в Azure Linux App service. Когда проверял версию, Даже у меня такая же версия 2.28.

В развернутом Azure Linux App откройте SSH.

Ссылка для открытия SSH — https://YourWebAppName.scm.azurewebsites.net/webssh/host.

Я попытался install/ update установить последнюю версию с помощью приведенной ниже команды.

apt-get install libc6

  • Поскольку GLIBC 2.29 недоступен в Azure Linux, мы можем загрузить исходный код и установить его из GNU C Library — Sourceware.org.

Выполните следующие шаги, чтобы установить GLIBC 2.29 версию в локальном Linux.

Запустите приведенные ниже команды.

wget https://ftp.gnu.org/gnu/libc/glibc-2.29.tar.gz
tar -xvzf glibc-2.29.tar.gz

Перейдите в корневой каталог glibc-2.29.

cd glibc-2.29
make 
make install

  • Это нельзя установить непосредственно в Azure Linux App Service. Мы можем выполнить тот же процесс в Linux Virtual Machine.
Я могу использовать Docker для выбора определенных компонентов

Да, мы можем создать собственный образ в Azure Linux app service и развернуть его в Azure Container Registry.

Ссылка взята с сайта zoomadmin.

Итак, вы подтверждаете, что не можете изменить версию GLIBC службы веб-приложений (Linux), и рекомендуете виртуальную машину Linux или контейнер.

Adam 20.01.2023 16:12

Это то, что я получил, когда попытался обновить службу приложений Azure Linux.

Harshitha 20.01.2023 16:13

Когда я пытался обновить с помощью команды apt-get install libc6, мне сообщалось, что 2.28 — это последняя версия, доступная в приложении Azure для Linux.

Harshitha 20.01.2023 16:14

Итак, рекомендуется обновить, загрузив исходный код.

Harshitha 20.01.2023 16:15

Другие вопросы по теме