用樹莓派搭建家庭NAS下載機

開始

去年雙十一的時候入了樹莓派,抱着試一試的心情,我買了一堆配件準備玩,結果買回來玩了兩天就扔在那裏沒動了。

逼乎上有長者曾經說過:“先想好想要做什麼,再去買東西做。買完東西,問做什麼好的,通常都是[嗶——]。”我認爲,這是墜好的。

正好前兩天逛鹹魚,發現了一個同城的二手SATA 160G硬盤,成色還不錯,猶豫再三,剁了手,又去淘寶買了一個硬盤盒

掛載磁盤


經過了艱苦的等待,硬盤盒終於到了,連接電腦測試,速度飛起,100M/s的寫入速度讓我終於感覺到USB3.0的性能,淚流滿面,這大概是我用過最快的USB設備了。

但是看看樹莓派的USB2.0口和百兆的網口,似乎有點浪費了,不過爲了世界和平,就這樣吧……

關於磁盤的掛載,是Linux的基本功。一頓猛查資料後,先找到硬盤在/dev/中的地址,我的sata硬盤是/dev/sda1/,在mnt目錄下新建一個目錄當作掛載點,安卓爪機裏常見的那啥sdcard1之類的目錄就是掛載點了,其實放啥地方起啥名都行,只要能找得到的話……

#新建一個目錄

sudo mkdir /mnt/usbdisk

硬盤是NTFS格式的,其實本來想格式化成linux用的ext4,但是尋思尋思,玩意我哪天閒的沒事需要高速存儲數據又把硬盤拔下來插電腦呢?於是就需要ntfs-3g這個軟件來讓樹莓派可以讀取NTFS格式。

#安裝所需軟件包

sudo apt-get install fuse-utils ntfs-3g

#加載內核模塊

modprobe fuse

#編輯fstab讓移動硬盤開機自動掛載

sudo nano /etc/fstab

#在最後一行添加如下內容

/dev/sda1 /mnt/usbdisk ntfs-3g defaults,noexec,umask=0000 0 0

#保存重啓,即可生效

於是現在就可以通過/mnt/usbdisk訪問硬盤了,高中時候買的那兩本厚厚的(盜版)鳥哥linux私房菜沒白買啊,花了幾周自習看完了,雖然記不住具體是啥,但是還記得系統都能幹啥,還是挺有意義的。

samba

接下來要讓局域網內可以訪問,鳥哥的linux私房菜中重點介紹的samba讓我記得挺清楚,這玩意弄吼了,網內設備都可以訪問,Exited!

#搞一個桑巴出來

sudo apt-get install samba samba-common-bin

#複製一下配置文件留個備份

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

#編輯配置文件

sudo nano /etc/samba/smb.conf

編輯配置文件的時候,先在上面去掉security = user前面的註釋,來使用用戶進行驗證,禁止匿名登錄,雖然是內網但是肯定是要用戶驗證的嘛。

在文件的最後按照上面的格式寫下自己的配置,配置項都很簡單易懂,不知道比那些一堆一堆英文的文檔高到哪裏去了!(大拇指

[name]

comment = Test share

Path = /mnt/usbdisk

valid users = @nekotora

force group = users

create mask = 0660

directory mask = 0771

read only = no

配置好以後重啓一下samba服務

service samba restart   or    sudo service smbd restart

然後添加一下上面配置的用戶

useradd nekotora -m -G users

給新用戶設置密碼

passwd nekotora

讓samba認識一下這個用戶,並且配置他的samba訪問用戶名密碼

smbpasswd -a nekotora

完成!


在windows或者安卓設備上就能找到樹莓派了,贊贊贊。

實測內網速度還是很令人滿意的,讀取速度能跑滿辣雞樹莓派和他連着交換機的百兆帶寬。總感覺用樹莓派有點浪費了速度OAQ

Aria2

不能下載東西的硬盤和鹹魚有什麼區別!

Aria2是一個命令行下載工具,其他平臺能下啥他都能下,甚至有一些小工具還能讓他支持百度網盤和迅雷離線。

安裝aria2

sudo apt-get install aria2  

aria2運行的時候需要兩個文件,並且需要我們手動配置,一個是配置文件aria2.conf,保存配置,另一個是aria2.session,要不每次aria2關閉的時候,之前下載的進度都沒了。爲了顯得我的目錄很整齊,我把他放到/home/pi/aria2/目錄下面

cd /home/pi

mkdir aria2

cd aria2 

#摸一個空白的aria2s session文件出來  

touch aria2.session  

#編輯一下配置文件

nano aria2.conf  

內容如下

#文件保存目錄 

dir=/mnt/usbdisk/download

#因爲垃圾運營商還沒有ipv6,獲取了也沒有,關掉

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=/home/pi/aria2/aria2.session  

save-session=/home/pi/aria2/aria2.session  

#最大同時下載任務數

max-concurrent-downloads=3  

保存退出

用配置文件啓動一下測試

sudo aria2c --conf-path=/etc/aria2/aria2.conf  

服務很愉快的跑起來了沒有報錯,用Ctrl+C停下來,繼續配置

順便給aria2c做成服務吧,用起來會方便的多

新建一個aria2c的服務

sudo nano /etc/init.d/aria2c

存入一下內容

(反正也看不懂,大概就是系統服務的一種配置格式嗯……)

記得把用戶名和位置改成自己的

#!/bin/sh

### BEGIN INIT INFO

# Provides:          aria2

# Required-Start:    $remote_fs $network

# Required-Stop:     $remote_fs $network

# Default-Start:     2 3 4 5

# Default-Stop:      0 1 6

# Short-Description: Aria2 Downloader

### END INIT INFO


case "$1" in

start)


