利用FreeBSD的Livesf CD盘拷贝数据

X60换固态硬盘,原来的日立5400转的硬盘太慢了,试一试固态硬盘。

但是原来硬盘的系统和数据要拷过去,不想重装了。ghost是必须的,但是要注意Fat32格式的分区不能存超过4g的文件,要分割。

ghost之前要清理一下系统,做个磁盘碎片整理,把虚拟文件关了,或者转移到不ghost的分区。

ghost的过程就不说了,网上教程很多。

ghost之后发现文件太大,12G,刻盘也不行,U盘也没有那么大。想一下,只能用FreeBSD的livesf cd。

先把x61的xp装个FileZilla Server,做成ftp服务器。不过要记得打开xp防火墙的ftp功能,然后把ghost备份的目录设为ftp的目录即可。

把固态硬盘插到T61上,用MaxDOS光盘启动,用PQ分区,记得要把其中一个逻辑分区格式成fat32。

然后用FreeBSD的Livesf CD盘启动。进入安装界面后选 急救模式(Fixit),再选 CD/DVD。

设置下网卡,ifconfig看看网络怎么样。

然后把硬盘挂起来。

先去 /dev 看看硬盘,注意要选择fat32的分区挂,freebsd的逻辑分区是从5开始的。

# mkdir /disk1
# mount_msdosfs /dev/ad1s6 /disk1
# cd /disk1
# fetch ftp的文件地址

这样就可以把ghost的文件下载到固态硬盘上,然后再用MaxDOS启动,用ghost恢复系统即可。然后把固态硬盘插到x61上,无法启动,估计是ghost分区的时候擦掉了分区信息,所以重新插到t61上,用MaxDOS启动用DG重新激活下分区。

然后就一切ok了,固态硬盘速度真快。

备注一下,FreeBSD无法写操作NTFS,只能读操作。如果xp毁掉了,要读回C盘上的重要数据的话,也可以这样操作,把C盘的数据拷贝到其他分区(fat32)。

# kldload /mnt2/boot/kernel/ntfs.ko

如果是中文命名的文件,还要
# kldload /mnt2/boot/kernel/libiconv.ko
# kloload /mnt2/boot/kernel/ntfs_iconv.ko

修改FTP.py 的list_files ,gedit插件 FTP Browser 支持 ln -s 链接

gedit的FTP Browser插件有个BUG, ln -s 链接的文件夹不能识别为文件夹。lrwxr-xr-x权限的文件就是ln -s 链接的文件。

自己修改下 ~/.gnome2/gedit/plugins/FTP.py 文件,就可以了,方法在最后,自己改一下,其实就是将所有权限”-“开始的都是文件,其余的都是文件夹,这样的话软链接文件就没有办法了,没有两全其美的办法!

还有如果之前有连接过链接的文件夹,会留下缓存文件,造成文件不能编辑,根据提示去/tmp把那个缓存删除就可以了!

软链接和硬链接我认为,软链接可以链接文件夹而硬链接不可以。具体可以参考这里:http://linux.chinaunix.net/bbs/viewthread.php?tid=461282Continue Reading

FreeBSD 8.0 安装 Tor 翻墙

安装Tor
# cd /usr/ports/security/tor && make install clean

Tor配置文件
# cp /usr/local/etc/tor/tor-tsocks.conf.sample /usr/local/etc/tor/tor-tsocks.conf
# cp /usr/local/etc/tor/torrc.conf.sample /usr/local/etc/tor/torrc

设置开机自启动Tor
# echo ‘tor_enable=”YES”‘ >> /etc/rc.conf

手动启动Tor
# /usr/local/etc/rc.d/tor start

安装FireFox的FoxyProxy插件,https://addons.mozilla.org/zh-CN/firefox/addon/2464。FoxyProxy插件的设置这里就不说了,网上很多自己去Google下,设置还是比较傻瓜的。记住配置Tor向导时,privoxy选不使用,其他都默认,端口是9050。

最近GFW的功力大长,不配置Tor网桥恐怕难以奔向自由。不过不怕,下面来看怎样配置Tor网桥:
发送邮件给:bridges@torproject.org,主题为”get bridges”,内容随便。
收到回复邮件后,将回复邮件中的bridge列表附加至torrc配置文件末尾:
# ee /usr/local/etc/tor/torrc

UseBridges 1(0为关闭)
bridge 213.47.159.85:11001
bridge 91.35.132.68:9001
bridge 217.11.52.30:443

重新启动Tor
# /usr/local/etc/rc.d/tor restart
查看Tor
# sockstat -4 | grep 9050

