linux-arm 安装 dotnetcore
X86或者X64 安装.net core runtime 可以参照 https://www.cnblogs.com/nnhy/p/netcore_centos.html#4122354
而 linux-arm32 linux-arm64 则没有这么便捷。
嵌入式环境很多东西都有不同,差异化很严重 所以微软没有提供 yum apt dpkg 这类安装方式。而是直接给了文件。
通过分析 x86 安装后的文件可以看到 文件都放在了 /usr/share/dotnet/ 文件夹下 (linux 没有注册表机制,所谓的安装也是放到可访问目录下。)
然后创建软连接 ln -s /usr/share/dotnet /usr/bin/dotnet
安装包下载地址是 https://dotnet.microsoft.com/download 需要手工下载。
如果下载列表内没有 打开 Can't find the file you want? Find more in .NET Core 2.2 downloads.
效仿 x86 的安装方式写出安装脚本如下: install.sh
# 运行方式 ./install.sh dotnet-runtime-2.1.6-linux-arm64.tar.gz if [ $# -eq 0 ] then echo "请在脚本名称后添加安装包名称 dotnet-runtime-xxxx-linux-xxxx.tar.gz" echo "下载网址是:https://dotnet.microsoft.com/download?initial-os=linux" exit 0 fi gzfile=$1 sudo mkdir -p /usr/share/dotnet sudo rm /usr/share/dotnet/* -rf sudo tar -xzvf $gzfile -C /usr/share/dotnet/ sudo ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet -f
测试 效果 dotnet --info
最近有朋友来问我: 树莓派zero 为什么不能正常使用。
经过查证。 .Net Core 不支持 ARMv6 以及更早的 CPU 指令集版本。 https://devblogs.microsoft.com/dotnet/announcing-net-core-2-1/
也就是 ARM7 ARM9 ARM11 都不被支持。
有朋友碰到 libstdc++.so.6 版本不对问题。
Dotnetcore 要求GLIBCXX_3.4.18 及以上版本。
查看 GLIBC 版本需要知道 libstdc++.so.6 的绝对路径。
find /lib/ -name "libstdc++*"
查得本机的 libstdc++.so.6 在 /lib/x86_64-linux-gnu/libstdc++.so.6
strings /lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
显然,本机是可以使用的。
/Microsoft.NETCore.App/7.0.0/libhostpolicy.so,error:/usr/lib/arm-linux-gnueabihf/libstdc++.so.6: version 'GLIBCXX_3.4.22' not found
.net 7 需要 GLIBCXX_3.4.22 及以上版本支持。
解决办法就是缺什么装什么 嘿嘿。