arch下aria2c守護進程等配置小結

arch下aria2c守護進程等配置小結

前言

aria2c是個好東西,可以把他簡單理解爲是下載管理器的後端,配合一些前端程序,比如ariaNG,可以管理其下載的各類東西,再配合百度雲導出真實下載地址的插件BaiduExporter,爽到不要不要的。所以決定簡單總結一下。

配置

BaiduExporter

首先是BaiduExporter,安裝很簡單,具體的去github上拿吧(鏈接在上面),安裝插件之後可以看到多了一個導出下載按鈕

在這裏插入圖片描述
設置的時候配置好aria2c服務開啓的端口號即可,默認的端口是6800,token後面是本地aira2c服務的配置文件裏的祕鑰,具體內容會在後面講。

在這裏插入圖片描述

aria2c服務

arch linux

arch(我用的manjaro-kde)系的就很舒服,畢竟坐擁最大的用戶倉庫aur,前幾天在aur上一搜,發現還真有現成的aria2c-daemon,還是幫你配置好systemd守護進程的,熱度還算不錯。二話不說,先來一發:

yay -Sy aria2c-daemon

安好之後會發現給你新加了個用戶,叫aria2c,這個服務就是由aira2c這個系統賬戶完成的了。我們簡單瞅一眼他service咋寫的

[Unit]
Description=aria2c Service
Requires=network.target
After=dhcpcd.service

[Service]
Type=forking
User=aria2c
Group=aria2c
WorkingDirectory=/var/share/aria2c
EnvironmentFile=/etc/conf.d/aria2c-env.conf
ExecStart=/usr/bin/aria2c -D --conf-path=${ARIA2C_CONF} --save-session-interval=180 --save-session=${ARIA2C_SESSION}
ExecReload=/usr/bin/kill -HUP $MAINPID
RestartSec=1min
Restart=on-failure

[Install]
WantedBy=multi-user.target

可以看到系統幫我們生成了一個aria2c這樣的系統賬戶來執行aria2c服務,現在就只用

sudo systemctl enable aria2cd.service #設服務爲開啓啓動
sudo systemctl start aria2cd.service #啓動服務

即可開機自動啓動服務了。

這個時候系統會提示你配置文件在/etc/conf.d/aria2.conf裏,然後/var/share/aria2c是當前的下載路徑。aria2的log和session都存在這裏。

哦還有在配置文件/etc/conf.d/aria2.conf裏記得寫一下rpc-secret字段,可以自定義,當然也可以生成。這就是前面設置裏的那個token。

還可以配置監聽的端口號,默認值是6800

在這裏插入圖片描述

其他發行版

其他的發行版像ubuntu,apt install aria2c是會安好的,然後參考一下(大量)網頁,把aria2c配置好,之前配置過ubuntu的,反正挺累的就是。

參考鏈接

想要了解aria2一些配置等的參考鏈接如下:

aria2配置示例

aria2使用說明

aria2官網

aria-NG

這是第三件套,畢竟aria2c裝好了之後,總不能每次下載都用命令行操作,麻煩而且不能方便的並行控制,aria2c提供了rpc接口,這也是爲什麼前面要把aria2當做一個守護進程來使用。

ariaNG就是這樣一個前端,可以方便的完成查看下載速度、下載管理等各種操作,一個簡單的截圖瞭解一下:

在這裏插入圖片描述

可以看到這裏可以配置各種aria2的設置,作者翻譯簡直就是良苦用心。作爲本地下載器,可以直接在上面給的github鏈接裏下載release裏的all-in-one版本,直接打開本地html網頁即可查看。

下好all-in-one版本後,打開之前要記得把前面寫的–rpc-secret填一下,不然前端會連不上後臺下載進程。

在這裏插入圖片描述

問題

Q:爲什麼登錄處出現了新的用戶aria2c?

A:這主要是因爲aria2c-daemon的作者在新添加用戶的時候沒有把aria2c作爲系統用戶添加。(簡單地說就是作者背鍋,一會兒給他提交各pr去)

aria2c-daemon這是作者在aur上公佈的upstream倉庫,git clone下來看代碼

post_install() {
        echo -n "Adding aria2c user and group ..."
        # --no-create-home
        useradd aria2c -d /var/share/aria2c/ -U -s /bin/nologin && echo " done."
        passwd -l aria2c &>/dev/null

        install -d /var/share/aria2c/
        touch /var/share/aria2c/aria2c.log
        touch /var/share/aria2c/aria2c.session

        chmod 600 /etc/conf.d/aria2c.conf
        chown aria2c:aria2c /etc/conf.d/aria2c.conf
        chown aria2c:aria2c /etc/conf.d/aria2c-env.conf
        chown -R aria2c:aria2c /var/share/aria2c/

        echo "Now the aria2cd is installed, you may want to ..."
        echo "  1. check the config file for aria2cd at /etc/conf.d/aria2c.conf"
        echo "  2. get the downloaded files at /var/share/aria2c/"
}

post_remove() {
        echo -n -e "\nRemoving aria2c user/group..."
        userdel aria2c && echo " done."
        echo "Now the aria2cd was removed from your system,"
        echo "you may need to check the directory /var/share/aria2c/ by manual."
}

注意看第四行作者添加的是普通身份用戶,不太對,修改成

useradd aria2c -r -d /var/share/aria2c/ -s /bin/nologin && echo " done."

即可,-r在這裏是指添加系統賬戶(不會出現在登錄界面),改好之後把之前安的卸掉(會幫你把aria2c用戶刪掉)。然後重新打包並安裝即可。

makepkg -As
pacman -U aria2c-daemon-0.1-1-any.pkg.tar.xz

Q:我把下載路徑改成了自己的用戶目錄,然後下什麼東西都下不來,怎麼辦?

因爲你的守護進程是由aria2c賬戶執行的,他本身無權限訪問你的工作目錄,所以會出問題。比較好的解決方案使用一個aria2c有權限的目錄,然後軟鏈到自己的Downloads下:

  1. 在home下建一個aria2c用戶目錄,修改所有者爲aria2c:aria2c
  2. 在這aria2c下面建立一個Downloads目錄作爲aria2c的下載路徑,同樣修改所有者爲aria2c:aria2c;
  3. 把自己加入到aria2c用戶組裏,修改Downloads權限爲775(方便自己訪問)。
  4. ln -s /home/aria2c/Downloads ~/Downloads/aria2c把這個下載目錄軟鏈過去。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章