月度归档:2010年01月

改造SATA to IDE转接卡

LS1的硬盘接口是IDE,明显跟不上潮流了,PATA的盘既贵容量又小,里面的硬盘以后坏掉的话只能上SATA了。

淘宝买了个转接卡备用,到手发现转接卡太大了,无法塞到LS1里面去,得自己改造一下才行。

点击查看原图
点击查看原图

先这样改造一下,发现还是装不到LS1里面去:

点击查看原图
点击查看原图

继续改造,终于搞定了:

点击查看原图
点击查看原图

悲剧,NAS的硬盘挂了

昨晚重启了NAS之前忘记先关掉mldonkey并sync一下了,结果悲剧了,身残多病的硬盘直接挂了,reboot之后直接进入EM模式,红灯频闪beep声不断;telnet也无法连上系统,java -jar acp_commander.jar -t 192.168.11.150 -o 无法将root密码置空。

拆下硬盘用USB转接到电脑上,发现无法识别到它,上电时马达会转一会,然后就停掉了。伤心啊,里面还有大概60G的数据,恢复不了的话那就真的成悲剧了。

反复插拔硬盘,RP爆发,终于被系统识别了,不敢把硬盘盒的电拔掉,万一再启动不起来的话就惨了。赶紧把上网本找出来,切到ubuntu下面,挂载硬盘,OK!

直接把数据往LS1里复制,发现复制进去的文件名全是乱码,貌似是编码不一引起的。

想了个办法,在本子上安装samba,然后把硬盘的文件夹共享出去,然后把文件从samba里复制到LS1,问题解决了。

硬盘的系统还是需要备份一下的,回头进EM模式恢复到新的系统分区下面就OK。

 

tar -czvpf /mnt/usbdisk1/<target>.tar.gz /mnt/disk1/<source>
点击查看原图


Ubuntu上安装samba不能安装的问题,“下列的软件包有不能满足的依赖关系”

前阵子,雨林木风版ubuntu下安装samba
的问题,现在写出来分享一下。

root@ubuntu:~# apt-get install samba
正在读取软件包列表… 完成
正在分析软件包的依赖关系树      
正在读取状态信息… 完成      
有一些软件包无法被安装。如果您用的是不稳定(unstable)发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们还在新到(incoming)目录中。
下列的信息可能会对解决问题有所帮助:

下列的软件包有不能满足的依赖关系:
  samba: 依赖: samba-common (= 2:3.4.0-3ubuntu5) 但是 2:3.4.0-3ubuntu5.3 正要被安装
E: 无法安装的软件包



这种问题就应该是软件源的问题,源中的版本比较低;依赖的版本号比正要安装的版本号要低导致没法安装。

只需要将原来软件源删除,用新的软件源替换一下就可以了。

做法见这里:http://wiki.ubuntu.org.cn/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E6%8E%A8%E8%8D%90%E7%9A%84%E6%BA%90


sudo gedit /etc/apt/sources.list

写上软件源后,再刷新一下,注意一定要刷新,运行:

sudo apt-get update

终于搞定。

root@ubuntu:~# apt-get install samba
正在读取软件包列表… 完成
正在分析软件包的依赖关系树      
正在读取状态信息… 完成      
下列软件包是自动安装的并且现在不再被使用了:
  user-setup localechooser-data
使用’apt-get autoremove’来删除它们
建议安装的软件包:
  openbsd-inetd inet-superserver smbldap-tools ldb-tools
下列【新】软件包将被安装:
  samba