echo -n "Starting aria2c"

sudo -u pi aria2c --conf-path=/home/pi/.aria2/aria2.conf -D

#把上面的兩個pi換成你的用戶名

;;

stop)


echo -n "Shutting down aria2c "

killall aria2c

;;

restart)


killall aria2c

sudo -u pi aria2c --conf-path=/home/pi/.aria2/aria2.conf -D

#把上面的兩個pi換成你的用戶名

;;

esac

exit

保存退出,再給個權限

sudo chmod 755 /etc/init.d/aria2c

來測試一下Are you ok?

sudo service aria2c start

顯示Starting aria2c,ok,ok

讓他開機自己啓動

sudo update-rc.d aria2c defaults

aria2c還沒有管理頁面,我們可以找個好看的web頁面進行管理


Github上有不少這樣的界面,我用的是webui-aria2,看起來比較高檔

https://github.com/ziahamza/webui-aria2

想要能訪問web界面的話還需要安個Apache,這個就輕車熟路多了。

sudo apt-get apache2

裝好之後設置好apache2的權限:

sudo visudo

底部添加這行

www-data ALL=(ALL) NOPASSWD: ALL

Ctrl + O保存,Ctrl + X退出

然後從git下載web界面

cd /var/www

git clone https://github.com/ziahamza/webui-aria2

現在,打開樹莓派的地址就能訪問到,點擊設置,服務器設置,填上地址和端口號,提示Successfully就成功了!

http://192.168.1.10/aria2/

添加任務就能開始下載了。

迅雷

然後我就開始下東西,老司機開的車就很好嘛。9FE23BE78F054024F05B59522B75AA6423720E5A

結果發現根本沒速度啊臥槽,於是等了一個下午,才下了幾Kb,我當時就不樂意了。這什麼辣雞!

我用迅雷試着下了一下,這車沒問題啊。

於是求助,老司機凌妹看了看說:“傳統bt不行的”……

哦,原來如此,(英文怎麼說來着),so_da_na!

不行,還是搞套迅雷離線下載吧。

http://luyou.xunlei.com/forum-51-1.html

先去迅雷那裏下下來編譯好的迅雷下載程序。

因爲不是開源的,迅雷對各種平臺都提供了編譯好的版本,樹莓派用到的是armel_v5te_glibc。

參考迅雷官方的配置說明

http://g.xunlei.com/forum.php?mod=viewthread&tid=30&extra=page%3D1%26filter%3Dtypeid%26typeid%3D3

下載好之後通過sftp把文件推倒樹莓派上,爲了文件的整齊,我放倒了/home/pi/xunlei下面。

啓動一下試試看?

/home/pi/xunlei/portal

成功的話,會有一個六位的激活碼生成,打開http://yuancheng.xunlei.com/,添加設備就ok了!

但是這樣管理不方便,而且想讓他開機啓動,還要把他做成一個服務,加到啓動項裏。

創建服務

sudo nano /etc/init.d/xunlei

和剛纔的aria一樣配置一個服務

#!/bin/sh

#

# Xunlei initscript

#

### BEGIN INIT INFO

# Provides:          xunlei

# Required-Start:    $network $local_fs $remote_fs

# Required-Stop::    $network $local_fs $remote_fs

# Should-Start:      $all

# Should-Stop:       $all

# Default-Start:     2 3 4 5

# Default-Stop:      0 1 6

# Short-Description: Start xunlei at boot time

# Description:       A downloader

### END INIT INFO


do_start()

{

        ./home/pi/xunlei/portal

}


do_stop()

{

        ./home/pi/xunlei/portal -s

}


case "$1" in

  start)

    do_start

    ;;

  stop)

    do_stop

    ;;

esac

最後設置一下開機啓動

sudo update-rc.d xunlei defaults

完成,現在可以再迅雷裏面看到樹莓派並且方便的下載了。在外網也可以控制。

hdparm

最後,還有一個問題沒解決。

那塊硬盤,有沒有事幹的時候都在不停的工作。因爲是舊硬盤,在磁盤參數裏已經看到兩個報警了,連續工作時間也達到了500days+

這麼高壽的硬盤24小時工作總感覺有點對不起它。

這就需要一個硬盤自動休眠的東西。

安裝haparm

sudo apt-get hdparm

設置硬盤自動休眠

#立刻讓硬盤休眠,先試試看好不好用

sudo hdparm -Y /dev/sda1

#設置硬盤自動休眠,數值/12 = 分鐘,設置爲120就是無操作10分鐘後休眠

sudo hdparm -S 120 /dev/sda1

這樣硬盤沒事的時候就能睡覺了。

當然,還要加到啓動項裏好讓硬盤自動休眠

編輯rc.local

sudo nano /etc/rc.local

在exit 0之前插入休眠硬盤的命令就ok

總結


於是,這樣就折騰好了,在路由器設置中讓樹莓派暴露給外網,在其他地方也能控制他下載東西了。

因爲樹莓派和交換機都是百兆網口,能滿速已經不錯了,還是浪費了好多性能,還不如買個小米路由器還送個1t硬盤,但是過程還是挺有趣的,特別是看到桌子上的一堆設備開始閃着led運行的時候簡直炒雞帥(๑•ั็ω•็ั๑)

最近一直在填坑,偷偷摸魚玩了這些不知道會不會被打。

說起來咱幹活真是不專注,本來想着寫完趕緊繼續填坑,結果想引用幾句比特客棧一篇文章的話,就跑去那裏一邊翻一邊讀以前的文章,結果一看就是兩個小時,最後還是沒找到……又浪費了一個下午OAQ

還有多少時間可以發呆呢?

發佈了18 篇原創文章 · 獲贊 28 · 訪問量 23萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章