Partage de technologie

Installez Linux CENTOS 07 sur une machine virtuelle et déployez NET8.

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Téléchargez d'abord l'image centos07. Il est recommandé d'utiliser l'adresse recommandée par Alibaba Cloud :

https://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/?spm=a2c6h.25603864.0.0.59b5f5ad5Nfr0X

En fait, la première fosse est déjà apparue ici.

Le libstdc++.so de centos 07 /usr/lib64/ ne prend en charge que la version 19 ;

GLIBCXX ne sera plus disponible dans toutes les versions après la 3.4.20

Net 8 signalera une erreur lors de l'exécution, car il nécessite GLIBCXX_3.4.20 et GLIBCXX_3.4.21 (en fait, NET8 ne prend pas en charge CENTOS 07, nous insistons là-dessus)

  1. dotnet: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by dotnet)
  2. dotnet: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by dotnet)

Maintenant que nous avons rencontré et résolu le problème, si nous utilisons une version supérieure de centos depuis le début, pouvons-nous directement éviter ces problèmes. Bien sûr, c'est une histoire pour plus tard. Ce qui suit explique comment la version 07 est sortie ? la fosse.

Le processus de téléchargement et d'installation est d'ailleurs omis, le code d'activation VM17 suivant est fourni ;

激活码:JU090-6039P-08409-8J0QH-2YR7F

Configurez d'abord le réseau

Sous l'éditeur, cliquez sur Préférences, puis sélectionnez votre machine virtuelle dans le tableau et restaurez les paramètres par défaut

Expliquez que vous devez télécharger le package d'environnement via la commande WGET plus tard, puis la ligne de commande vous indiquera que le réseau n'est pas autorisé. Finalement, Baidu a fait quelques recherches et cette opération est suffisante ;

Créez un nouveau dossier dotnet sous /home, puis téléchargez le SDK et le runtime NET 8 (en fait, installez-en simplement un. J'ai vu que d'autres avaient installé le runtime, j'ai donc choisi d'installer le SDK. Le SDK net8 inclut le runtime)

  1. 虚拟机拖拽命令
  2. systemctl enable run-vmblock\x2dfuse.mount # 开机自启
  3. systemctl start run-vmblock\x2dfuse.mount # 启动服务
  4. sdk 下载地址
  5. wget https://download.visualstudio.microsoft.com/download/pr/dd6ee0c0-6287-4fca-85d0-1023fc52444b/874148c23613c594fc8f711fc0330298/dotnet-sdk-8.0.302-linux-x64.tar.gz
  6. runtime 下载地址
  7. wget https://download.visualstudio.microsoft.com/download/pr/ce31d92b-b514-4f9c-843b-29c466871369/b332eba5641cbc6eed1e3a98480972d2/aspnetcore-runtime-8.0.6-linux-x64.tar.gz

  1. 解压路径
  2. mkdir dotnet
  3. mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-8.0.302-linux-x64.tar.gz -C $HOME/dotnet
  4. export DOTNET_ROOT=$HOME/dotnet
  5. export PATH=$PATH:$HOME/dotnet
  6. 保存到环境变量
  7. echo 'export PATH=$PATH:$HOME/dotnet' >> ~/.bashrc
  8. echo 'export DOTNET_ROOT=$HOME/dotnet' >> ~/.bashrc
  9. source ~/.bashrc
  10. dotnet --version
  11. dotnet --info

À ce stade, vous devriez obtenir une erreur lorsque vous exécutez dotnet --version.

C'est à ce moment-là que j'ai commencé à avoir des ennuis

Les articles en ligne disent d'utiliser yum pour mettre à jour libstdc.so. Que peut-on faire d'autre pour compiler une nouvelle version de GCC ? ? ? ? ? ? ? ? ? ? ? ? ? ?

J'ai suivi les instructions pendant longtemps, j'ai échoué à plusieurs reprises et j'ai douté de ma vie à plusieurs reprises. J'ai presque essayé de télécharger la version centos 07+, ou j'ai essayé de rétrograder NET8 et j'ai gâché le système et je l'ai réinstallé plusieurs fois (heureusement). , c'est une machine virtuelle, donc c'est très rapide)

