Berbagi teknologi

Instal Linux CENTOS 07 pada mesin virtual dan terapkan NET8.

2024-07-12

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

Pertama unduh gambar centos07. Disarankan untuk menggunakan alamat yang direkomendasikan oleh Alibaba Cloud:

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

Faktanya, lubang pertama sudah muncul di sini.

libstdc++.so dari centos 07 /usr/lib64/ hanya mendukung versi 19;

GLIBCXX akan kehilangan semua versi setelah 3.4.20

Kesalahan akan dilaporkan ketika net 8 dijalankan, karena memerlukan GLIBCXX_3.4.20 dan GLIBCXX_3.4.21 (sebenarnya, NET8 tidak mendukung CENTOS 07, kami bersikeras)

  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)

Sekarang kita telah menemui dan memecahkan masalah tersebut, jika kita menggunakan centos versi yang lebih tinggi dari awal, apakah masalah ini dapat langsung dihindari? Tentu saja, itu adalah cerita untuk nanti lubang.

Proses pengunduhan dan instalasi dihilangkan; omong-omong, kode aktivasi VM17 berikut disediakan

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

Konfigurasikan jaringan terlebih dahulu

Di editor, klik Preferensi, lalu pilih mesin virtual Anda di tabel dan pulihkan pengaturan default

Jelaskan bahwa Anda perlu mengunduh paket lingkungan melalui perintah WGET nanti, dan kemudian baris perintah akan meminta bahwa jaringan tidak diizinkan pada akhirnya, Baidu melakukan riset, dan operasi ini sudah cukup;

Buat folder dotnet baru di bawah /home, lalu unduh NET 8 SDK dan runtime (sebenarnya, instal saja salah satunya. Saya melihat runtime yang lain diinstal, jadi saya memilih untuk menginstal SDK. Net8 SDK menyertakan 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

Saat ini, Anda akan mendapatkan pesan kesalahan saat menjalankan dotnet --version.

Saat itulah saya mulai mendapat masalah

Posting online mengatakan untuk menggunakan yum untuk memperbarui libstdc.so. Apa lagi yang bisa dilakukan untuk mengkompilasi versi baru GCC? ? ? ? ? ? ? ? ? ? ? ? ? ?

Saya hanya mengikuti instruksi untuk waktu yang lama dan gagal berkali-kali. Saya curiga dengan hidup saya berkali-kali. Saya hampir mencoba mengunduh versi centos 07+, atau mencoba menurunkan versi NET8; . (Untungnya, ini adalah mesin virtual, jadi sangat cepat)

Mungkin karena versi lama berbeda dengan versi saya, jadi tidak berhasil! ! ! ! !

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

Saya hanya mengikuti instruksi untuk waktu yang lama dan gagal berkali-kali. Saya curiga dengan hidup saya berkali-kali. Saya hampir mencoba mengunduh versi centos 07+, atau mencoba menurunkan versi NET8; . (Untungnya, ini adalah mesin virtual, jadi sangat cepat)

Mungkin karena versi lama berbeda dengan versi saya, jadi tidak berhasil! ! ! ! !

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

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

Anda berhasil menerapkan net8 dan menjalankan net core pada centos 07. Kasus sederhana

Saya melewatkan proses pengunduhan, pengunggahan, dan dekompresi

Perintah koneksi lunak berikut disediakan

  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

Saat ini, jalankan perintah dotnet untuk memeriksa lingkungan.

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

Seharusnya terlihat seperti ini

Saya kira net8 SDK berisi runtime (karena win10 net8 saya hanya memiliki satu SDK, tetapi sebelumnya net5 SDK juga mengandalkan net core 2.1 rutime)

Kemudian buat saja rest api sederhana dan jalankan di bawah windows setelah menerbitkannya.

Salin file ke linux dan masukkan path di file tersebut

dotnet WebApplication1.dll

Saat ini kita harus menyiapkan port jaringan untuk berkomunikasi dengan mesin virtual, dan kemudian mengakses mesin virtual di mesin fisik

hasil,,,,

Alhasil, saya bodoh dan mengklik locslhost:5000 pada baris perintah Linux (karena diminta agar bisa diklik)

Ternyata VM versi yang lebih tinggi sudah memiliki operasi visual bawaan dan versi Firefox LINUX bawaan.

Untuk menerapkan net8 di lingkungan LINUX centos, Microsoft juga menyediakan dukungan dan instalasi skrip yang lebih sederhana.

  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

Ini akan mengunduh hal seperti itu dan kemudian menginstalnya. Secara default, itu akan diinstal sesuai dengan versi terbaru SDK. Jika Anda ingin menginstal versi lain, atau rintime juga dapat mengubah baris perintah di atas untuk mencapainya.

Instalasi ini relatif sederhana, cukup jalankan baris demi baris tetapi Anda juga akan menemui masalah lingkungan yang saya sebutkan (Anda masih harus menyelesaikannya)

Sumber daya dan dokumen terkait yang diperlukan untuk artikel ini dapat diunduh di grup berbagi. Masalah teknis apa pun dapat dikomunikasikan di grup. Harap diperhatikan: Iklan dilarang di grup ini! Dilarang beriklan di grup ini! Dilarang beriklan di grup ini! Ucapkan hal penting tiga kali, terima kasih!