gedit 支持 FTP 编辑

FreeBSD 8.0
Xfce4
Gedit2
gedit-ftp-browser(http://code.google.com/p/gedit-ftp-browser/)

gedit 是FreeBSD下的轻型文本编辑器,我用它来编辑我的网站,默认的安装是不支持 FTP 远程连接编辑的,需要安装插件来支持。下面就介绍一个 gedit-ftp-browser 插件的安装过程。

# cd ~/.gnome2/gedit/plugins

如果没有plugins文件夹就新建一个
# mkdir ~/.gnome2/gedit/plugins

# fetch http://gedit-ftp-browser.googlecode.com/files/gedit-ftp-browser.tgz
# gunzip gedit-ftp-browser.tgz

打开 gedit ,编辑 -> 首选项 -> 插件 -> 点选 FTP Browser,快捷键 F9 打开侧边栏,点击 FTP Browser,输入服务器、用户名、密码,ok!

GRUB 引导 8.0-RELEASE-i386-bootonly.iso 安装 FreeBSD 8.0

下载 Grub4Dos,解压缩在 fat32 分区,修改或添加以下代码在 menu.lst 文件:

title find and boot 8.0-RELEASE-i386-bootonly.iso
fallback 5
find --set-root /8.0-RELEASE-i386-bootonly.iso
map --mem /8.0-RELEASE-i386-bootonly.iso (0xff)
map --hook
chainloader (0xff)

下载 FreeBSD 8.0-RELEASE-i386-bootonly.iso 放在主分区的第一分区,也就是第一个分区,我当时第一分区是安装 Win2000 的 NTFS 分区,也可以引导,但是 Grub 得放在 fat32 分区。

纯DOS启动,没有纯DOS的用 vfloppy 来虚拟 Win98 DOS 启动。

进入 Grub 目录,启动 grub 命令,比如 C:\GRUB>grub 。在选项里选择 boot 8.0-RELEASE-i386-bootonly.iso 启动,就可以进入 FreeBSD 8.0 的安装,安装的过程参考 用memstick.img 安装 FreeBSD8.0-releases。安装的介质可以选择 MS-DOS 分区安装(硬盘安装)或FTP安装,网络好的话FTP安装是不错的选择。

MS-DOS 分区安装参考这里,可以识别 NTFS
FTP安装参考这里,并且要提前配置网卡,也有可能会失败 🙂 。注意不要中国的 FTP 服务器,因为线程的限制会掉线,我就是先无比自豪的选择了 ftp.cn.freebsd.org ,然后掉线后无可奈何的选择了 ftp.jp.freebsd.org。

FreeBSD 8.0 Firefox 安装 Flash 插件

# cd /usr/ports/www/nspluginwrapper && make install clean
如果没有加载Linux核心模块,会出错,请加载Linux后重新安装

# kldload linux
# echo ‘linux_enable=”YES”‘ >> /etc/rc.conf

# cd /usr/ports/www/linux-f10-flashplugin10 && make install clean
# mkdir /usr/local/lib/browser_plugins
# ln -s /usr/local/lib/npapi/linux-f10-flashplugin/libflashplayer.so /usr/local/lib/browser_plugins/

按照 FreeBSD 版本, 在安装了正确的 Flash port 之后, 插件必须由每个用户运行 nspluginwrapper 安装
% nspluginwrapper -v -a -i

# mount -t linprocfs linproc /usr/compat/linux/proc

# ee /etc/fstab

把以下这行加入 /etc/fstab:
linproc /usr/compat/linux/proc linprocfs rw 0 0

# cd /usr/local/lib/firefox3/plugins && ln -s /usr/local/lib/browser_plugins/npwrapper.libflashplayer.so npwrapper.libflashplayer.so

参考:http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/desktop-browsers.html

PHP 条形码 Image_Barcode

# cd /usr/ports/graphics/pear-Image_Barcode && make install clean

<?php
require_once('Image/Barcode.php');
Image_Barcode::draw('RR651943036CN', 'Code39', 'gif');
exit;
?>

安装 GeoIP

FreeBSD 7.0-RELEASE-i386 + PHP5 + Apache2.2

# cd /usr/ports/net/pecl-geoip && make install clean
# apachectl restart
# cd ~
# fetch http://www.maxmind.com/download/geoip/database/GeoIP.dat.gz
# gunzip GeoIP.dat.gz
# mv GeoIP.dat /usr/local/share/GeoIP/GeoIP.dat
# fetch http://www.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
# gunzip GeoLiteCity.dat.gz
# mv GeoLiteCity.dat /usr/local/share/GeoIP/GeoIPCity.dat

<?php
echo geoip_database_info(GEOIP_COUNTRY_EDITION);

$country = geoip_record_by_name('wangblog.org');
if($country){
	echo "\nThis host is located in: \n";
	print_r($country);
}
?>

可以写个定时更新IP地址库的程序:

cd ~
/usr/bin/fetch http://www.maxmind.com/download/geoip/database/GeoIP.dat.gz
/usr/bin/gunzip GeoIP.dat.gz
mv GeoIP.dat /usr/local/share/GeoIP/GeoIP.dat
/usr/bin/fetch http://www.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
/usr/bin/gunzip GeoLiteCity.dat.gz
mv GeoLiteCity.dat /usr/local/share/GeoIP/GeoIPCity.dat

以上保存为:update-ipdata-cron.sh

crontab -e
添加以下一行,每月5日0点10分运行:
10 0 5 * * /bin/csh /path/to/update-ipdata-cron.sh

FreeBSD 8.0-RELEASE 安装无线网卡的变化

FreeBSD 8.0-RELEASE-i386 + IBM ThinkPad X32 Intel(R) PRO/Wireless 2200bg

除了 /etc/rc.conf 其他的和7.0一样,8.0要将无线网卡clone出来wlan再使用。妈的,搞了一个晚上才搞好!一直以为是Fn+F5出错无法启动无线网卡。

下面的添加入 /etc/rc.conf ,无线网卡即可正常使用:

ifconfig_iwi0="up"
wlans_iwi0="wlan0"
ifconfig_wlan0="ssid TP-LINK_57850C wepmode on weptxkey 1 wepkey 1:0x1234567890 DHCP"

其余的参考 FreeBSD7.0无线网卡设置

FreeBSD8.0 中文桌面

FreeBSD 8.0-RELEASE-i386 + IBM ThinkPad X32

下列,添加到 /etc/rc.conf:
hald_enable=”YES”
dbus_enable=”YES”

PORT安装Xorg,KDE是很慢的,所以用CD来装,没有光驱怎么办?虚拟光驱吧,先下载 8.0-RELEASE-i386-dvd1.iso 到WinXP的分区中,然后虚拟。

# mkdir /mnt/fat32
# mount_msdosfs /dev/ad0s6 /mnt/fat32

fat32、ntfs、cd9660分区中文文件名的问题。以前中文目录有gbfs port支持,现在无需安装gbfs即可实现fat32分区中文文件名的显示。方法是在执行mount_msdosfs时加载-L zh_CN.eucCN的参数,如:
mount_msdosfs -L zh_CN.eucCN /dev/ad0s1 /mnt/disk

对于ntfs及cd9660格式,则用另一个参数-C gbk,如:
mount_cd9660 -C gbk /dev/acd0 /cdrom
mount_ntfs -C gbk /dev/ad0s1 /mnt/win

FreeBSD里的逻辑分区是从ad0s5开始的,因为支持4个主分区,即使只有一个主分区,也是从ad0s5开始的。

# mkdir /mnt/cdrom
# mdconfig -a -t vnode -f /mnt/fat32/8.0-RELEASE-i386-dvd1.iso -u 1
# mount_cd9660 /dev/md1 /mnt/cdrom

# sysinstall

Configuration->packages->选择7 File System(/mnt/cdrom)->进入x11->找xorg->选中->install
Configuration->packages->选择7 File System(/mnt/cdrom)->进入KDE->找kde->选中->install

配置Xorg:

# Xorg -configure
# Xorg -config xorg.conf.new
# cp xorg.conf.new /etc/X11/xorg.conf

# cd /usr/ports/chinese/kcfonts && make install clean
# cd /usr/ports/chinese/arphicttf && make install clean
# cd /usr/ports/chinese/kde4-l10n-zh_CN && make install clean

# cd /usr/ports/www/firefox3 && make install clean
# cd /usr/ports/www/firefox3-i18n && make install clean

# cd /usr/ports/chinese/scim-pinyin/ && make install clean
# ee ~/.cshrc
setenv LANG zh_CN.eucCN
setenv LC_CTYPE zh_CN.eucCN
setenv XMODIFIERS @im=SCIM
setenv GTK_IM_MODULE scim
# echo "exec /usr/local/bin/scim &" >> ~/.xinitrc
# echo "exec /usr/local/kde4/bin/startkde" >> ~/.xinitrc
# startx

这样 FreeBSD8.0 KDE4 中文桌面就安装完毕了。可以和 FreeBSD 7.0 参考,基本差不多。