共升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 78 个软件未被升级。
需要下载 6,241kB 的软件包。
解压缩后会消耗掉 17.1MB 的额外空间。
获取:1 http://mirrors.163.com karmic-updates/main samba 2:3.4.0-3ubuntu5.3 [6,241kB]
下载 6,241kB,耗时 17 秒 (356kB/s)                                            
正在预设定软件包 …
选中了曾被取消选择的软件包 samba。
(正在读取数据库 … 系统当前总共安装有 120086 个文件和目录。)
正在解压缩 samba (从 …/samba_2%3a3.4.0-3ubuntu5.3_i386.deb) …
正在处理用于 man-db 的触发器…
正在处理用于 ufw 的触发器…
正在处理用于 sreadahead 的触发器…
sreadahead will be reprofiled on next reboot
正在设置 samba (2:3.4.0-3ubuntu5.3) …
update-alternatives: 使用 /usr/bin/smbstatus.samba3 来提供 /usr/bin/smbstatus (smbstatus),于 自动模式 中。
Generating /etc/default/samba…
 

debian下安装locale并设置zh_CN.UTF-8

装了mldonkey,但是下载的文件名存在乱码,看来需要装中文语言支持了。

在Debian中安装locales的方法如下:

通过apt-get install locales命令安装locales包

安装完成locales包后,系统会自动进行locale配置,你只要选择所需的locale,可以多选。最后指定一个系统默认的locale。这样系统就会帮你自动生成相应的locale和配置好系统的locale。

增加新的locale也很简单,用dpkp-reconfigure locales重新配置locale即可。

我们也可手动增加locale,只要把新的locale增加到/etc/locale.gen文件中,再运行locale-gen命令即可生成新的locale。再通过设置上面介绍的LC_*变量就可设置系统的locale了。下是一个locale.gen文件的样例。

# This file lists locales that you wish to have built. You can find a list# of valid supported locales at /usr/share/i18n/SUPPORTED. Other# combinations are possible, but may not be well tested. If you change# this file, you need to rerun locale-gen.#zh_CN.GBK GBKzh_CN.UTF-8 UTF-8
在安装了locale支持的系统中,在/usr/share/locale目录下保存locale的信息,在/usr/share/consolefonts目录下保存字体信息,在/usr/lib/gconv目录下保存字符转换模块的信息。总结:如果要在Linux下正确显示中文信息,需要做以下工作。

系统本身要有国际化支持,Linux的国际化支持是很完善的。

安装本地locale,如:zh_CN.GB2312、zh_CN.UTF-8等。

安装中文字体,如:文泉驿和文鼎的中文字体等。

设置中文的环境变量,如:LANG=zh_CN.GB2312、LANG=zh_CN.UTF-8等。有几个地方都可以设置locale环境变量。

一个是在X Window的登录管理器中可以设置,如GDM、KDM。

一个是在X Window Session初始化时设置,在/etc/X11/Xsession.d目录下的所有脚本在X Window Session初始化时都会自动运行,所以我们可把export LANG="zh_CN.GB2312"这条设置命令放到任意的脚本中。建议放到中文输入法的启动脚本中。示例:(这是我手工创建的启动fcitx中文输入法的脚本91fcitx)

debian:/etc/X11/Xsession.d# cat 91fcitxexport LANG="zh_CN.UTF-8"export XMODIFIERS="@im=fcitx"export XIM_PROGRAM=fcitxexport XIM=fcitxfcitx&
在shell的启动脚本中设置,如在.bashrc、.bash_profile等文件中直接加入export LANG="zh_CN.UTF-8"命令。

还可以在shell中直接用export LANG="zh_CN.UTF-8"命令设置。但如果使用该命令设置的环境变量只在当前shell中有效。

在应用程序中配置使用中文显示。

root@Linkstation

:~# apt-get install locales

root@Linkstation:~# dpkg-reconfigure locales

按空格键选中要安装的语言支持:

点击查看原图

root@Linkstation:~# locale -a
C
POSIX
zh_CN.utf8

OK,在mldonkey的启动脚本里面加入中文支持即可

#!/bin/sh
export HOME=/root
export LAN=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
export LC_LANG=zh_CN.UTF-8
/usr/bin/mlnet&

成功在LS-Pro上安装debian

挂载optware老是会有变量之类的问题,烦了,直接刷成freelink上debian,一劳永逸。

当然不能盲目行事,不看wiki直接想当然刷机最容易把它刷成砖头,这个东东的JATG比较难做,所以更加要慎之又慎。

