Tuesday, May 29, 2007

PCBSD内核编译/升级

目的:将PCBSD的内核由FreeBSD 6.1升级至 6.2

步骤:

1. 升级source file至6.2

首先编辑/usr/share/examples/cvsup/standard-supfile文件,修改其中的两个地方:
将其中的*default release=cvs tag=RELENG_6_1一行改为 RELENG_6_2,
将*default host=CHANGE_THIS.FreeBSD.org中的CHANGE_THIS.freebsd.org替换为cvsup.cn.freebsd.org

修改完成後,运行如下命令:
cvsup /usr/share/examples/cvsup/standard-supfile

这个命令将会更新系统源文件至6.2版。

2. 创建内核配置文件MYKERNEL(或任何其他你喜欢的名字)

请以root帐户运行如下的命令:

# cd /usr/src/sys/i386/conf
# mkdir /root/kernels
# cp /PCBSD/conf/PCBSDv1.3 /root/kernels/MYKERNEL
# ln -s /root/kernels/MYKERNEL

这里,你可以编辑MYKERNEL文件,将一些不需要的内核选项去掉,这样编译出的内核将会更简洁,效率更高。比如其中有cpu 486/cpu 586,如果你的CPU是PII以上的,你就可以删除这两行,或者通过在行首加一个#符号来注释掉他们,只保留cpu686就可。

但你一定要清楚每个选项的意思,否则请不要随意更改,不然很可能导致系统无法启动。


3. 编辑/etc/make.conf文件
如果下面的内容不在make.conf文件中,请添加:
CPUTYPE=i686 #i486, i586, i586/mmx, i686, p2, p3, p4, athlon,athlon-xp, athlon64, opteron
RELEASETAG="RELENG_6_2"
SUP_UPDATE=yes
SUP=/usr/local/bin/cvsup
SUPFLAGS=-g -L 2
SUPHOST=cvsup.cn.FreeBSD.org
SUPFILE=/usr/share/examples/cvsup/standard-supfile
PORTSSUPFILE=/usr/share/examples/cvsup/ports-supfile
#DOCSUPFILE=/usr/share/examples/cvsup/doc-supfile
KERNCONF=MYKERNEL

4.编译并安装内核

依次运行如下命令:
#cd /usr/src
#make buildkernel
#make installkernel
#reboot

重启後你的PCBSD系统就是6.2版的内核了。其中buildkernel和installkernel的过程需要很长的时间,尤其是你的CPU和内存不是很多的话。

5. 验证

重启完成後,可以运行如下命令来查看目前的内核版本:

# dmesg | grep RELEASE
FreeBSD 6.2-RELEASE #0: Fri Jan 12 10:40:27 UTC 2007

每个人的输出并不相同,但只要你看到6.2-RELEASE的字样,就表示你已经成功了~

ENJOY!

Thursday, May 24, 2007

命令行下使用代理服务器

在企业环境下经常需要PCBSD穿过代理服务器来访问外网,尤其是使用ports进行软件安装的时候。要设置HTTP代理服务器,请使用如下命令:

setenv HTTP_PROXY http://username:password@proxy_server_name:PortNumber

不需要验证的,就把username:password@部分去掉就行了。

没有测试过这个方案对微软的ISA server代理是否有效,ISA的验证是结合AD账户进行的,和普通的代理在密码验证协议上会有些差别。不过可以试试:

setenv HTTP_PROXY http://proxy_server_name:portNumber
setenv HTTP_PROXY_AUTH basic:*:username:password

用Windows引导启动WinXP+PCBSD

安装XP+PCBSD双启动以后,PCBSD boot manager启动的时候那声beep实在让我讨厌,尤其是在办公室打开电脑的时候。于是我决定改用Windows的启动菜单。

这次的修改需要两个工具:
1. 可启动的、带有fdisk的工具盘
2. PCBSD的启动记录(pcbsd.pbr)

第一个工具请自备,我讲一下如何获得第二个。

方法a: 启动到windows下,从PCBSD的安装盘上copy /boot/boot1 到你的Windows启动分区下,比如C:\,并将它重命名为"pcbsd.pbr"

方法b:启动到PCBSD下,以root身份运行如下命令:
dd if=/dev/XXX of=pcbsd.pbr bs=512 count=1

这里的 XXX 是你的PCBSD的盘符, 比如ad0s2a。
然后再将PCBSD.PBR拷贝到Windows的启动盘下,比如C:\。注意,虽然PCBSD下可以直接查看NTFS分区,但不能写入,你需要通过移动硬盘或者网络来完成这一步。

