虛擬機安裝Linux CENTOS 07 部署NET8 踩坑大全

首先下載centos07鏡像,建議使用阿里云推薦的地址:

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

?其實這里就已經出現第一個坑了

centos? 07 /usr/lib64/ 的 libstdc++.so只支持到19;

GLIBCXX會缺失3.4.20以后所有的版本

net 8運行就會報錯,因為它需要GLIBCXX_3.4.20和GLIBCXX_3.4.21(其實就是NET8 不支持CENTOS 07,我們硬要它支持)

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

既然遇到了并能解決問題,那么如果一開始就用centos更高的版本,是不是就能直接避免這些問題;當然那是后話,以下還是講述07版本走出大坑

下載以及安裝過程就省略掉了;順便提供以下VM17的激活碼

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

先配置下網絡

編輯里,點擊首選項,然后在表格里選擇自己的虛擬機,還原默認設置

解釋一下,后面要通過WGET命令 下載環境包,然后命令行會提示網絡不允許;最后百度了一番,這么操作就可以了。

?在 /home 下新建dotnet 文件夾,然后下載NET 8 SDK 和runtime(其實安裝其中一個就行了,我看別人安裝的都是runtime,我選擇安裝sdk,net8 sdk 里是包含runtime的)

虛擬機拖拽命令
systemctl enable run-vmblock\\x2dfuse.mount # 開機自啟systemctl start run-vmblock\\x2dfuse.mount # 啟動服務sdk 下載地址
wget https://download.visualstudio.microsoft.com/download/pr/dd6ee0c0-6287-4fca-85d0-1023fc52444b/874148c23613c594fc8f711fc0330298/dotnet-sdk-8.0.302-linux-x64.tar.gzruntime 下載地址
wget https://download.visualstudio.microsoft.com/download/pr/ce31d92b-b514-4f9c-843b-29c466871369/b332eba5641cbc6eed1e3a98480972d2/aspnetcore-runtime-8.0.6-linux-x64.tar.gz

解壓路徑
mkdir dotnet
mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-8.0.302-linux-x64.tar.gz -C $HOME/dotnetexport DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet保存到環境變量
echo 'export PATH=$PATH:$HOME/dotnet' >> ~/.bashrc
echo 'export DOTNET_ROOT=$HOME/dotnet' >> ~/.bashrc
source ~/.bashrcdotnet --version
dotnet --info

這時候你執行dotnet --version 應該就會報錯了,

這時候我就開始踩坑了

網上帖子說用yum 更新?libstdc.so 還有什么編譯新版本GCC??????????????

就這么按照指點操作了很久,失敗了很多次,懷疑人生了很多次,差點就去試圖下載centos 07+版本,或者試圖把NET8降下來;把系統搞亂了,也重裝了好幾次,(還好是虛擬機,快得很)

可能是哪些老前輩版本跟我不一樣導致沒成功吧!!!!!

其實就是下載一個libstdc++.so.6.0.26 放到 usr/lib64下,然后做一個軟連接所有訪問libstdc++.so.6指向libstdc++.so.6.0.26

就這么按照指點操作了很久,失敗了很多次,懷疑人生了很多次,差點就去試圖下載centos 07+版本,或者試圖把NET8降下來;把系統搞亂了,也重裝了好幾次,(還好是虛擬機,快得很)

可能是哪些老前輩版本跟我不一樣導致沒成功吧!!!!!

其實就是下載一個libstdc++.so.6.0.26 放到 usr/lib64下,然后做一個軟連接所有訪問libstdc++.so.6指向libstdc++.so.6.0.26

就能讓net8 在 centos 07 上成功部署以及運行 net core簡單案例

?下載,上傳,解壓過程我就跳過了鴨

以下提供軟連接命令

下載鏈接: libstdc.so.6.0.26 將壓縮包放置/usr/lib64目錄下
cd /usr/lib64
unzip libstdc.so_.6.0.26.zip
rm libstdc++.so.6
ln -s libstdc++.so.6.0.26 libstdc++.so.6

?這時候在執行 dotnet命令檢查環境

dotnet --version
dotnet --info

應該會如下所示

?我就猜到net8 sdk 里包含了 runtime (因為我win10 net8 就一個sdk,不過之前net5 SDK 還要依賴 net core 2.1 rutime)

然后隨便建一個簡單的 rest api 發布后再windows 下運行