刷机过程没啥说的,全程参照wiki里面讲的就可以了,进入debug模式把uboot前面的钩去掉,LS proV1 和V2的硬件不同,uboot也不同,误刷了不同版本的uboot结局基本上只有一个,那就是bricked了,老外真有创意,bircked这词太生动形象了,哈哈哈

http://buffalo.nas-central.org/wiki/FreeLink_for_the_LinkStation_PRO/LIVE

刷机之后启动系统就进入debian界面,看着感觉就很爽

点击查看原图

装了个webmin,界面不错。

点击查看原图

刚安装debian后的root空间只有500M不到,很容易就用光了,找了半天wiki’,终于把root空间增大到了4G,这下不用担心软件空间不够了!

http://buffalo.nas-central.org/wiki/Resizing_the_system_partition_with_parted_magic_live_cd

直接把硬盘拆下来装在移动硬盘盒里面挂在ubuntu上面运行gparted,搞定。

后续装mldonkey,继续养动物~~

linkstation下编译mldonkey

LS pro下ipkg optware-devel 安装了编译环境,偷个懒放狗找网上编译好的mldonkey,未果,还是编译一个吧,自己动手丰衣足食,呵呵

把mldonkey的源文件包丢到/mnt/disk1/storage/tmp/下面,执行tar -xvf解压,然后./configure,提示需要ocaml编译器,然后直接输入y回车,它自己就下载安装了。

Checking Ocaml compiler.
——————————–
checking for ocamlc.opt… no
checking for ocamlc… no
checking for camlp4… no
********  Objective-Caml 3.11.1 is required  *********
*******  Check http://caml.inria.fr/

  ********
Do you want this script to try to download and install ocaml
LOCALLY in mldonkey directory ?
y
Downloading …

一切顺利,结果在make的时候报错…
./ocamlpp.byte: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory

./ocamlpp.byte: error while loading shared libraries: libbz2.so.1.0: cannot open shared object file: No such file or directory

使用ln -s命令链接这两个lib :root@LS-GL272: ln -s /opt/lib/libz.so.1.2.3 /lib/libz.so.1

root@LS-GL272:ln -s /opt/lib/libbz2.so.1.0.5 /lib/libbz2.so.1.0

从/opt/lib链接两个lib到/lib下,搞定;

执行./make又报错:
File "src/daemon/common/commonMain.ml", line 20, characters 0-12:
Error: Unbound module Printf2
make: *** [src/daemon/common/commonMain.cmx] Error 2

只好重新编译:在configure MLDonkey的时候加上–enable-force-ocaml参数来强制下载编译ocaml。

执行 make maintainerclean 清除 configure生成的文件,再次 configure,然后 make

编译的过程很慢,等了我一个多小时,CPU几乎被耗尽,内存占用80MB左右。

点击查看原图

终于编译完毕,在当前目录下生成mlnet文件;此时还需要链接一个lib到/lib,否则执行的时候报错 。root@LS-GL272:/mnt/disk1/storage/tmp/mldonkey-3.0.1

# ./mlnet.byte
./mlnet.byte: error while loading shared libraries: libmagic.so.1: cannot open shared object file: No such file or directory
root@LS-GL272:/mnt/disk1/storage/tmp/mldonkey-3.0.1

# ln -s /opt/lib/libmagic.so.1.0.0 /lib/libmagic.so.1
ln -s /opt/lib/libmagic.so.1.0.0 /lib/libmagic.so.1

再次运行,OK!

root@LS-GL272:/mnt/disk1/storage/tmp/mldonkey-3.0.1

# ./mlnet.byte
2010/01/09 23:47:47 [cO] Starting MLDonkey 3.0.1 …
2010/01/09 23:47:47 [cO] Language EN, locale ANSI_X3.4-1968, ulimit for open files 1024
2010/01/09 23:47:47 [cO] MLDonkey is working in /root/.mldonkey

2010/01/09 23:47:47 [cO] creating new MLDonkey base directory in /root/.mldonkey