将pcbsd.pbr拷贝到windows的启动分区以后,你需要编辑windows的boot.ini文件,让它看起来如下如下:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP"
c:\pcbsd.pbr="My PCBSD 1.3"

这里要注意的是,boot.ini是一个默认的隐藏只读文件,你需要去掉它的的只读属性才能保存。

上面的步骤完成後,用你的启动盘重启系统,然后运行“fdisk /mbr”命令,然后从硬盘重启,你就不会再听到那讨厌的声响了,Windows的启动菜单里就会显示出“My PCBSD 1.3”的选项了。

Tuesday, May 22, 2007

PCBSD: Intel显卡上使用宽屏分辨率

要在Intel系列的显卡上使用宽屏,尤其是9XX系列的,需要自己动手修改一些东西。下面是我在Dell Latitude 620(Intel945GM芯片)上测试的结果,大致也适用于其他的Intel显示芯片。步骤如下:

1. 下载并编译、安装915resolution 程序。
对于915或者更早的显卡,可以直接使用ports进行安装。
a. “开始”》“系统”》“终端程序”(或者是叫K-console什么的,忘记中文名称了),打开一个命令行窗口。
b. 运行“su”,然后输入root帐号密码,准备以root身份进行安装。
c. cd /usr/ports/sysutils/915resolution
d. make install clean

对于945GM芯片的用户,目前请不要直接使用上面的安装方式,因为ports里面的是0,5.1版,还不支持945GM,你需要这里下载0.5.2版的源码包然后编译、安装。
URL:http://www.geocities.com/stomljen/915resolution-0.5.2.tar.gz
步骤如下:

a. 解压:tar -zxvf 915resolution-0.5.2.tar.gz
b. 安装:make && make install (需要root权限)

2. 安装完成后,运行:915resolution -l,列出所有可能的模式:

# 915resolution -l
Intel 945GM VBIOS Hack : version 0.2

Chipset: 945GM

Mode 30 : 640x480, 8 bits/pixel
Mode 32 : 800x600, 8 bits/pixel
Mode 34 : 1024x768, 8 bits/pixel
Mode 38 : 1280x1024, 8 bits/pixel
Mode 3a : 1600x1200, 8 bits/pixel
Mode 3c : 1920x1440, 8 bits/pixel
Mode 41 : 640x480, 16 bits/pixel
Mode 43 : 800x600, 16 bits/pixel
Mode 45 : 1024x768, 16 bits/pixel
Mode 49 : 1280x1024, 16 bits/pixel
Mode 4b : 1600x1200, 16 bits/pixel
Mode 4d : 1920x1440, 16 bits/pixel
Mode 50 : 640x480, 32 bits/pixel
Mode 52 : 800x600, 32 bits/pixel
Mode 54 : 1024x768, 32 bits/pixel
Mode 58 : 1280x1024, 32 bits/pixel
Mode 5a : 1600x1200, 32 bits/pixel
Mode 5c : 1920x1440, 32 bits/pixel
Mode 60 : 1280x770, 8 bits/pixel
Mode 61 : 1280x770, 16 bits/pixel
Mode 62 : 1280x770, 32 bits/pixel
Mode 63 : 512x771, 8 bits/pixel
Mode 64 : 512x771, 16 bits/pixel
Mode 65 : 512x771, 32 bits/pixel
3. 选择其中的一个和你当前的分辨率一样的mode的代码,16 bits或者是32bits色深的。例如我的系统修改前是1024x768,而我想使用1280x800的分辨率,我使用如下的命令:

915resolution 45 1280 800

命令结束后再次运行 915resolution -l,你会看到mode 45已经变成1280x800了。

这里是915resolution的一些用法指南,可以参考一下:http://www.geocities.com/stomljen/readme.html

4. 编辑/etc/rc.local文件,添加如下语句:
/usr/sbin/915resolution 45 1280 800

5. 编辑/etc/X11/xorg.conf,找到LOAD DRI一行,在此行的最前面加一个#,将此行注释掉。你或许并不需要这一步,在其他任何资料上都没有看到,但对我的945来讲,Load DRI会在log里报错,我只有将它去掉。

6. 重启系统,如果分辨率没有自动改为你设置的模式的话,在桌面上右键单击,然后”重新配置桌面“》”显示“,选择你需要的分辨率即可。

下面是一些相关的资源,如果你的安装不顺利的话,可以参考一下。

检查/var/log/Xorg.0.log文件,查看其中的报错信息。
http://www.geocities.com/stomljen/
http://www.freebsd.org/doc/en_US.ISO8859-1/articles/laptop/article.html
http://forums.pcbsd.org/viewtopic.php?t=8196

