《麦田》
何平导演曾经是好莱坞敢于投资的中国三位导演之一(另两位是张艺谋和陈凯歌),《双旗镇刀客》是其代表作,更被为如《新龙门客栈》般的武侠片划时代的作品。作品不多,但是一直走下铺路。最近的《麦田》媒体称之为六年磨一剑的作品,更是垃圾代表作。Continue Reading
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。
PostgreSQL 导入 CSV 文件
FreeBSD 7.0-RELEASE-i386 + PostgreSQL8.3
# psql -d 数据库 -U 用户名 # \encoding # show client_encoding; # set client_encoding = 'iso-8859-1'; //CSV文件字符格式,不然会乱码 # COPY 表名 FROM 'CSV文件' WITH DELIMITER ',' NULL AS '' CSV HEADER QUOTE AS '|'; # \q
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无线网卡设置
PostgreSQL 处理 session
先来看下自定义数据库处理 session 的执行顺序:
sess_open sess_read sess_gc ...其他程序 sess_write || sess_destroy sess_close // $domain = ''; //不使用 GET/POST 变量方式 ini_set('session.use_trans_sid', 0); //设置垃圾回收最大生存时间 ini_set('session.gc_maxlifetime', 1440); //使用 COOKIE 保存 SESSION ID 的方式 ini_set('session.use_cookies', 0); //ini_set('session.cookie_path', '/'); //多主机共享保存 SESSION ID 的 COOKIE //ini_set('session.cookie_domain', $domain); //设置用户自定义Session存储 ini_set('session.save_handler', 'user'); ini_set('session.gc_probability', 1); ini_set('session.gc_divisor', 100); session_set_save_handler( 'sess_open', 'sess_close', 'sess_read', 'sess_write', 'sess_destroy', 'sess_gc' ); $SESS_DB = ''; $SESS_DBHOST = '127.0.0.1'; /* database server hostname */ $SESS_DBPORT = 5432; /* database server port */ $SESS_DBNAME = 'DBNAME'; /* database name */ $SESS_DBUSER = 'DBUSER; /* database user */ $SESS_DBPASS = 'DBPASS'; /* database password */ $SESS_LIFE = ini_get('session.gc_maxlifetime'); $SESS_NAME = 'SNAME'; function sess_open($save_path, $session_name){ global $SESS_DB, $SESS_DBHOST, $SESS_DBPORT, $SESS_DBNAME, $SESS_DBUSER, $SESS_DBPASS; $SESS_DB = pg_connect("host=$SESS_DBHOST port=$SESS_DBPORT dbname=$SESS_DBNAME user=$SESS_DBUSER password=$SESS_DBPASS") or die('Could not connect'); return true; } function sess_close(){ global $SESS_DB; if(!empty($SESS_DB)){ pg_close($SESS_DB); } return true; } function sess_read($key){ global $SESS_DB, $SESS_LIFE, $uid, $uip; 自定义 return false; } function sess_write($key, $val){ global $SESS_DB, $SESS_LIFE, $uid, $ip; $expiry = time() + $SESS_LIFE; $value = addslashes($val); 自定义 } function sess_destroy($key){ global $SESS_DB; 自定义 } function sess_gc($maxlifetime){ global $SESS_DB; 自定义 }
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/winFreeBSD里的逻辑分区是从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 参考,基本差不多。