这篇省不了流,省了你也不知道怎么解决。
前段时间开始玩Ubuntu当服务器用,用apt装了个Aria2,又装了个AriaNG拿来挂下载。
然后问题来了,Aria2单文件下载线程数限死在16线程,相比Motrix慢如狗。然后就是扒拉下来Aria2源文件改了自己编译,又摸不清gcc咋编译……
把编译好的文件丢到/usr/bin下面,顺带按照教程放了个SysV脚本到/etc/init.d/下面让它自己生成服务配置文件。
然后问题又双叒叕来了,这个Aria2三天两头崩溃,systemctl就给你挂个running(exited)也不重启,手动重启服务又连不上,只能先stop再run,烦死个人。
所以最后就决定换成原生systemctl服务,直接管辖aria2c。
方案
以下代码由DeepSeek辅助生成,经本人验证可以正常使用。
一、创建标准systemd服务文件
1 | sudo vim /etc/systemd/system/aria2.service |
(题外话:vim用习惯之后真的觉得nano就是史,一堆令人难受的快捷键,远不如vim好用)
按i切换到编辑模式,添加以下内容(内容可以自己调整):
1 | [Unit] |
按Esc退出编辑模式,输入:wq(有个冒号别漏了)保存并退出。
二、替换原有SysV文件
先停掉aria2服务:
1 | sudo systemctl stop aria2c |
然后删除掉原有的SysV脚本:
1 | sudo rm /etc/init.d/aria2c |
或者你也可以先备份到别的地方(例如用户主目录)避免褒姒:
1 | sudo mv /etc/init.d/aria2c ~ |
然后重载系统服务,应用新配置:
1 | sudo systemctl daemon-reload |
最后验证确实在运行:
1 | systemctl status aria2 |
AriaNG也连好了,完美!