(2.12更新邮件通知)Buffalo 刷机心得
本帖最后由 gz13802424 于 2013-2-12 17:47 编辑小学文化,表达不力,就直说重点吧
一、官方的ROM1.64版也可以破解权限
二、第三方ROM(比如1.64MOD1),比起来官方的ROM最直观的是多了Telnet支持,但是自带的SSH没办法正常使用,需要另外安装openssh,还有就是官方ROM在DLNA模式下支持按日期、按文件名、按文件夹、最近增加、最常用等方式显示,而第三方ROM不支持
三、原版官方的ROM刷新程序是不支持降级或者从第三方ROM刷回来的,需要降级或者从第三方ROM刷回来时,把官方刷新程序目录里LSUpdater.ini文件里面VersionCheck = 1修改为VersionCheck = 0,就可以混刷各种版本的ROM
四、optware支撑平台
a)、破解后为了增加更多功能而安装第三方软件都需要到一个名字叫optware的支撑平台
这个软件论坛里有三个版本
teraprov2-bootstrap_1.2-7_arm.xshwget http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/teraprov2-bootstrap_1.2-7_arm.xshls-mvkw-bootstrap_1.2-7_arm.xshwget http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/stable/ls-mvkw-bootstrap_1.2-7_arm.xshlspro-bootstrap_1.2-7_armwget http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/lspro-bootstrap_1.2-7_arm.xsh我自己的LS-QVL(四盘位)反复折腾后的结果是lspro-bootstrap_1.2-7_arm用在非raid的情况下是最OK的
b)、安装optware时会自动修改到系统的一个文件/etc/init.d/rcS,主要是添加optware的启动程序# Optware setup
[ -x /etc/init.d/rc.optware ] && /etc/init.d/rc.optware start
看到这里大家应该明白为什么论坛老前辈提到安装完某个optware后要执行下面这条命令的原因了mv /etc/init.d/optware /etc/init.d/rc.optware所以我好希望各位在共享自己的经历时最好能多些说明为什么,而不是一味的要别人复制执行你的脚本,这样各位菜鸟才会更快地脱菜
*************************************************************
以下内容不能全拷贝,需要你们看明白后自己动手DIY,切记切记
一、当你有一个以上的硬盘、不打算使用raid0、又需要使用DLNA共享全部硬盘上的内容时,可以使用mount命令来把其他硬盘挂载到第一硬盘的目录下,这样就可以把全部硬盘当成一个硬盘使用(好像是自己原创的,请大家给点掌声)
比如以下命令,就是把第三个硬盘挂载到第一个硬盘的share/OtherDisk/disk3目录下并且把权限也设置好mount /dev/md23 /mnt/disk1/share/OtherDisk/Disk3
chmod -R 777 /mnt/disk$Disk/Download上面的 /dev/md23 指的是第三只硬盘,其他硬盘同理可推
上面的 /mnt/disk1/share/OtherDisk/disk3 指的是加载到第一硬盘的什么目录下,需要加载到其他目录同理可推
如果需要开机自启动,你就需要把这条命令放到开机脚本里,比如我是放在/opt/etc/init.d/的S10_aria2.sh(这个是论坛老前辈提供的一个aria2的开机自启动脚本,你看明白这个脚本后,完全可以自己DIY,反正就是增加一行mount命令)
补充几点
1、必须把/mnt/disk3的根目录权限修改为755或者777(其他硬盘需要挂载也必须这样设置权限)
2、被挂载的硬盘最好只在根目录建立一个目录,要不然你放在根目录的所有内容都会单独在sabma里共享出来
3、以下是比较完整的自动挂载脚本,可以自动把第二到第四个硬盘挂载到第一个硬盘的的/mnt/disk1/share/OtherDisk下
#创建挂载用的目录/mnt/disk1/share/OtherDisk
if [ ! -d /mnt/disk1/share/OtherDisk ] ;then
mkdir /mnt/disk1/share/OtherDisk
chmod -R 777 /mnt/disk1/share/OtherDisk
fi
#扫描系统安装的所有硬盘(/mnt/disk1、/mnt/disk2、/mnt/disk3、/mnt/disk4)
for i in /mnt/disk? ;do
#由于对Linux不了解,只懂用这个笨办法来获取磁盘号
case "$i" in
*disk1)
Disk=1
;;
*disk2)
Disk=2
;;
*disk3)
Disk=3
;;
*disk4)
Disk=4
esac
#除了第一个硬盘外其他硬盘都挂载
if [ ! $Disk = "1" ] ;then
#在被挂载的硬盘根目录创建Download目录,并设置权限
if [ ! -d /mnt/disk$Disk/Download ] ;then
mkdir /mnt/disk$Disk/Download
chmod -R 777 /mnt/disk$Disk/Download
fi
#在/mnt/disk1/share/OtherDisk目录创建对应被挂载硬盘号的目录,并设置权限
if [ ! -d /mnt/disk1/share/OtherDisk/Disk$Disk ] ;then
mkdir /mnt/disk1/share/OtherDisk/Disk$Disk
chmod -R 777 /mnt/disk1/share/OtherDisk/Disk$Disk
fi
#完成挂载操作,并设置权限
if [ ! -d /mnt/disk1/share/OtherDisk/Disk$Disk/Download ] ;then
mount -o bind /mnt/disk$Disk /mnt/disk1/share/OtherDisk/Disk$Disk
chmod -R 777 /mnt/disk1/share/OtherDisk/Disk$Disk
fi
fi
done
二、aria2的配置文件
1、PT下载功能
论坛老前辈转载aria2版本时可能没有研究透,在论坛里一直都是介绍使用命令行的方法来加载aria2
论坛里常见的启动命令/opt/bin/aria2c --enable-rpc --rpc-listen-all=true --rpc-allow-origin-all --dir=/mnt/disk1/share/Download --file-allocation=falloc -s 5 -j 3 -x 5 -c -D
这里加载的参数并没有把aria2伪装成别的下载器,所以是不支持PT方式下载的
如果想增加PT功能,就需要使用到配置文件来详细设置aria2的运行方式,配置文件里具体的伪装指令内容如下(如需要配置文件的全部内容,麻烦大家自己google)
#把aria2伪装Transmission
peer-id-prefix=-TR2610-
user-agent=Transmission/2.61 (13407)
然后通过下面这样的命令来运行#下载目录
DOWNDIR="/mnt/disk1/share/OtherDisk/Disk3"
#配置文件的目录
CONFIGFILE="/opt/etc/aria2/aria2.conf"
/opt/bin/aria2c -c -D --conf-path=$CONFIGFILE --dir=$DOWNDIR2、重启后继续之前的任务
按论坛当前介绍的使用方法,aria2在重启后是不能继续之前任务的,之前所有任务都会丢失
要让arira2保留任务进度虽然从几方面入手
a、配置文件里的input-file和save-session二个目录
input-file=/opt/etc/aria2/aria2jobs.txt
save-session=/opt/etc/aria2/aria2jobs.txt
aria2在启动时会根据input-file目录来加载之前的任务进度
aria2在正常结束时会根据save-session目录来保存当前的任务进度
所以这二目录必须在配置文件里设置好,并且把这二个文件的权限设置为755或者777
b、让aria2正常结束
这里说的正常不包括突然断电,这种情况下任务进度还是不能保存下来
你可以使用Aria2c Remote Control软件来停止,当然这是个笨办法
修改/etc/init.d/rc.optwar和aria2启动脚本,增加stop部分来执行killall aria2命令(切记不要照搬论坛里的killall -2 aria2命令,多了一个-2参数,就变成了强行结束,aria2是不会保存当前任务进度的)
optware安装后的自启动脚本部分只设置了start而没有stop,所以得自己加上去,下面的是原来脚本部分case "$1" in
start)
echo "Starting Optware."
if test -n "${REAL_OPT_DIR}"; then
if ! grep ' /opt ' /proc/mounts >/dev/null 2>&1 ; then
mkdir -p /opt
mount -o bind ${REAL_OPT_DIR} /opt
fi
fi
[ -x /opt/etc/rc.optware ] && /opt/etc/rc.optware
;;
reconfig)
true
;;
stop)
echo "Shutting down Optware."
true
;;
*)
echo "Usage: $0 {start|stop|reconfig}"
exit 1
esac好明显没有了stop部分的,现在我们来补充自动结束部分case "$1" in
start)
[ -x /opt/etc/rc.optware ] && /opt/etc/rc.optware
;;
stop)
[ -x /opt/etc/stop.optware ] && /opt/etc/stop.optware
;;
esac
呵呵是不是很简单,当然我们还得建立一个/opt/etc/stop.optware来处理#!/bin/sh
#枚举出/opt/etc/init.d目录下所有S字母开头的文件
#简单说就是/opt/etc/init.d目录下所有S字母开头的脚本都会被执行
for i in /opt/etc/init.d/S??* ;do
[ ! -f "$i" ] && continue
case "$i" in
*.sh)
(
trap - INT QUIT TSTP
set stop
.$i
)
;;
*)
$i stop
;;
esac细心的你也许会发现这和个rc.optware基本上是一样的,只不过的把start换成了stop
另外"trap - INT QUIT TSTP"、"set stop"、". $i"这三条命令合在一起其实和下面的$i stop是一样的道理,就是使用stop参数调用$i变量所指定的程序,optware的示范程序有点太人为复杂化的感觉
c、升级你的aria2
你是不是觉得以上方法都太麻烦,是的,我自己也觉得
幸好aria2及时升级增加了自动保存当前任务进度的功能,aria2 1.16.1版本增加了save-session-interval参数,aria2会按这个设置来自动保存任务进度的
input-file=/opt/etc/aria2/aria2jobs.txt
save-session=/opt/etc/aria2/aria2jobs.txt
save-session-interval=1800
4、yaaw控制页面
yaaw是一个很清爽的aria2控制页面,你可以直接在Chrome的“网上应用商店”里加载它,也算是一种比较简便的控制手段,但是切记切记它不支持带密码的aria2
当你在配置文件里设置了rpc-user和rpc-passwd这二项时,yaaw就永远连接不上
[*]
本帖最后由 gz13802424 于 2013-2-12 17:51 编辑
三、我自己transmission和aria2的启动脚本#下载目录和transmission密码
#aria2密码我放在配置文件里了
DOWNDIR="/mnt/disk1/share/OtherDisk/Disk3/Download"
USR="tra"
PSWD="tra"
#下载目录必须存在才启动
if [ -d $DOWNDIR ]; then
#transmission启动标志文件/mnt/disk1/share/tag_tr.conf
if [ -f /mnt/disk1/share/tag_tr.conf ]; then
#防止重复运行transmission-daemon
if [ -z "$(pidof transmission-daemon)" ];then
#--paused表示启动成功后,原来所有的任务处于暂停状态
# 这样可以让NAS启动时不会太忙,防止其他服务启动不起来
#-T -u $USR -v $PSWD设置transmission控制端的账号与密码
/opt/bin/transmission-daemon --paused -T -u $USR -v $PSWD -w $DOWNDIR
sleep 5
fi
fi
#aria2启动标志文件/mnt/disk1/share/tag_ar.conf
if [ -f /mnt/disk1/share/tag_ar.conf ]; then
#不知道什么原因,往往启动一次是不成功的,所以我安排了二次启动
#当第一次启动失败后,会再次尝试启动
for ((i=1;i<=2;i++));do
#防止重复运行aria2c
if [ -z "$(pidof aria2c)" ];then
#告诉aria2按/opt/etc/aria2/aria2.conf配置文件来运行
/opt/bin/aria2c -c -D --conf-path=/opt/etc/aria2/aria2.conf --dir=$DOWNDIR
sleep 3
fi
done
fi
fi四、邮件通知
SMTP 服务器地址:stmp.gmail.com
SMTP 端口号:465
身份验证类型:LOGIN(SMTP-AUTH)
SSL/TLS:SSL/TLS
用户名:你的gmail账号
密码:你的gmail密码
按理说QQ邮箱也是支持的,但我就是折腾不出来,还好我有gmail的邮箱
五、NFS
NFS服务器共有两种类型,一种是以内核模块方式提供的 nfs-kernel-server,另一种是以用户空间程序提供的 nfs-user-serv
据论坛老前辈所说的1.60之前的ROM是官方集成了NFS(以内核模块方式提供),而1.63或者1.64则不再包括,这时就只能使用opware平台提供的的NFS(以用户空间程序提供),前者的效率和速度要优于后者
我用的是1.64的ROM,所以我只能使用opware平台的NFS服务a)NFS服务器提供服务的程序有如下三个
.rpc.portmapper 这一程序本身并不直接提供NFS服务,但是它将其他计算机发出的调用请求映射到正确的NFS守护进程,即端口映射,它必须先于下面二个服务先运行起来的
.rpc.nfsd 这一进程把NFS请求转化为本地的文件系统上的实际请求
.rpc.mountd 这一守护程序负责为加载和卸载文件系统的请求提供服务
b)安装
ipkg install portmap
ipkg install nfs-server
c)启动
安装程序会自动建立开机启动脚本S55portmap和S56nfsd,从文件名可以知道protmap是先于nfsd运行的,这也是必须
d)配置
共享的配置文件则需要自己建立, 配置文件exports放在/opt/etc目录下面
/mnt/disk1/share/ *(rw,sync,no_root_squash,no_subtree_check,insecure)
下面是一些NFS共享的常用参数:
ro 只读访问
rw 读写访问
sync 所有数据在请求时写入共享
async NFS在写入数据前可以相应请求
secure NFS通过1024以下的安全TCP/IP端口发送
insecure NFS通过1024以上的端口发送
wdelay 如果多个用户要写入NFS目录,则归组写入(默认)
no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
hide 在NFS共享目录中不共享其子目录
no_hide 共享NFS目录的子目录
subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
no_subtree_check 和上面相对,不检查父目录权限
all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash 保留共享文件的UID和GID(默认)
root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squash root用户具有根目录的完全管理访问权限
anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的GID
暂时想到这些,日后再补充,希望能帮到后来者
我也是搞了两天才搞定~ 这个帖子很管用,怎么不早点说。谢谢了。今天重新刷固件,1.64降到1.56,再刷回1.64,嘿嘿 LZ大哥 请问是什么什地方 有WVL 的详细 一点 的刷机 和用机心得? 本帖最后由 我饿~~ 于 2013-1-7 00:59 编辑
把自己破解官方固件权限及安装软件碰到的一些问题,及解决过程说一下。
问题1:破解root权限时的,输入java -jar acp_commander.jar -t 192.168.1.69 -ip 192.168.1.69 -pw adminpasswordhere -c "(echo newrootpass;echo newrootpass)|passwd"提示端口错误。
解决办法:关闭防火墙。
问题2:命令执行成功,但是密码错误。
解决办法:用password,替换adminpasswordhere。
问题3:安装optware,重启后消失,更别说transmission消失。
解决办法:按照http://buffalo.nas-central.org/wiki/Category:LS-WVL#IPKG 这里的说明进行安装,问题解决。开始安装transmission。 原来是防火墙在作怪……
纳闷的是ssh是可以使用的,问什么这么多人说不行呢? hughalex 发表于 2013-1-6 20:35 static/image/common/back.gif
纳闷的是ssh是可以使用的,问什么这么多人说不行呢?
不能使用是什么意思?? 再次更新了部分心得 hughalex 发表于 2013-1-6 20:35 static/image/common/back.gif
纳闷的是ssh是可以使用的,问什么这么多人说不行呢?
也许是我安装第三方ROM时出了什么问题,安装完optware后ssh就一直不好使,老是拒绝连接之类的错误
第三方的ROM是可以使用telnet,一定情度上可以取代ssh
我找着教程折腾了好几天,目前可以开机启动aria2c了,但是迅雷离线下载错误,,bt种子下载链接成功,但进度不动。。求解
顺便再问一下如何设置aria2c的远程控制账号密码,添加到启动项,以及限速和缓存配置启动项 一起更新新的吧 再次修改了一下关于aria2部分 本帖最后由 gz13802424 于 2013-1-7 00:19 编辑
shavn 发表于 2013-1-6 23:56 static/image/common/back.gif
顺便再问一下如何设置aria2c的远程控制账号密码,添加到启动项,以及限速和缓存配置启动项 ...
#Aria2 configuration for PT
# RPC Setting
#
enable-rpc=true
rpc-listen-all=true
rpc-allow-origin-all=true
#rpc-user=rpc_user
#rpc-passwd=rpc_passwd
# General Setting
#
#dir=/mnt/disk1/share/Download
#input-file=/mnt/myext3/aria2/aria2jobs.txt
#save-session=/mnt/myext3/aria2/aria2jobs.txt
#log=/home/0common/downloads/aria2.log
log-level=warn
#event-poll=select
file-allocation=trunc
peer-id-prefix=-TR2610-
user-agent=Transmission/2.61 (13407)
enable-mmap=true
# Connection Setting
continue=true
auto-save-interval=120
check-certificate=false
split=5
max-connection-per-server=5
max-concurrent-downloads=10
min-split-size=1M
#...bt traffic listen with tcp
listen-port=51414
# DHT Setting
#
enable-dht=true
disable-ipv6=true
# ...dht listen with udp
dht-listen-port=51414
# BT/PT Setting
bt-max-peers=50
enable-peer-exchange=true
bt-enable-lpd=true
bt-seed-unverified=true
bt-save-metadata=true
bt-hash-check-seed=true
bt-remove-unselected-file=false
bt-stop-timeout=900
seed-ratio=0.0
seed-time=525600
# Speed Limit
max-overall-download-limit=0
max-overall-upload-limit=40K
这个是我现在用的配置文件,其中红色部分就是你需要的部分 我固件版本是1.64,单硬盘/mnt/disk1/Download ,权限都设了777,aria2c开机顺利启动了,为什么下载不了呢? 楼主可以加我qq:30498675请教一下 我加了user和passwd到启动脚本里之后,连下载任务都添加不进去了,现在还原了,下载任务可以添加了,但是还是下载不动 shavn 发表于 2013-1-7 15:24 static/image/common/back.gif
我加了user和passwd到启动脚本里之后,连下载任务都添加不进去了,现在还原了,下载任务可以添加了,但是还 ...
Sorry,现在才回复你
我也是刚刚玩,迅雷离线下载我还没有测试过