[学习笔记].Net5项目打包到Linux系统服务时遇到的坑
如果按照官方文档的步骤手动安装.Net5 会有一个坑:
在 Linux 上手动安装 .NET - .NET | Microsoft Docs
在使用systemd打包.Net5服务的时候,无法运行,报错如下图:

查询系统日志发现对dotnet访问没有权限,dotnet已设置权限755并且service的配置文件中User已配置为本人用户
奇怪的是作为本人用户登录在终端中使用dotnet是有权限的。
好一番寻找发现,systemd会阻止位于用户的主目录(Home)中二进制文件的运行。
linux - Failed at step EXEC spawning... Permission denied - Server Fault
我一下就想起来安装dotnet的时候完全闭眼copy的微软文档的命令。打开微软文档一看,果不其然,安装目录是{home_path}/dotnet!!
因此重新安装,首先下载源代码至/usr/local/src/
sudo wget -P /usr/local/src/ https://download.visualstudio.microsoft.com/download/pr/e10f8ecd-eb2c-42a0-a217-98a18517e12c/436b90a4d5be20456b210c406c0f7718/dotnet-sdk-5.0.405-linux-x64.tar.gz

创建名为dotnet主目录并将二进制文件解压至该目录
sudo mkdir ../dotnet
sudo tar zxvf dotnet-sdk-5.0.404-linux-x64.tar.gz -C ../dotnet

打开~/.bashrc文件,末尾添加如下两行配置DOTNET_ROOT环境变量
export DOTNET_ROOT=/usr/local/dotnet/
export PATH=$PATH:$DOTNET_ROOT

保存并运行
source .bashr

用whereis命令查看dotnet已经在规范的目录中了

[学习笔记].Net5项目打包到Linux系统服务时遇到的坑的更多相关文章
- Maven学习笔记-02-Maven项目打包配置与测试
一 Maven项目打包配置 1 为整个项目统一指定字符集 <properties> <project.build.sourceEncoding>UTF-</project ...
- android菜鸟学习笔记16----Android项目打包安装过程(Run as Android Application)
右击项目名称,Run as Android Appication之后,Android项目打包安装过程: 1.打包生成.apk文件: 1)把源码中的.java文件编译生成.class文件 2)将所有的. ...
- thinkphp学习笔记3—项目编译和调试模式
原文:thinkphp学习笔记3-项目编译和调试模式 1.项目编译 在章节2.4项目编译中作者讲到使用thinkphp的项目在第一次运行的时候会吧核心需要加载的文件去掉空白和注释合并到一个文件中编译并 ...
- Linux 学习笔记之超详细基础linux命令(the end)
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 14---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 14
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 13---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 13
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 12---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 12
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 11---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 11
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 10---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 10
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 9----------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 9
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 8----------------- ...
随机推荐
- node版本控制工具nvm安装教程
一.安装nvm 查看node对应NPM:https://nodejs.org/en/about/previous-releases 1.卸载node,后删除node文件夹里的所有内容 2:安装nvm管 ...
- WebAssembly核心编程[2]:类型系统
对于绝大多数编程语言来说,类型都是编程的基础,WebAssembly自然也不例外.总的来说,WebAssembly涉及的类型不多,很好掌握,接下来我们就来介绍一下WebAssembly编程涉及到的几种 ...
- 单片机 IAP 功能基础开发篇之APP升级(二)
1.前言 上一篇单片机 IAP 功能基础开发篇之APP升级(一)讲到了单片机 IAP 功能给 APP 程序升级的设计思路,这篇介绍的是具体实现方式. 下一篇单片机 IAP 功能基础开发篇之APP升级( ...
- Loading进度条
- Windows上同时使用有线网络及无线网络连接配置
由于公司搬到了新的办公地点,公司内部只有内网,当需要连接互联网查询资料时只能切换网络,非常麻烦.所以为了能够同时连接连接公司内网,又能够访问互联网,这里介绍如何同时连接无线和有线. 有线网络:10.3 ...
- python-比较两个列表中的相同元素和不同元素
由于两个列表(List)中可能会存在重复的元素,所以我们可以将列表转化成集合(set)进行去重,然后计算交集和差集. A = ['1','2','3'] B = ['2','4','5'] ##计算交 ...
- 如何使用graalvm为带有反射功能的java代码生成native image
译自Configure Native Image with the Tracing Agent graal官方文档 , 以下所有命令需要在linux环境下操作,graalvm也支持windows. 要 ...
- 压缩软件7-Zip的简单使用
简介及下载地址 7-Zip是一款开源免费的压缩软件,支持windows系统及Linux系统,压缩后文件扩展名默认为.7z后缀. 网址: https://www.7-zip.org/ 截图如下: 也 ...
- Spring异步任务async介绍与案例实战
关于spring异步任务 简单地说,用@Async注释bean的方法将使其在单独的线程中执行.换句话说,调用者不会等待被调用方法的完成.利用spring提供的注解即可简单轻松的实现异步任务处理. 默认 ...
- Oracle驱动错误:oracle.jdbc.driver.T4CConnection.isValid(I)Z
1.问题说明 今天在sping boot中配置多数据源,用到了oracle和postgresql两种数据库. oracle驱动版本是ojdbc14,启动以后调试程序直接报错了,就是本文题目中的错. 查 ...