C’est peut-être parce que les versions des anciens sont différentes de la mienne que ça n’a pas fonctionné ! ! ! ! !

  1. 其实就是下载一个libstdc++.so.6.0.26 放到 usr/lib64下,
  2. 然后做一个软连接所有访问libstdc++.so.6指向libstdc++.so.6.0.26

J'ai suivi les instructions pendant longtemps, j'ai échoué à plusieurs reprises et j'ai douté de ma vie à plusieurs reprises. J'ai presque essayé de télécharger la version centos 07+, ou j'ai essayé de rétrograder NET8 et j'ai gâché le système et je l'ai réinstallé plusieurs fois (heureusement). , c'est une machine virtuelle, donc c'est très rapide)

C’est peut-être parce que les versions des anciens sont différentes de la mienne que ça n’a pas fonctionné ! ! ! ! !

其实就是下载一个libstdc++.so.6.0.26 放到 usr/lib64下,

然后做一个软连接所有访问libstdc++.so.6指向libstdc++.so.6.0.26

Vous pouvez déployer avec succès net8 et exécuter net core sur centos 07. Un cas simple

J'ai ignoré les processus de téléchargement, de mise en ligne et de décompression

Les commandes de connexion logicielle suivantes sont fournies

  1. 下载链接: libstdc.so.6.0.26 将压缩包放置/usr/lib64目录下
  2. cd /usr/lib64
  3. unzip libstdc.so_.6.0.26.zip
  4. rm libstdc++.so.6
  5. ln -s libstdc++.so.6.0.26 libstdc++.so.6

À ce stade, exécutez la commande dotnet pour vérifier l'environnement.

  1. dotnet --version
  2. dotnet --info

ça devrait ressembler à ça

J'ai deviné que le SDK net8 contenait un runtime (car mon win10 net8 n'a qu'un seul SDK, mais avant le SDK net5 reposait également sur le rutime net core 2.1)

Ensuite, créez simplement une simple API de repos et exécutez-la sous Windows après l'avoir publiée.

Copiez le fichier sous Linux et entrez le chemin dans le fichier

dotnet WebApplication1.dll

À ce stade, nous devons configurer le port réseau pour communiquer avec la machine virtuelle, puis accéder à la machine virtuelle sur la machine physique.

résultat,,,,

En conséquence, j'ai été stupide et j'ai cliqué sur locslhost:5000 sur la ligne de commande Linux (car cela indiquait que l'on pouvait cliquer dessus)

Il s'avère que les machines virtuelles de version supérieure disposent déjà d'opérations visuelles intégrées et d'une version Firefox LINUX intégrée.

Pour déployer net8 dans l'environnement LINUX centos, Microsoft propose également une prise en charge et une installation de scripts plus simples.

  1. 以下是脚本自动安装NET 8
  2. wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh
  3. chmod +x ./dotnet-install.sh
  4. ./dotnet-install.sh --version latest
  5. 若要安装 .NET 运行时而非 SDK,请使用 --runtime 参数。
  6. ./dotnet-install.sh --version latest --runtime aspnetcore

Il téléchargera une telle chose puis l'installera. Par défaut, il sera installé selon la dernière version du SDK. Si vous souhaitez installer d'autres versions, ou rintime peut également modifier la ligne de commande ci-dessus pour y parvenir.

Cette installation est relativement simple, il suffit de l'exécuter ligne par ligne mais vous rencontrerez également les problèmes environnementaux que j'ai évoqués (il vous reste à les résoudre) ;

Les ressources et documents associés nécessaires à cet article peuvent être téléchargés dans le groupe de partage. Tout problème technique peut être communiqué dans le groupe. Attention : la publicité est interdite dans ce groupe ! La publicité est interdite dans ce groupe ! La publicité est interdite dans ce groupe ! Dites les choses importantes trois fois, merci !