2010/01/09 23:47:47 [cO] loaded language resource file
2010/01/09 23:47:48 [DNS] Resolving [LS-GL272] …
2010/01/09 23:47:48 [DNS] Resolving [www.mldonkey.org] …
2010/01/09 23:47:48 [dMain] Libmagic file-type recognition database present
2010/01/09 23:47:49 [cO] Logging in /root/.mldonkey/mlnet.log
2010/01/09 23:47:49 [dMain] Core started
 

番茄固件下dualwan与singleWan的转换

http://www.dualwan.cn/index.php/tomato-faq/31-install/172-tomato-dualwanwan2lan

转一下,方便自己以后用到

刷完之后如果想把WAN2重新变为lan用途,方法如下:先输入 nvram get vlan1ports看结果,如果是“0 5”,那么执行方法A的代码,如果是“4 5”那么执行方法B的代码

方法A(适用于nvram get vlan1ports返回0 5的情况):
nvram unset vlan2ports
nvram unset vlan2hwname
nvram set vlan0ports="1 2 3 4 5*"
nvram commit
reboot

方法B(适用于nvram get vlan1ports返回4 5的情况):
nvram unset vlan2ports
nvram unset vlan2hwname
nvram set vlan0ports="0 1 2 3 5*"
nvram commit
reboot

我有另外一条线了,现在想重新把LAN口变成WAN2口,该如何做?

nvram unset t_dualwan_fix1
nvram commit
reboot

Linkstation安装编译环境

LS pro不支持NTFS-3g格式,无法直接往移动硬盘里备份数据,无奈采用最笨的方法,移动硬盘插终端机上面,从终端机往里面复制文件。

第二天一早起来看,发现根本没有复制完毕,提示指定的网络名不再可用!

气急败坏上网搜了一下,发现需要安装什么驱动一类的东西,找了半天也没找得到,郁闷之极,打算在linux下复制。

搞了个fedora装到上网本里面去,界面还可以,但是比较卡,抓狂。

进入网络里面找局域网的NAS,未果,总之就是无法找到,直接输入smb路径也找不到,偶是菜鸟,怒了,还是装回ubuntu !

追记:在linux下复制到同一个文件时照样出错,提示内存不足,仔细研究后发现,是硬盘有坏道了,那个文件正好在坏道上,结果读取文件时出错,无法读取超时,于是提示网络错误。

往U盘量化ubuntu的ISO文件,顺便把LS1装上NTFS-3g。

inkg install ntfs-3g

成功。

运行出错,提示FATAL: Module fuse not found.
        fuse: device not found, try ’modprobe fuse’ first
看来需要装fuse

看了一下optware的package里面没有fuse,需要找源码编译。

安装编译环境:ipkg install crosstool-native

安装make:ipkg install make

OK,./configure

make

makeinstall

搞定收工。

 在LS pro上安装编译环境的话装optware-devel即可,它会一口气安装上N个编译环境需要用到的组件:autoconf , automake , bash , bison , bzip2 , coreutils , diffutils , file , findutils , flex , gawk , groff , gzip , libstdc++ , libtool , make , m4 , ncurses , openssl , patch , perl , pkgconfig , python25 , rsync , sed , svn , tar , wget-ssl , binutils , libc-dev , gcc

安装过程中报错:An error ocurred, return value: 1.
Collected errors:
ERROR: The following packages conflict with wget-ssl:
         wget
将要安装的wget-ssl与现有的wget冲突,安装脚本停止了,后果是wget-ssl没有安装,卸载wget安装wget-ssl即可。

root@LS-GL272

:~# ipkg remove wget
Removing package wget from root…
Successfully terminated.
root@LS-GL272

:~# ipkg install wget-ssl
Installing wget-ssl (1.12-2) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/wget-ssl_1.12-2_arm.ipk


Installing libidn (1.15-1) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/libidn_1.15-1_arm.ipk


Configuring libidn
Configuring wget-ssl
Successfully terminated.
搞定。