将2E盒子打造成headless下载机

将2E盒子打造成headless下载机    --hujy

http://www.lemote.com/bbs/viewthread.php?tid=21142

盒子作为下载机有两个优点,一是小巧放置方便,二是功耗底不足20w。
headless指无显示器、键盘和鼠标。接通电源后,只用网线与路由器相联。

盒子分区:
hda1      ext3        10G        debian lenny
hda2      reiserfs      5G         华镭
hda3      jfs          5G         备份
hda5      swap        512M      交换
hda6      xfs          20G       下载存储
把下载存储分区设置为xfs尽量减少磁盘的读写。
mkfs.xfs /dev/hda6
mkdir /mnt/hda6
mount /dev/hda6 /mnt/hda6
chown -R username /mnt/hda6
注:username为用户名,脚本中亦同。

方案一:daemon+webui
bt下载软件azureus
安装azureus及插件Azureus HTML WebUI
apt-get install azureus
wget http://azureus.sourceforge.net/plugins/azhtmlwebui_0.7.6.jar
mkdir /home/username/.azureus/plugins/azhtmlwebui
mv azhtmlwebui_0.7.6.jar /home/username/.azureus/plugins/azhtmlwebui
运行azureus设置下载目录及相关参数
vim /etc/init.d/azureus_script
写入
------------------------------------------------------------------------------
#! /bin/sh

#The user that will run Azureus
AZ_USER=username

#Name of the screen-session
NAME=azureus_screen

#executable files in the following paths that are perhaps needed by the script
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/home/azureus/bin

#your path to the azureus directory, where Azureus2.jar is located
DIR=/home/username/azureus

#Description
DESC="Azureus screen daemon"

case "$1" in
start)
   if [[ `su $AZ_USER -c "screen -ls |grep $NAME"` ]]
      then
      echo "Azureus is already running!"
   else
      echo "Starting $DESC: $NAME"
      su $AZ_USER -c "cd $DIR; screen -dmS $NAME java -jar /usr/share/java/Azureus2.jar --ui=console"
   fi
   ;;
stop)
   if [[ `su $AZ_USER -c "screen -ls |grep $NAME"` ]]
      then
      echo -n "Stopping $DESC: $NAME"
      su $AZ_USER -c "screen -X quit"
      echo " ... done."
   else
      echo "Coulnd't find a running $DESC"
   fi
   ;;
restart)
   if [[ `su $AZ_USER -c "screen -ls |grep $NAME"` ]]
      then
      echo -n "Stopping $DESC: $NAME"
      su $AZ_USER -c "screen -X quit"
      echo " ... done."
   else
      echo "Coulnd't find a running $DESC"
   fi
   echo "Starting $DESC: $NAME"
      su $AZ_USER -c "cd $DIR; screen -dmS $NAME java -jar ./Azureus2.jar --ui=console"
   echo " ... done."
   ;;
status)
   if [[ `su $AZ_USER -c "screen -ls |grep $NAME"` ]]
      then
      echo "Azureus is RUNNING"
   else
      echo "Azureus is DOWN"
   fi
   ;;
*)
   echo "Usage: $0 {start|stop|status|restart}"
   exit 1
   ;;
esac

exit 0
------------------------------------------------------------------------------
chmod +x /etc/init.d/azureus_script
/etc/init.d/azureus_script start    #开启azureus_script
apt-get install rcconf
rcconf
将azureus_script设置成开机运行
在另一台控制机中的浏览器输入http://下载机IP:6886/,即可控制azureus,包括添加种子、开始、停止、限速等功能。

PS:lenny中的deluge和transmission的版本太低,试过设置为deamon没成功。ED2K下载暂时没考虑,以后再弄。

方案二:ssh+vnc
ssh登录下载机开启vnc服务,通过vnc客户端连接下载机,开启bt下载软件。
apt-get install ssh               #安装ssh,一般已安装
apt-get install tightvncserver     #安装tightvncserver
tightvncpasswd                        #设置密码需6位以上
vim /home/username/.vnc/xstartup                #设置xstartup,vnc客户端连接到lxde桌面
编辑
----------------------------------------------------------------------
#!/bin/sh

xrdb $HOME/.Xresources
xsetroot -solid grey
#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
#/etc/X11/Xsession
#/etc/xdg/lxsession/LXDE/autostart
openbox-lxde &
lxde-settings &
xscreensaver -no-splash &
lxpanel --profile LXDE &
pcmanfm -d &
----------------------------------------------------------------------
控制机如为windows,可用putty通过ssh连接下载机;如为linux,直接ssh ip连接下载机。
ssh登录后
tightvncserver -geometry 800x600   #开启vnc服务
exit                               #ssh断开后vnc服务不会停止
通过vnc客户端,连接下载机。
vnc客户端下载http://www.tightvnc.com/download.html
俺用的是http://downloads.sourceforge.net ... .3.9_x86_viewer.zip
linux下用wine
在对话框中输入:下载机IP:1
再输入密码就可以连接到下载机的lxde桌面了
然后启动bt下载软件,或者ED2K下载软件进行下载。
断开vnc客户端后,下载软件会继续工作。:D

盒子硬盘容量有限,文件的存储有几种方案。
一买个大容量的笔记本硬盘替换盒子的笔记本硬盘。
二买个移动硬盘或者笔记本硬盘+硬盘盒,通过usb连在盒子上。
三转移下载的内容,用scp复制到其他电脑上,打命令不方便win上可用winscp,linux上可用gftp。

最近在下Private Tracker对盒子的表现很满意。