Wednesday, May 16, 2007

WINXP+PCBSD双启动安装指南

鉴于目前的实际情况,可能很大一部分使用/学习PCBSD的人都还需要WinXP,双启动就成了一个很自然的选择。

对于新手来说,如果你的机子性能还可以的话(1G或者更多内存,2G或更快的CPU),我推荐先用VMWare虚拟机软件安装PCBSD体验一下,毕竟一个全新的操作系统还是需要一定的时间来适应的,尤其是对于PCBSD这类的非主流操作系统来说,和windows的差别还是相当大的,尤其是平时习惯的一些软件在新系统下可能都没了。

言归正传,要想双启动,你的硬盘上至少需要8GB的磁盘空间,一张PCBSD的安装盘。本文假定你已经有一个安装好的XP系统。

第一步:备份现有系统上的那些对你至关重要的文件,存放在移动硬盘或者网络硬盘上,或者任何其他存储介质。重要重要!!

第二步:为PCBSD准备磁盘空间。

这里你需要一个空白的分区,不小于8GB,而且要是一个主分区,不能是扩展分区。为了保证这一点,你可以先删除这个分区(删除操作会使该分区上的所有数据丢失),然后重新创建一个主分区。步骤如下:

1.点击“开始”》“运行”,输入“diskmgmt.msc",确定后出现磁盘管理界面。在窗口中会列出当前系统中所有的磁盘和分区情况。
2. 右键单击你想要删除的分区的图标,选择”删除分区“(或者”删除逻辑磁盘“)即可。然后那部分空间会变成自由空间。
3. 在自由空间上右键单击,选择”创建分区“,在分区类型中选择”主分区(Primary Partition)“,不必勾选格式化选项,反正安装PCBSD的时候会格式化。

至此,空间准备的操作就已经完成,可以进行PCBSD的装了。

第三步:安装PCBSD
详细的安装步骤请参考“PCBSD安装”中的另一篇文章。这里只提一下安装过程中需要注意的一个地方。

在选择安装介质的时候,请不要勾选“使用整个磁盘”的选项,否则会将整个磁盘格式化,导致数据丢失,你的XP系统也无法使用。你需要点击从而选中原来删除的那个分区(在第二步中腾出来的那部分空间),如下图。(图片被编辑过)
http://www.mediamax.com/auctionweb/Hosted/gfd.gif

第四步:安装完成。
PCBSD的安装完成后,直接重启,应该就可以看到启动选择菜单了。系统会自动分配F2给原来的XP系统,并以DOS来显示。现在你就可以通过F1或者F2来选择系统进行启动了。

Enjoy!

PCBSD下如何安装软件

PCBSD下的软件是通过.PBI格式发布的,安装和在Windows下一样,安装时有图形界面的向导,你只需接受协议,然后点击“下一步”就行了。所以软件安装的关键就在于如何找到/得到你想要的PBI文件。

想要浏览/查找pbi格式的软件,到www.pbidir.com网站,那里是PCBSD的官方软件发布站点,汇集了所有开发好的以及正在开发中的PBI软件;同时你也可以查看一个PBI的wishlist,并且把自己希望但目前并没有的软件添加到wishlist中,或许某个developer会感兴趣也不一定。

另外,由于一些授权协议方面的原因,一些软件的PBI包从官方的站点上删除了,但是你可以在这个站点找到:www.pbis.in. 请注意自己是否有相应的授权。

另外,如果你对PBI很有兴趣的话,可以尝试自己创建一个PBI软件。这里有一篇英文的教程,出自Dru Lavigne教你如何利用已有的FreeBSD软件包和PCBSD提供的PBI Creator程序来创建自己的PBI软件。

Building Binary PC-BSD Packages

*PCBSD是FreeBSD的一个小的变体,但他们的内核基本是相同的,所以FreeBSD的软件包都可以用在PCBSD上的,只是要在命令行下安装。

Monday, May 14, 2007

PCBSD FAQ (不定期更新)

Q. 可以自定义PCBSD的安装软件包吗?
A. 不可以。默认情况下PCBSD是作为一个完整的安装包来安装的。你可以在安装完成后使用pkg_delete命令来删除一些你不想要的软件。但是不建议这样做,因为你很可能把KDE桌面环境搞坏掉。

Q. 我的电脑上已经安装了Windows系统,安装PCBSD会影响我的程序和数据吗?如何才能保留原来的数据?
A. 如果你的硬盘上还有剩余空间(未分区的空间,free space,不是某个分区未用完剩下的空间),那就不要把PCBSD安装到Windows分区上,否则你原来的数据丢失。

