这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【057-mcu200689】树莓派进程--不间断更新

共22条 3/3 1 2 3 跳转至
助工
2014-11-17 21:36:22     打赏
21楼

    【高级实验】五、树莓派做下载机

研究了几天的树莓派下载机终于做好了,期间参考了网上很多教程都不完整,下面把自己做下载机的过程写下来,有兴趣的坛友也可以试试。

主要用到的程序是Aria2 + Yaaw, Aria2这是一个支持Http、FTP、磁力链接和BT下载的工具, 当然,如果你是迅雷会员,还可以用它来进行离线下载, 这个后面有讲到。由于Aria2是一个没有图形界面的下载工具,因此,Yaaw应运而生,使用Web方法来管理文件下载,这也就意味着,只要配置好路由的端口映射,或使用动态域名,你可以通过Web访问的方式,随时随地的控制你的树莓派来进行下载。

1.挂载U盘

没有大容量的移动硬盘,用了一个2G的U盘替代,反正也是做实验嘛。

插入U盘,终端运行命令df -h,查看U口所在。


运行命令sudo mount -o uid=pi,gid=pi /dev/sda1 /home/pi/usb -o nls=utf-8,umask=0 挂载U盘,并使pi对其有读取权限。

2.安装Aria2
终端下输入:
sudo apt-get install aria2  
等待几分钟就安装完成了。
接下来创建aria2的配置文件,我这里装配置文件放在了/etc/aria2目录下
cd /etc  
sudo mkdir aria2  
cd aria2  
#创建空白的aria2s session文件  
sudo touch /etc/aria2/aria2.session  
#创建配置文件  
sudo nano /etc/aria2/aria2.conf  
输入内容如下:
#文件保存目录自行修改  
dir=/home/pi/usb  
disable-ipv6=true  
#打开rpc的目的是为了给web管理端用  
enable-rpc=true  
rpc-allow-origin-all=true  
rpc-listen-all=true  
#rpc-listen-port=6800  
continue=true  
input-file=/etc/aria2/aria2.session  
save-session=/etc/aria2/aria2.session  
max-concurrent-downloads=3  
保存退出,用配置文件启动:
sudo aria2c --conf-path=/etc/aria2/aria2.conf  
如果没有提示任何错误信息,那就按ctrl+c停止上面的语句,运行此句
sudo aria2c --conf-path=/etc/aria2/aria2.conf -D  
这样程序就在后台运行了.
3.安装Apache
Yaaw管理页面是基于Web方式访问的,因此,选用配置起来最简单的Apache服务器。
终端下输入:
sudo apt-get install apache2  
等待片刻后,安装完成。
Apache默认的http根目录是在/var/www目录下,这里需要改一下权限。
sudo chmod 777 /var/www/  
然后下载yaaw, 地址戳这里:Yaaw下载地址
下载完成后解压,上传到/var/www目录即可
上传成功后,在浏览器输入树莓派的IP就可以访问了。
4.使用迅雷离线下载

chrome到这里安装扩展:https://chrome.google.com/webstore/detail/thunderlixianassistant/eehlmkfpnagoieibahhcghphdbjcdmen

由于chrome要访问谷歌的服务器,很多时候网页都是打不开的,好不容易才打开安装好了插件。

安装好的样子,终于可以进行下一步了,这这一步卡了有2天时间,参考其他帖子添加收藏网址的方式应该跟用的这种方式差不多。


接下来在迅雷离线下载页面点右上角齿轮进行设置,换成自己的IP。


同样离线下载页面找到要下载的,点取回本地yaaw


登录到pi查看是否开始下载


噢耶,成功!

做到这里,pi还有需要完善的地方,开机自启动等。

切换到/etc/init.d/目录下
sudo nano aria2  
输入如下内容,挂载目录请自行替换:
#! /bin/bash  
RETVAL=0  
case "$1" in  
    start)  
        echo "Starting service Aria2..."  
        if [ -e /dev/sda1 ]  
        then  
            mount -o uid=pi,gid=pi /dev/sda1 /home/pi/usb -o nls=utf-8,umask=0  
        fi  
        aria2c --conf-path=/etc/aria2/aria2.conf -D  
        echo "Start service done."  
    ;;  
    stop)  
        echo "Stoping service Aria2..."  
        killall aria2c  
        if [ -e /dev/sda1 ]  
        then  
            umount /home/pi/usb/  
        fi  
        echo "Stop service done."  
    ;;  
esac  
exit $RETVAL  
保存退出,在终端下输入
sudo chmod +x /etc/init.d/aria2  
sudo chkconfig --add aria2  


菜鸟
2015-03-27 11:53:37     打赏
22楼
好精彩~~

共22条 3/3 1 2 3 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]