?將文件拷貝到linux 上,在文件里路勁里

dotnet WebApplication1.dll

這時候我們應該設置網絡端口和虛擬機互通,然后在物理機上訪問虛擬機

結果,,,,

結果我手賤去點了一下linux 命令行的locslhost:5000 (因為它提示能點)

原來高版本的VM已經自帶可視化操作了,還內置火狐LINUX版

對于LINUX centos 環境部署 net8 microsoft還提供了更簡單的支持,腳本安裝

以下是腳本自動安裝NET 8  
wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh
chmod +x ./dotnet-install.sh
./dotnet-install.sh --version latest若要安裝 .NET 運行時而非 SDK,請使用 --runtime 參數。
./dotnet-install.sh --version latest --runtime aspnetcore

它會下載這么個玩意,然后去安裝,默認會按照最新版本的SDK去安裝,想安裝其他版本,或者rintime也可以更改上方命令行實現

這個安裝的比較簡單,一行一行往下執行就行了;但是也會遇到我說的哪些環境問題(該解決的還是得解決)

文中需要的資源及相關文檔可以在群共享中下載,任何技術問題都可以群里交流,請注意:本群禁廣告!本群禁廣告!本群禁廣告!重要的事情說三遍,感謝!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/45097.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/45097.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/45097.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數據湖表格式 Hudi/Iceberg/DeltaLake/Paimon TPCDS 性能對比(Spark 引擎)

當前,業界流行的集中數據湖表格式 Hudi/Iceberg/DeltaLake,和最近出現并且在國內比較火的 Paimon。我們現在看到的很多是針對流處理場景的讀寫性能測試,那么本篇文章我們將回歸到大數據最基礎的場景,對海量數據的批處理查詢。本文…

Java中的線程同步機制有哪些?

Java中的線程同步機制是一套用于協調線程間的數據訪問及活動的機制,該機制用于保障線程安全以及實現這些線程的共同目標。Java平臺提供的線程同步機制主要包括以下幾個方面: 1. 鎖(Lock) 鎖是Java中最基本的線程同步機制之一&am…

飛書、釘釘、企業微信的大模型“三國殺”

文:互聯網江湖 作者:劉致呈 曾經在一次內部的周年會上,字節跳動CEO梁汝波曾表示對飛書和火山引擎的研發投入不低于抖音和TikTok。言下之意,飛書在字節內部的重要性比肩抖音。 業務的重要性從時間上也看得出來,要知道…

靜態時序分析:Leaf Cell(葉單元)

相關閱讀???????靜態時序分析https://blog.csdn.net/weixin_45791458/category_12567571.html 在DC中,leaf cell(葉單元)有時會出現在描述中,例如set_input_delay的-reference_pin選項的參數,就必須是一個端口或…

C# Winform之propertyGrid控件使用詳解和分組設置

PropertyGrid 控件在 WinForms 中是一個非常有用的工具,它允許用戶查看和編輯一個對象的屬性。這個控件非常適合用于配置對話框或任何需要動態顯示對象屬性的地方。下面我會詳細介紹 PropertyGrid 的使用方法和如何對屬性進行分組。 使用詳解 1. 添加 PropertyGri…

《昇思25天學習打卡營第18天|onereal》

RNN實現情感分類 概述 情感分類是自然語言處理中的經典任務,是典型的分類問題。本節使用MindSpore實現一個基于RNN網絡的情感分類模型,實現如下的效果: 輸入: This film is terrible 正確標簽: Negative 預測標簽: Negative輸入: This film…

AI版Siri要明年見,研究表明ChatGPT暫無法取代程序員,Kimi推出瀏覽器插件

ChatGPT狂飆160天,世界已經不是之前的樣子。 更多資源歡迎關注 根據彭博社記者馬克古爾曼的最新消息,蘋果公司今年不會推出全新的Apple Intelligence驅動的Siri,該公司計劃在明年1月開始測試,并在iOS 18.4中才推出正式版本。 此前…

景聯文科技以高質量多模態數據集賦能AI大模型,精準匹配提升模型性能

在人工智能的浪潮中,語料數據如同建筑的基石,其質量、規模和運用策略直接決定了AI模型的表現和應用的廣泛性。 景聯文科技在AI領域深耕多年,打磨了高質量多模態數據集,致力于為不同訓練階段的算法精準匹配高質量數據資源。 3000萬…