Q. PCBSD和FreeBSD的区别是什么?
A. 见下表:


PC-BSD FreeBSD
默认桌面环境
KDE 无 (用户需自行安装)
应用程序安装 PBIs (就像Windows), Ports, Packages Ports, Packages
64 位架构
兼容 内核级支持(Native)
支持平台 x86 (包括 Pentium® 和 Athlon™) x86 (包括 Pentium® 和 Athlon™), amd64 compatible (包括 Opteron™, Athlon™64, 和 EM64T), UltraSPARC®, IA-64, PC-98 以及 ARM 架构
应用程序集成 一般
系统安装 PC-BSD 系统安装向导
sysinstall (基于文本的安装工具)
Linux 兼容性 可选 可选
内核 FreeBSD FreeBSD
最小安装要求 i686 CPU, 128MB 内存 和 4GB 硬盘空间 非常小
对称多处理器 优化 可选
目标群体 桌面 (也可兼作服务器
服务器

Q. 如果我忘记了root帐号的密码怎么办?
A. 在系统启动出现倒计时后按空格键停止计时(也可以直接按6,如果你足够快的话),然后按6,出现提示符,输入 "boot -s",进入单用户模式,出现#符后,运行 "/sbin/mount -a" 命令,然后"passwd root",即可重设root的密码。完成后reboot,重新启动。

补充一下:在PCBSD1.3里,在启动选择菜单里直接选择4即可进入单用户模式。进去以后直接运行mount -a命令,然后即可passwd root来修改root的密码。

Q. PCBSD 下如何进行中文输入?
A. 请参考此连接: http://pcbsd.bokee.com/tb.b?diaryId=15269431

Q。如何让英文的PCBSD系统正确显示中文字符?
A。 首先,需要添加简繁体中文支持程序。通过pkg_add程序添加zh_CN-kde-i18n-3.5.5.tbz和zh_TW-kde-i18n- 3.5.5.tbz两个程序包.它们都在PCBSD第二张ISO的LANG文件夹下;第二,再通过Settings >> regional & accessibility >> country & language程序来添加中文语言支持;第三,修改你自己的home文件夹下的.profile文件,将其中的LANG=和LC_CTYPE=设置为 zh_CN.UTF8.
另外,关于系统和语言以及LOCALE的关系,chinaunix.net上有一篇比较好的文章可以参考,虽然这个问题并无直接的联系.URL: http://linux.chinaunix.net/bbs/viewthread.php?tid=894403&extra=page%3D1

Q。为什么将LC_TYPE设置为中文编码以后FIREFOX的菜单栏字体会变化,模糊?
A.在"开始>>设置>>控制中心>>外观与主题>>GTK字体与风格"中 选中"在GTK应用程序中使用我的KDE字体",保存,重新登录即可.

Tuesday, May 08, 2007

PCBSD安装新手指南

如果你准备将PCBSD安装到你的机子上,请先下载ISO文件,然后刻录成光盘进行安装。

如果你想使用VMware Workstation进行虚拟机下的安装,只需下载ISO文件即可。安装中文版需要两张ISO,英文版的话一张即可。

我的测试是在虚拟机下进行,物理安装时大同小异。

1. 装好光盘,启动机器




2. PCBSD启动、自检


3. 来到安装界面。选择图形化安装



4. 下一项,选择安装时的系统语言。
默认是英语,你可以选择简体中文
第二选项时键盘的格式,保持默认即可。
第三个是时区设置,在下拉菜单下选择Asia/Shanghai (亚洲/上海)



5. 这一步选择安装类型。我们选择“Fresh install”,全新安装。




6. 系统类型选择,选择“workstation/Laptop”,工作站/笔记本类型




7. License,勾选“I Agree”



8. 添加管理员账户(root),设置密码。第二个是添加一个普通账户,并设置密码。这里的Shell选项是设定你以后使用的命令行工具,如果你对这个 BSD/Linux下的命令行不熟悉的话,选择sh/bash好了,因为这个比较常见,资料也比较多。但对于BSD家族来讲,SH则是最常见的。这里我选 择了SH。




9. 下一步,选择安装设备,即硬盘。这里默认是单系统安装,所以选择了“Use entire disk”,使用全部硬盘。注意,选择了这一项的话,安装时会格式化硬盘,导致数据丢失,要当心!
同时也要选择下面一个:“Install PCBSD bootloader”,安装pcbsd的启动程序。



10. 接下来,系统就会自动分区并进行安装,重启后PCBSD就算安装成功了。


安装进行中.....


安装完成


重启后PCBSD的缺省界面(使用的是非root账户登陆)

FCITX -- PCBSD下的中文输入

经过一天的努力,总算是把这个东西搞定了。今天可以 在 PCBSD下写这篇日志了。这里简要说一下大概的过程 :

1. 程序名称 fcitx。你可以去www.fcitx.org上下载 ,目前最新版本为 3.4.2
2. 功能: 中文输入
3. 下载后 用tar -zxfv 解压,然后编译运行./configure
4. 如果编译过程中遇到 类似“undefined reference to libiconv”的错误,那么在congiure时加入选项 --libdir=/usr/local/lib,或者指定你自己的 libiconv。so的路径

5. 然后 make && make install && make clean
6. 完成后,修改自己的home目录下的 .profile文件,加入下面几行:(这里我用的是SH shell,其他shell的语法可能有所不同)

LANG=zh_CN.Gb2312
export LANG
LC_CTYPE=zh_CN.Gb2312
export LC_CTYPE
LC_COLLATE=POSIX
export LC_COLLATE
GTK_IM_MODULE=xim
export GTK_IM_xim
XMOIFIERS="@im=fcitx"
export XMODIFIERS

完成后保存、推出。重新登录即可。

要进行中文输入时,首先运行fcitx,按ctrl+空格 切换到中文输入状态。

要了解它的用法,请到它的网站下载相关说明。源码包中也有说明

有问题请留言,谢谢 !

(用下来感觉不错~~)

PCBSD下字体美化

默认安装下,PCBSD的字体显示效果很差,尤其是中文环境下。
但要改变却也很容易。先看一下效果图:


点此看大图:http://pcbsd.bokee.com/photo/view.fcgi?id=6141676&mode=4&mode=3

下面是字体设置的一些关键步骤:
1. 下载字体
到http://fundawang.lcuc.org.cn/wqy/下载文泉译点阵字体源码包,一搬是一个.tar.gz结尾的文件。
(如果你看到这篇文章不是太晚,可以试试:http://fundawang.lcuc.org.cn/wqy/wqy-bitmapfont-bdf-all-nightly_build.tar.gz)
2. 解压,运行 tar -zxvf wqy-bitmapfont-bdf-all-nightly_build.tar.gz
3. 在“开始 > 设置 > 系统管理”中找到字体安装程序,将解压出的字体安装
另外,你也可以把windows下的字体文件也拷贝过来,进行安装。
4. 在“开始 > 设置 > 外观与主题”中选择字体,然后逐一设置即可
5. 题外话:我使用的是FireFox2.0版,用它来看中文网站的话,需要再设置一下(编辑 〉选项 > 内容),在高级选项中禁止网页自己选择字体即可。

如果你设置时遇到什么问题,请留言。谢谢!

PCBSD Tips之TCPDUMP

TCPDUMP 是BSD以及其他UNIX上的一个功能强大的抓包工具。 和SNIFFER或者Etheral比起来,它的功能并不逊色,只是界面远不如前两者那么友好。但他的优点在于无处不在:shipped with Operating System。

在使用TCPDUMP时需要root权限,另外一点就是需要Kernel中启用的bpf(默认已经启用)。

开始抓包之前,请先使用ifconfig -a 确认机器的网络接口,比如ed0,rl0 等等。

tcpdump -i ed0

开始在ed0接口上进行抓包。-i 用于指定网络接口。期间按下Ctrl+t可以查看抓获的数据包的数量,Ctrl+c停止。

tcpdump -w dumpfilename -i ed0,将输出重定向到dumpfilename文件中。

上面得到的文件是不能使用普通的编辑器察看的,只有tcpdump自己或者其它类似的抓包工具可以查看。

tcpdump -r dumpfilename | more,此命令查看捕获的数据包文件

如果只想抓某一类型的包,可使用:

tcpdump -i ed0 broadcast
tcpdump -i ed0 ARP
tcpdump -i ed0 ICMP

捕捉某两台特定的主机之间的数据:

tcpdump -i ed0 host SRV1 and SRV2
tcpdump -i ed0 src host SRV1 and dst host SRV2

tcpdump -i ed0 udp port 25

tcpdump本身对带有很多关键字,比如 ‘and’,‘or’,‘not’等等,使用这些Key words可以构建很多自定义的抓包过滤器,比如

tcpdump -i ed0 net 192.168.1.0 and not arp

(文章出自BSD Hacks by Dru Lavigine)