<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PHP Stone &#187; Note</title>
	<atom:link href="http://phpstone.com/tag/note/feed/" rel="self" type="application/rss+xml" />
	<link>http://phpstone.com</link>
	<description>——从石头向宝石进化</description>
	<lastBuildDate>Thu, 05 Aug 2010 14:04:07 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>网络设备故障拾遗</title>
		<link>http://phpstone.com/network-equipment-failure-to-add/</link>
		<comments>http://phpstone.com/network-equipment-failure-to-add/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 07:57:53 +0000</pubDate>
		<dc:creator>frePerl</dc:creator>
				<category><![CDATA[网络管理]]></category>
		<category><![CDATA[Note]]></category>

		<guid isPermaLink="false">http://phpstone.com/?p=371</guid>
		<description><![CDATA[最近碰上一个交换机坏掉和一个路由器坏掉，可是折腾了我一把，把处理过程记录一下。
先是部分电脑连接到打印服务器打印时整个office文档程序死掉，检查发现这些客户端无法通过网络正常连接到打印服务器，原本以为是网线之类的问题，但是发现这些电脑的IM工具、Web应用也正常，然后ping测试到打印服务器也没有丢包现象。由于打印服务器接在一台交换机上，于是将其直连到路由器的端口，部分客户端的打印问题解决了，但是还有一部分故障依旧。将故障客户网络端口换到其他交换机，于是故障得到解决，从而断定交换机故障，替换交换机后恢复正常。
还没有过多久，路由器又出了状况。首先是公司网络异常，主要是连接外网的网络应用均异常，ping 本市的电信数据中心（61.150.4.238）丢包，开始还以为是外部光纤问题，将笔记本直连到光猫测试，检查无异后，检查内部网络ping路由地址也丢包，从而猜测路由器故障。尝试重启路由器几次未果。联系路由器厂商并说明现象后建议尝试更改网卡属性为10M半双工，进行ping路由器测试，出现正常后将路由所以局域网端口和广域网端口全部改为10M半双工，网络连接开始正常。
而后联系厂家发送备用路由，原路由返回修理。
后记：网络故障的排除需要耐心细致的检查和有条理的分析，另外需要一点点扎实的网络基础。到面对实际问题，会发现自己要学的其实还很多。
]]></description>
			<content:encoded><![CDATA[<p>最近碰上一个交换机坏掉和一个路由器坏掉，可是折腾了我一把，把处理过程记录一下。</p>
<p>先是部分电脑连接到打印服务器打印时整个office文档程序死掉，检查发现这些客户端无法通过网络正常连接到打印服务器，原本以为是网线之类的问题，但是发现这些电脑的IM工具、Web应用也正常，然后ping测试到打印服务器也没有丢包现象。由于打印服务器接在一台交换机上，于是将其直连到路由器的端口，部分客户端的打印问题解决了，但是还有一部分故障依旧。将故障客户网络端口换到其他交换机，于是故障得到解决，从而断定交换机故障，替换交换机后恢复正常。</p>
<p>还没有过多久，路由器又出了状况。首先是公司网络异常，主要是连接外网的网络应用均异常，ping 本市的电信数据中心（61.150.4.238）丢包，开始还以为是外部光纤问题，将笔记本直连到光猫测试，检查无异后，检查内部网络ping路由地址也丢包，从而猜测路由器故障。尝试重启路由器几次未果。联系路由器厂商并说明现象后建议尝试更改网卡属性为10M半双工，进行ping路由器测试，出现正常后将路由所以局域网端口和广域网端口全部改为10M半双工，网络连接开始正常。</p>
<p>而后联系厂家发送备用路由，原路由返回修理。</p>
<p>后记：网络故障的排除需要耐心细致的检查和有条理的分析，另外需要一点点扎实的网络基础。到面对实际问题，会发现自己要学的其实还很多。</p>
]]></content:encoded>
			<wfw:commentRss>http://phpstone.com/network-equipment-failure-to-add/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD 次版本升级笔记</title>
		<link>http://phpstone.com/freebsd-minor-version-upgrades-note/</link>
		<comments>http://phpstone.com/freebsd-minor-version-upgrades-note/#comments</comments>
		<pubDate>Sat, 22 Aug 2009 08:44:45 +0000</pubDate>
		<dc:creator>frePerl</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Note]]></category>

		<guid isPermaLink="false">http://phpstone.com/?p=369</guid>
		<description><![CDATA[由于学习的需求，我在一台FreeBSD服务器上做着各种的尝试。之前FreeBSD的版本升级都需要重新编译内核源代码，那是一个我认为并不繁琐而且很有乐趣的过程，但是最大的缺陷在于最终的更新文件需要跑到机房在服务器连接的显示器跟前进行，无法通过SSH远程来完成。自从有了freebsd-update这个实用的工具之后，我就可以在自己的电脑跟前完成这些操作了。
FreeBSD最新的手册（适用于6.4-RELEASE 和 FreeBSD 7.2-RELEASE）第24章 更新与升级 FreeBSD，已经给出了关于使用freebsd-update进行升级的指导。
记得 7.0-RELEASE 刚发布时，官方的文档说明了freebsd-update不适用于修改过内核的系统升级，这台服务器的系统是从6.1-RELEASE一路编译升级到7.0-RELEASE，修改过内核，为了使用freebsd-update工具，我又使用GENERIC（默认）内核重新编译了一次系统，从7.0-RELEASE开始的安全更新全部是使用的freebsd-update工具进行。7.1-RELEASE发布时，我也尝试过”#freebsd-update -r 7.1-RELEASE upgrade“,一直是到fetch第二部分文件时失败，一直没有找到原因。到09年8月份，我试着再次更新。
我更喜欢用portsnap来更新ports，并且设定好了root用户cron：
0       2       *       *       *       portsnap -I cron update &#038;&#038; pkg_version &#8211; vIL=
每两小时更新一次，但操作升级系统前我还是执行了一次：
#portsnap fetch update
接着执行系统的更新：
#freebsd-update- [...]]]></description>
			<content:encoded><![CDATA[<p>由于学习的需求，我在一台FreeBSD服务器上做着各种的尝试。之前FreeBSD的版本升级都需要重新编译内核源代码，那是一个我认为并不繁琐而且很有乐趣的过程，但是最大的缺陷在于最终的更新文件需要跑到机房在服务器连接的显示器跟前进行，无法通过SSH远程来完成。自从有了freebsd-update这个实用的工具之后，我就可以在自己的电脑跟前完成这些操作了。</p>
<p>FreeBSD最新的手册（适用于6.4-RELEASE 和 FreeBSD 7.2-RELEASE）第24章 更新与升级 FreeBSD，已经给出了关于使用freebsd-update进行升级的指导。<span id="more-369"></span></p>
<p>记得 7.0-RELEASE 刚发布时，官方的文档说明了freebsd-update不适用于修改过内核的系统升级，这台服务器的系统是从6.1-RELEASE一路编译升级到7.0-RELEASE，修改过内核，为了使用freebsd-update工具，我又使用GENERIC（默认）内核重新编译了一次系统，从7.0-RELEASE开始的安全更新全部是使用的freebsd-update工具进行。7.1-RELEASE发布时，我也尝试过”#freebsd-update -r 7.1-RELEASE upgrade“,一直是到fetch第二部分文件时失败，一直没有找到原因。到09年8月份，我试着再次更新。</p>
<p>我更喜欢用portsnap来更新ports，并且设定好了root用户cron：</p>
<p>0       2       *       *       *       portsnap -I cron update &#038;&#038; pkg_version &#8211; vIL=</p>
<p>每两小时更新一次，但操作升级系统前我还是执行了一次：<br />
#portsnap fetch update</p>
<p>接着执行系统的更新：<br />
#freebsd-update- r 7.2-RELEASE upgrade</p>
<p>对于定制过内核的系统，会收到类似下面的警告：</p>
<blockquote><p>WARNING: This system is running a &#8220;MYKERNEL&#8221; kernel, which is not a<br />
kernel configuration distributed as part of FreeBSD 7.0-RELEASE.<br />
This kernel will not be updated: you MUST update the kernel manually<br />
before running &#8220;/usr/sbin/freebsd-update install&#8221;</p></blockquote>
<p>看来我当初做的使用默认内核重新编译系统内核并没有成功地让系统”认为“我使用的是默认内核。<br />
暂时安全地无视这个警告。 更新的 GENERIC 内核将在升级过程的中间步骤中使用。</p>
<p>在下载完针对本地系统的补丁之后， 这些补丁会被应用到系统上。这个过程需要消耗的时间取决于机器的速度和其负载。这个过程中将会对配置文件所做的变动进行合并 ── 这一部分需要用户的参与，文件可能会自动合并， 屏幕上也可能会给出一个编辑器， 用于手工完成合并操作。在处理过程中，合并成功的结果会显示给用户。 失败或被忽略的合并， 则会导致这一过程的终止。 </p>
<p>The following file could not be merged automatically: /etc/mail/freebsd.cf<br />
Press Enter to edit this file in vi and resolve the conflicts<br />
manually&#8230;</p>
<p>看到这个消息后直接进入了vi编辑器，我并不知道要如何修改这些文件，于是直接保存退出了。</p>
<p>一旦这个步骤完成后，使用如下的命令将升级后的文件安装到磁盘上。<br />
# freebsd-update install</p>
<p>内核和内核模块会首先被打上补丁。 此时必须重新启动计算机。如果您使用的是定制的内核， 请使用 nextboot 命令来将下一次用于引导系统的内核 /boot/GENERIC (它会被更新)：<br />
# nextboot -k GENERIC</p>
<p>警告: 在使用 GENERIC 内核启动之前，请确信它包含了用于引导系统所需的全部驱动程序 (如果您是在远程进行升级操作，还应确信网卡驱动也是存在的)。 特别要注意的情形是，如果之前的内核中静态联编了通常以内核模块形式存在的驱动程序， 一定要通过 /boot/loader.conf 机制来将这些模块加载到 GENERIC 内核的基础上。 此外， 您可能也希望临时取消不重要的服务、磁盘和网络挂载等等， 直到升级过程完成为止。</p>
<p>现在可以用更新后的内核引导系统了：<br />
# shutdown -r now</p>
<p>　　在系统重新上线后，需要再次运行 freebsd-update。升级的状态被保存着，这样 freebsd-update 就无需重头开始，但是会删除所有旧的共享库和目标文件。 执行如下命令继续这个阶段的升级：<br />
# freebsd-update install</p>
<p>对于次版本升级，如7.0-RELEASE升级到7.2-RELEASE，是不需要重新编译和安装第三方软件。但我出于试验的目的，还是进行了更新：</p>
<p># portupgrade -f ruby<br />
# rm /var/db/pkg/pkgdb.db<br />
# portupgrade -f ruby18-bdb<br />
# rm /var/db/pkg/pkgdb.db /usr/ports/INDEX-*.db<br />
# portupgrade -af</p>
<p>此过程不可以中断，但是我之前也没有安装screen程序，执行”nohup portupgrade -af &#038;“下班，回家后查看并无法用jobs调出，已经终止了程序，不知道是什么原因。只好再次执行”portupgrade -af“。</p>
<p>　一旦这个完成了以后，再最后一次运行 freebsd-update 来结束升级过程。<br />
# freebsd-update install</p>
<p>　”如果您临时用过 GENERIC 内核来引导系统，现在是按照通常的方法重新联编并安装新的定制内核的时候了。“</p>
<p>由于手册上没有详细说明定制内核该如何安装，因此我按手册的操作步骤来执行。</p>
<p>”重新启动机器进入新版本的 FreeBSD 升级过程至此就完成了。“</p>
<p>重启后发发现版本号还是 FreeBSD 7.0-RELEASE p7。无奈之余我从”freebsd-update -r 7.2-RELEASE upgrade“开始重新执行了一次，到”# nextboot -k GENERIC“的步骤直接使用”shutdown -r now“重启服务器，接着执行下面的步骤，这才得到了下面的结果：</p>
<p>> uname -a<br />
FreeBSD stone.com 7.2-RELEASE-p2 FreeBSD 7.2-RELEASE-p2 #0: Wed Jun 24 00:57:44 UTC 2009     root@i386-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  i386</p>
]]></content:encoded>
			<wfw:commentRss>http://phpstone.com/freebsd-minor-version-upgrades-note/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