STM32中斷(NVIC和EXIT)

CM3 內核支持 256 個中斷,其中包含了 16 個內核中斷和 240個外部中斷,并且具有 256 級的可編程中斷設置。但STM32 并沒有使用CM3內核的全部東西,而是只用了它的一部分。STM32有 76 個中斷,包括16 個內核中斷和 60 個可屏蔽中斷&am…

Dify中的RAG和知識庫

一.RAG 基本架構 當用戶提問 “美國總統是誰?” 時,系統并不是將問題直接交給大模型來回答,而是先將用戶問題在知識庫中進行向量搜索,通過語義相似度匹配的方式查詢到相關的內容(拜登是美國現任第46屆總統…&#xff0…

對比多種方法執行命令行命令

在這兩種方法中,一種是使用argparse模塊來模擬命令行參數的解析,另一種是使用subprocess模塊來直接執行一個命令行命令。下面是對兩種方法的詳細比較: 使用argparse模擬命令行參數 這種方法主要用于在Python腳本內部測試或集成其他使用argp…

深入剖析C++的 “屬性“(Attribute specifier sequence)

引言 在閱讀開源項目源代碼是,發現了一個有趣且特殊的C特性:屬性。 屬性(attribute specifier sequences)是在C11標準引入的。在C11之前,編譯器特有的擴展被廣泛用來提供額外的代碼信息。例如,GNU編譯器&…

AcWing 3587:連通圖 ← dfs(鄰接矩陣 or 鏈式前向星)

【題目來源】https://www.acwing.com/problem/content/3590/【題目描述】 給定一個無向圖和其中的所有邊,判斷這個圖是否所有頂點都是連通的。【輸入格式】 輸入包含若干組數據。 每組數據第一行包含兩個整數 n 和 m,表示無向圖的點和邊數。 接下來 m 行…

Java面試題系列 - 第5天

題目:Java Lambda表達式與Stream API的深度應用 背景說明:Java 8引入了Lambda表達式和Stream API,極大地提升了Java函數式編程的能力,使代碼更簡潔、更易讀。掌握Lambda表達式和Stream API的使用,對于優化數據處理流程…

Qt/C++項目積累: 2.主機監控器 - 2.2 歷史功能實現

修訂歷史: 20240711:初始表設計,采用sqlite 正文: 關于歷史數據存儲,考慮的是用數據庫來完成,目前考慮使用Sqlite和mysql,先用sqlite來實現,設計表過程如下: 機器總覽…

白騎士的C++教學進階篇 2.1 指針與引用

系列目錄 上一篇:白騎士的C教學基礎篇 1.5 數據結構 指針和引用是C中非常重要的概念,它們提供了強大的功能,使程序員能夠直接操作內存,提高程序的效率和靈活性。在本篇博客中,我們將深入探討指針與引用的基礎知識&…

從零開始學習嵌入式----Makefile工具

一、Makefile 簡明指南 你是否曾經面對過一堆源代碼文件,卻不知道如何將它們編譯成可執行文件?或者你是否厭倦了每次修改代碼后都要手動輸入冗長的編譯命令? 如果是的話,那么 Makefile 就是你的救星! 二、Makefile 是什…

全網最適合入門的面向對象編程教程:14 類和對象的 Python 實現-類的靜態方法和類方法,你分得清嗎?

全網最適合入門的面向對象編程教程:14 類和對象的 Python 實現-類的靜態方法和類方法,你分得清嗎? 摘要: 本文主要介紹了Python中類和對象中的類方法和靜態方法,以及類方法和靜態方法的定義、特點、應用場景和使用方…

網安防御保護-小實驗

1、DMZ區內的服務器,辦公區僅能在辦公時間內(9:00-18:00)可以訪問,生產區的設備全天可以訪問 2、生產區不允許訪問互聯網,辦公區和游客區允許訪問互聯網 3、辦公區設備10.0.2.10不允許訪問DMZ區的FTP服務器和HTTP服務器,僅能ping通…

vue 環境變量那些事

常見的項目環境變量的使用 總則:使用 .env.環境名字文件去定義,運行命令的時候指定環境 比如:.env 代表所有環境變量使用的一些變量 .env.development 代表的開發環境變量 .env.production 代表的生產環境變量也就是上線以后使用的 vitevu…