<?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>Akii Snow &#187; FreeBSD</title>
	<atom:link href="http://www.akii.org/category/freebsd/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.akii.org</link>
	<description>Happiness is Grasp now!</description>
	<lastBuildDate>Sun, 07 Mar 2010 14:56:43 +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>FreeBSD nginx+php+mysql+zend+phpmyadmin+优化 ports安装法</title>
		<link>http://www.akii.org/2010-03/freebsd-nginx-php-mysql-zend-phpmyadmin-optimized-ports-installation-method/</link>
		<comments>http://www.akii.org/2010-03/freebsd-nginx-php-mysql-zend-phpmyadmin-optimized-ports-installation-method/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 10:40:05 +0000</pubDate>
		<dc:creator>snow</dc:creator>
				<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://www.akii.org/2010-03/freebsd-nginx-php-mysql-zend-phpmyadmin-optimized-ports-installation-method/</guid>
		<description><![CDATA[前言
1. 看了张宴的《linux版本的Nginx 0.5.33 + PHP 5.2.5》后，马上找了一台服务器测试了一下，然后加了一个线上的discuz的论坛跑了一下，性能非常的卓越，感叹搜遍整个互联网，就是 nginx+php唯一的一篇文档。对于他的文档，我认为：写的非常专业，对于php extensions库也分析的非常透彻。但是一篇专业的文档，也存在一些专业带来的麻烦，就是起点有点高，假如要更新里面的软件包和定义自己的目录，势必需要一点波折。另外不知道为何，最近网站老是打不开。情急之下，小弟重新写了一篇freebsd下面的傻瓜式安装文档。
2. 又结合了平时的一些经验，顺便把如何防卸ddos，并通过对系统的优化，如何来进一步提高nginx的并发数做 一些详解。
3. 由于个人能力有限，错误的地方，还请读者谅解
一、安装软件前的准备
系统的安装：插入freebsd6.2以上的光盘，最小化安装系统，同时安装好ports
二、手动安装nginx+php
1) 进入系统后，准备cvs更新：
1. cd /usr/ports/net/cvsup-without-gui
2. cp /usr/share/examples/cvsup/ports-supfile /etc/ports-supfile
3. # vi /etc/ports-supfile
将其中的#*default host=CHANGE_THIS.FreeBSD.org一行改为
*default host=cvsup4.FreeBSDchina.org
4. 更新ports
/usr/local/bin/cvsup -g -L 2 /etc/ports-supfile
 2) 安装mysql
#cd /usr/ports/databases/mysql51-server
#make WITH_CHARSET=gbk WITH_XCHARSET=all WITH_PROC_SCOPE_PTH=yes BUILD_OPTIMIZED=yes BUILD_STATIC=yes SKIP_DNS_CHECK=yes WITHOUT_INNODB=yes install clean
#cp /usr/local/share/mysql/my-large.cnf /usr/local/etc/my.cnf ##mysql的优化参数，也可以手动修改
#rehash
# mysql_install_db –user=mysql ##初始化mysql
#/usr/local/bin/mysqld_safe &#38; ##启动mysql
#/usr/local/bin/mysqladmin -u root password ‘newpass’ ##修改root密码，newpass是你需要改的密码
关闭mysql可以使用mysqladmin -uroot -p shutdown
3) [...]]]></description>
			<content:encoded><![CDATA[<p>前言<br />
1. 看了张宴的《linux版本的Nginx 0.5.33 + PHP 5.2.5》后，马上找了一台服务器测试了一下，然后加了一个线上的discuz的论坛跑了一下，性能非常的卓越，感叹搜遍整个互联网，就是 nginx+php唯一的一篇文档。对于他的文档，我认为：写的非常专业，对于php extensions库也分析的非常透彻。但是一篇专业的文档，也存在一些专业带来的麻烦，就是起点有点高，假如要更新里面的软件包和定义自己的目录，势必需要一点波折。另外不知道为何，最近网站老是打不开。情急之下，小弟重新写了一篇freebsd下面的傻瓜式安装文档。<br />
2. 又结合了平时的一些经验，顺便把如何防卸ddos，并通过对系统的优化，如何来进一步提高nginx的并发数做 一些详解。<br />
3. 由于个人能力有限，错误的地方，还请读者谅解</p>
<p>一、安装软件前的准备<br />
系统的安装：插入freebsd6.2以上的光盘，最小化安装系统，同时安装好ports<br />
二、手动安装nginx+php<br />
1) 进入系统后，准备cvs更新：<br />
1. cd /usr/ports/net/cvsup-without-gui<br />
2. cp /usr/share/examples/cvsup/ports-supfile /etc/ports-supfile<br />
3. # vi /etc/ports-supfile<br />
将其中的#*default host=CHANGE_THIS.FreeBSD.org一行改为<br />
*default host=cvsup4.FreeBSDchina.org<br />
4. 更新ports<br />
/usr/local/bin/cvsup -g -L 2 /etc/ports-supfile<br />
<span id="more-1177"></span> 2) 安装mysql<br />
#cd /usr/ports/databases/mysql51-server<br />
#make WITH_CHARSET=gbk WITH_XCHARSET=all WITH_PROC_SCOPE_PTH=yes BUILD_OPTIMIZED=yes BUILD_STATIC=yes SKIP_DNS_CHECK=yes WITHOUT_INNODB=yes install clean<br />
#cp /usr/local/share/mysql/my-large.cnf /usr/local/etc/my.cnf ##mysql的优化参数，也可以手动修改<br />
#rehash<br />
# mysql_install_db –user=mysql ##初始化mysql<br />
#/usr/local/bin/mysqld_safe &amp; ##启动mysql<br />
#/usr/local/bin/mysqladmin -u root password ‘newpass’ ##修改root密码，newpass是你需要改的密码<br />
关闭mysql可以使用mysqladmin -uroot -p shutdown<br />
3) 安装php<br />
#cd /usr/ports/lang/php5<br />
#make config ##配置编译参数<br />
[X] CLI Build CLI version<br />
[X] CGI Build CGI version<br />
[ ] APACHE Build Apache module<br />
[ ] DEBUG Enable debug<br />
[X]] SUHOSIN Enable Suhosin protection system<br />
[X] MULTIBYTE Enable zend multibyte support<br />
[ ] IPV6 Enable ipv6 support<br />
[ ] REDIRECT Enable force-cgi-redirect support (CGI only)<br />
[ ] DISCARD Enable discard-path support (CGI only)<br />
[X] FASTCGI Enable fastcgi support (CGI only)<br />
[X] PATHINFO Enable path-info-check support (CGI only)<br />
#make install clean<br />
# cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini ##cp php.ini配置文件<br />
4) 安装php5-extensions<br />
# cd /usr/ports/lang/php5-extensions/<br />
#make config<br />
Options for php5-extensions 1.1<br />
————————————————-<br />
[X] CURL CURL support<br />
[X] FTP FTP support<br />
[X] GD<br />
[X] GETTEXT<br />
[X] MBSTRING multibyte string support<br />
[X] MCRYPT Encryption support<br />
[X] MYSQL<br />
[X] PCRE Perl Compatible Regular Expression support<br />
[ ] POSIX //去掉.<br />
[ ] SQLITE //去掉.<br />
[X] ZIP ZIP support<br />
[X] ZLIB<br />
# make install clean<br />
5) 安装Zend Optimizer<br />
#cd /usr/ports/devel/ZendOptimizer/<br />
#make #不要安装，只需要下载解包<br />
#cd /usr/ports/devel/ZendOptimizer/work/ZendOptimizer-*<br />
#./install-tty ##会出现一个文字的安装界面，只是最后一步，不要选择apache就可以了<br />
#vi /usr/local/etc/php.ini #插入zend的路径，一般来说，上面的安装会自动加入下面的文字，假如没有，请手动添加。</p>
<p>[Zend]<br />
zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.3.0<br />
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.3.0<br />
zend_optimizer.version=3.3.0a<br />
zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so<br />
zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so</p>
<p>小提示：安装zend，在freebsd下面，目前只有支持到 php5.1.x，对于php5.2.x还不能支持，因为zend还没有为php5.2.x开发版本，在网上查了好多关于解决此类的问题，但得到的结果是，zend可以顺利安装，phpinfo也显示zend正常了，但程序无法调用，即zend没有工作，也就是目前无法解决，我想只有等到zend php5.2.x的版本后，才可以解决此问题，也希望哪位已经解决此类问题的兄弟，share一下你的经验。假如你非要使用zend，那就请你将php降到5.1.x，或者你不当心已经升级了ports，那建议你可以安装php4.x，毕竟目前php4.x还通用于大部分的环境<br />
6) 安装nginx<br />
#cd /usr/ports/www/nginx/<br />
#make install<br />
7) 安装lighttpd，为了得到fastcgi<br />
# cd /usr/ports/www/lighttpd/<br />
#make install<br />
#rehash<br />
 <img src='http://www.akii.org/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> 配置nginx<br />
#user nobody<br />
删除前面的注释#，改成 user www<br />
#log_format main ‘$remote_addr – $remote_user [$time_local] ‘<br />
# ‘”$request” $status $body_bytes_sent ‘<br />
# ‘”$http_referer” “$http_user_agent”‘;<br />
log_format main ‘$remote_addr – $remote_user [$time_local] ‘<br />
‘”$request” $status $body_bytes_sent ‘<br />
‘”$http_referer” “$http_user_agent”‘;<br />
##以上步骤，为了能够正常分析log的pv，hits，访问量，才设定的，默认的log格式，是无法准确分析出所需要的结果</p>
<p>location / {<br />
root /usr/local/www/nginx;<br />
index index.html index.htm;<br />
}<br />
在index.html前面添加一个index.php<br />
location / {<br />
root /data/web/www.jk0086.com/htdocs;<br />
index index.php index.html index.htm;<br />
}<br />
#location ~ \.php$ {<br />
# fastcgi_pass 127.0.0.1:9000;<br />
# fastcgi_index index.php;<br />
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script.name;<br />
# include fastcgi_params;<br />
#}<br />
将前面的#去掉，修改为<br />
location ~ \.php$ {<br />
fastcgi_pass 127.0.0.1:9000;<br />
fastcgi_index index.php;<br />
fastcgi_param SCRIPT_FILENAME /usr/local/etc/nginx$fastcgi_script.name;<br />
include fastcgi_params;<br />
}<br />
##去掉注释，其实就是激活了nginx的fastcgi功能，也说明了nginx本身就已经准备用于fastcgi的环境中</p>
<p>9) 配置spawn-fcgi，就是一个启动fastcgi命令，使得nginx可以通过9000端口访问（纯粹个人理解-_-）<br />
参数说明：监听127.0.0.1的9000端口，进程数为64（如果服务器内存小于3GB，可以只开启25个进程），用户为www<br />
/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www -g www -C 64 -f /usr/local/bin/php-cgi<br />
10) 这边请注意启动顺序，先启动fastcgi，再启动nginx<br />
Nginx.conf由于经常需要修改，即经常需要重启nginx，因此这边写了一个启动脚本，请查看：<br />
#!/usr/local/bin/bash<br />
case $1 in<br />
start)<br />
/usr/local/sbin/nginx<br />
;;<br />
stop)<br />
killall -9 nginx<br />
;;<br />
test)<br />
nginx -t -c /usr/local/etc/nginx/nginx.conf<br />
;;<br />
restart)<br />
ps auxww | grep nginx | grep master | awk ‘{print $2}’ | xargs kill -HUP<br />
;;<br />
show)<br />
ps -aux|grep nginx<br />
;;<br />
esac<br />
保存为nginx.sh使用方法为：<br />
nginx.sh start #启动nginx<br />
nginx.sh stop #停止nginx<br />
nginx.sh restart #重启nginx<br />
nginx.sh test #测试nginx.conf的准确性<br />
11) 安装phpMyAdmin<br />
#cd /usr/ports/databases/phpmyadmin<br />
#make install<br />
#mv /usr/local/www/phpmyadmin /data/web/ www.jk0086.com/htdocs/<br />
#cd /data/web/www.jk0086.com/htdocs/phpmyadmin<br />
#vi config.inc.php ##这边要说明一下，freebsd默认安装的phpmyadmin，里面配置文件有问题，需要手动修改，请修改成如下内容：</p>
<p>/* $Id: config.sample.inc.php 9689 2006-11-10 20:05:49Z nijel $ */</p>
<p>// vim: expandtab sw=4 ts=4 sts=4:</p>
<p>/**</p>
<p>* phpMyAdmin sample configuration, you can use it as base for</p>
<p>* manual configuration. For easier setup you can use scripts/setup.php</p>
<p>*</p>
<p>* All directives are explained in Documentation.html and on phpMyAdmin</p>
<p>* wiki .</p>
<p>*/</p>
<p>/*</p>
<p>* This is needed for cookie based authentication to encrypt password in</p>
<p>* cookie</p>
<p>*/</p>
<p>$cfg['blowfish_secret'] = ‘asdf:LKJ’; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */</p>
<p>/*</p>
<p>* Servers configuration</p>
<p>*/</p>
<p>$i = 0;</p>
<p>/*</p>
<p>* First server</p>
<p>*/</p>
<p>$i++;</p>
<p>/* Authentication type */</p>
<p>$cfg['Servers'][$i]['auth_type'] = ‘cookie’;</p>
<p>/* Server parameters */</p>
<p>$cfg['Servers'][$i]['host'] = ‘localhost’;</p>
<p>$cfg['Servers'][$i]['connect_type'] = ‘tcp’;</p>
<p>$cfg['Servers'][$i]['compress'] = false;</p>
<p>/* Select mysqli if your server has it */</p>
<p>$cfg['Servers'][$i]['extension'] = ‘mysql’;</p>
<p>/* User for advanced features */</p>
<p>// $cfg['Servers'][$i]['controluser'] = ‘pam’;</p>
<p>// $cfg['Servers'][$i]['controlpass'] = ‘pampasswd’;</p>
<p>/* Advanced phpMyAdmin features */</p>
<p>// $cfg['Servers'][$i]['pmadb'] = ‘phpmyadmin’;</p>
<p>// $cfg['Servers'][$i]['bookmarktable'] = ‘pma_bookmark’;</p>
<p>// $cfg['Servers'][$i]['relation'] = ‘pma_relation’;</p>
<p>// $cfg['Servers'][$i]['table_info'] = ‘pma_table_info’;</p>
<p>// $cfg['Servers'][$i]['table_coords'] = ‘pma_table_coords’;</p>
<p>// $cfg['Servers'][$i]['pdf_pages'] = ‘pma_pdf_pages’;</p>
<p>// $cfg['Servers'][$i]['column_info'] = ‘pma_column_info’;</p>
<p>// $cfg['Servers'][$i]['history'] = ‘pma_history’;</p>
<p>// $cfg['Servers'][$i]['designer_coords'] = ‘pma_designer_coords’;</p>
<p>/*</p>
<p>* End of servers configuration</p>
<p>*/</p>
<p>/*</p>
<p>* Directories for saving/loading files from server</p>
<p>*/</p>
<p>$cfg['UploadDir'] = ”;</p>
<p>$cfg['SaveDir'] = ”;</p>
<p>?&gt;</p>
<p>以上只是一个配置文件，当你打开Phpmyadmin的时候，会提示你输入用户名密码，然后登陆数据库，相对比较安全的</p>
<p>三、系统优化+防止ddos<br />
1) 这个话题有点大，我相信我做的只是其中很小的一部分，同时很多人也会问我，是不是要编译内核，这边的回答是不需要编译任何内核，只需要copy文件，然后重启一下服务器就可以了。<br />
2) 加载文件修改<br />
# vi /boot/loader.conf #加入如下文本<br />
kern.dfldsiz=”2147483648″ # Set the initial data size limit<br />
kern.maxdsiz=”2147483648″ # Set the max data size<br />
kern.ipc.nmbclusters=”0″ # Set the number of mbuf clusters<br />
kern.ipc.nsfbufs=”66560″ # Set the number of sendfile(2) bufs<br />
##解释：<br />
a． 第一，第二行主要是为了突破1G内存设置的<br />
b． 第三行其实是bsd的一个bug，当系统并发达到一个数量级的时候，系统会crash，这个是非常糟糕的事情，所幸更改了这个参数后，在高并发的时候，基本可以没有类似情况，当然非常bt的情况，还得进一步想办法<br />
c． 第四行是读取的文件数，如果你下载的文件比较大，且比较多，加大这个参数，是非常爽的</p>
<p>3) Sysctl修改<br />
#vi /etc/rc.local<br />
sysctl kern.ipc.maxsockets=100000 ##增加并发的socket，对于ddos很有用<br />
sysctl kern.ipc.somaxconn=65535 ##打开文件数<br />
sysctl net.inet.tcp.msl=2500 ##timeout时间</p>
<p>4) 通过上述的简单优化，会给你带来意外的惊喜，如果有兴趣的兄弟，可以尝试一下看看，绝无副作用。</p>
<p>四、其他<br />
1) 加速ports安装<br />
#vi /etc/make.conf ##加入如下<br />
MASTER_SITE_OVERRIDE?=http://ports.hshh.org/${DIST_SUBDIR}/<br />
MASTER_SITE_OVERRIDE?=http://ports.cn.freebsd.org/${DIST_SUBDIR}/</p>
<p>2) Freebsd颜色显示<br />
secureCRT设置:仿真:终端-&gt;linux&gt;勾选ANSI颜色–&gt;确定<br />
#vi /etc/csh.cshrc ##加入如下<br />
setenv LSCOLORS ExGxFxdxCxegedabagExEx<br />
setenv CLICOLOR yes<br />
#cd /usr/ports/edit/vim;make install<br />
#echo “syntax on”&gt;/root/.vimrc<br />
#echo “alias vi vim” &gt;&gt;/root/.cshrc<br />
##颜色主要是靠vim来显示的，因此需要安装vim，然后把vi alias成vim就可以了<br />
3) Other。。。。。。。。更新中</p>
<p>来自：http://hi.baidu.com/starsluck/blog/item/19b141efa816a531acafd520.html</p>
]]></content:encoded>
			<wfw:commentRss>http://www.akii.org/2010-03/freebsd-nginx-php-mysql-zend-phpmyadmin-optimized-ports-installation-method/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD千万不要直接断电</title>
		<link>http://www.akii.org/2009-02/do-not-direct-power-freebsd/</link>
		<comments>http://www.akii.org/2009-02/do-not-direct-power-freebsd/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 13:14:29 +0000</pubDate>
		<dc:creator>snow</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[raid]]></category>
		<category><![CDATA[断电]]></category>

		<guid isPermaLink="false">http://www.akii.org/?p=892</guid>
		<description><![CDATA[昨天我已经离职的公司给我电话，说服务器访问不了了。提示cpuid =0启不来了。
后来公司去人断电，重启了一下，好了一下午，到晚上又不行了。今天把服务器拿回来，我来看了一下。文件系统确实已经被破坏了。因为非法断电，导致系统启动不了。于是进freebsd的单用户模式，fcsk修复了一下，倒是能启来了。
不过随之而来的是raid还有问题。
服务器是两块300G的SCSI硬盘做的RAID1，只插一块硬盘的时候，启动freebsd后过一会就提示
kernel trap 12 with interrupts disabled
page fault while in kernel mode
cpuid=2; apic id = 06
fault virtual address = 0&#215;40
fault code = supervisior read,page not present
然后就重启甚至死机。怀疑是cpu的问题，把双cpu拨掉一个，运行了一会儿，没出错，正常。然后把另一个也安上，也没问题。
不过当第二块硬盘接上时，等到RAID卡LSI320认到硬盘，然后同步raid的时候，系统就出错重启。
现在正在RAID卡的管理界面中等待它自动RABLD完事儿，已经一个多小时了，漫长的等待中。。。
前两天机房把服务器给换了个位置，结果原来公司的人去的晚了，估计机心的人给直接断电了。昨天出错，公司去人，也是直接按住电源给关的机。导致了后来这一系列问题。
所以奉劝各位，BSD的机器千万不要直接断电。按一下电源按钮，它会自动关机，不要觉得等不及直接按住关机，前后差不了几秒。尤其不要直接拨电源。
教训是惨痛的。没准实在不行还要备份出数据来重装系统。
关键是，那系统是采用Directadmin这个软件来管理的，用其搭建的环境，用其管理的虚拟主机用户。还得用那个软件的备份功能来备份，还要自己手动备一下份。还有可能mysql的拷贝文件的备份不好用。。。
麻烦啊。。
第二天了，昨天等了几个小时，raid也没同步完，于是让它自己干。今天来了又忙乎了一天，备份数据。最后测试来测试去，发现是其中一根内存条的问题。只要把那根内存拨下去，怎么折腾都没事儿。汗。。。我早就想换换内存试试，但是那儿没有那样的内存，毕竟是三年前的机器了。内存升级换代又这么快。这个现在已经不是主流了。原因不明，难道非法断电也会损坏内存？还是这事儿都赶到一块儿了？
]]></description>
			<content:encoded><![CDATA[<p>昨天我已经离职的公司给我电话，说服务器访问不了了。提示cpuid =0启不来了。<br />
后来公司去人断电，重启了一下，好了一下午，到晚上又不行了。今天把服务器拿回来，我来看了一下。文件系统确实已经被破坏了。因为非法断电，导致系统启动不了。于是进freebsd的单用户模式，fcsk修复了一下，倒是能启来了。<br />
不过随之而来的是raid还有问题。<br />
服务器是两块300G的SCSI硬盘做的RAID1，只插一块硬盘的时候，启动freebsd后过一会就提示<br />
kernel trap 12 with interrupts disabled</p>
<p>page fault while in kernel mode<br />
cpuid=2; apic id = 06<br />
fault virtual address = 0&#215;40<br />
fault code = supervisior read,page not present<br />
然后就重启甚至死机。怀疑是cpu的问题，把双cpu拨掉一个，运行了一会儿，没出错，正常。然后把另一个也安上，也没问题。<br />
不过当第二块硬盘接上时，等到RAID卡LSI320认到硬盘，然后同步raid的时候，系统就出错重启。</p>
<p>现在正在RAID卡的管理界面中等待它自动RABLD完事儿，已经一个多小时了，漫长的等待中。。。<br />
前两天机房把服务器给换了个位置，结果原来公司的人去的晚了，估计机心的人给直接断电了。昨天出错，公司去人，也是直接按住电源给关的机。导致了后来这一系列问题。<br />
所以奉劝各位，BSD的机器千万不要直接断电。按一下电源按钮，它会自动关机，不要觉得等不及直接按住关机，前后差不了几秒。尤其不要直接拨电源。<br />
教训是惨痛的。没准实在不行还要备份出数据来重装系统。<br />
关键是，那系统是采用Directadmin这个软件来管理的，用其搭建的环境，用其管理的虚拟主机用户。还得用那个软件的备份功能来备份，还要自己手动备一下份。还有可能mysql的拷贝文件的备份不好用。。。<br />
麻烦啊。。</p>
<p>第二天了，昨天等了几个小时，raid也没同步完，于是让它自己干。今天来了又忙乎了一天，备份数据。最后测试来测试去，发现是其中一根内存条的问题。只要把那根内存拨下去，怎么折腾都没事儿。汗。。。我早就想换换内存试试，但是那儿没有那样的内存，毕竟是三年前的机器了。内存升级换代又这么快。这个现在已经不是主流了。原因不明，难道非法断电也会损坏内存？还是这事儿都赶到一块儿了？</p>
]]></content:encoded>
			<wfw:commentRss>http://www.akii.org/2009-02/do-not-direct-power-freebsd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>类unix系统备份与压缩命令tar,gzip</title>
		<link>http://www.akii.org/2008-04/unix_tar_gzip/</link>
		<comments>http://www.akii.org/2008-04/unix_tar_gzip/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 07:39:04 +0000</pubDate>
		<dc:creator>snow</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[gzip]]></category>
		<category><![CDATA[tar]]></category>
		<category><![CDATA[zip]]></category>
		<category><![CDATA[压缩]]></category>
		<category><![CDATA[解压]]></category>

		<guid isPermaLink="false">http://www.akii.org/?p=176</guid>
		<description><![CDATA[用户经常需要备份计算机系统中的数据，为了节省存储空间，常常将备份文件进行压缩。下面分别介绍备份与压缩的命令。
　　tar命令
　　作用：tar可以为文件和目录创建档案。利用tar，用户可以为某一特定文件创建档案（备份文件），也可以在档案中改变文件，或者向档案中加入新的文件。 tar最初被用来在磁带上创建档案，现在，用户可以在任何设备上创建档案，如软盘。利用tar命令，可以把一大堆的文件和目录全部打包成一个文件，这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。Linux上的tar是GNU版本的。
　　语法：tar [主选项+辅选项] 文件或者目录
　　使用该命令时，主选项是必须要有的，它告诉tar要做什么事情，辅选项是辅助使用的，可以选用。
　　参数：
　　c 创建新的档案文件。如果用户想备份一个目录或是一些文件，就要选择这个选项。
　　r 把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件，又发现还有一个目录或是一些文件忘记备份了，这时可以使用该选项，将忘记的目录或文件追加到备份文件中。
　　t 列出档案文件的内容，查看已经备份了哪些文件。
　　u 更新文件。就是说，用新增的文件取代原备份文件，如果在备份文件中找不到要更新的文件，则把它追加到备份文件的最后。
　　x 从档案文件中释放文件。
　　辅助选项：
　　b 该选项是为磁带机设定的。其后跟一数字，用来说明区块的大小，系统预设值为20（20*512 bytes）。
　　f 使用档案文件或设备，这个选项通常是必选的。
　　k 保存已经存在的文件。例如我们把某个文件还原，在还原的过程中，遇到相同的文件，不会进行覆盖。
　　m 在还原文件时，把所有文件的修改时间设定为现在。
　　M 创建多卷的档案文件，以便在几个磁盘中存放。
　　v 详细报告tar处理的文件信息。如无此选项，tar不报告文件信息。
　　w 每一步都要求确认。
　　z 用gzip来压缩/解压缩文件，加上该选项后可以将档案文件进行压缩，但还原时也一定要使用该选项进行解压缩。

　　例子：
　　例1：把/home目录下包括它的子目录全部做备份文件，备份文件名为usr.tar。
　　$ tar cvf usr.tar /home
　　例2：把/home目录下包括它的子目录全部做备份文件，并进行压缩，备份文件名为usr.tar.gz 。
　　$ tar czvf usr.tar.gz /home
　　例3：把usr.tar.gz这个备份文件还原并解压缩。
　　$ tar xzvf usr.tar.gz
　　例4：查看usr.tar备份文件的内容，并以分屏方式显示在显示器上。
　　$ tar tvf usr.tar &#124; more
　　要将文件备份到一个特定的设备，只需把设备名作为备份文件名。
　　例5：用户在/dev/fd0设备的软盘中创建一个备份文件，并将/home 目录中所有的文件都拷贝到备份文件中。
　　$ tar cf /dev/fd0 /home
　　要恢复设备磁盘中的文件，可使用xf选项：
　　$ tar xf /dev/fd0
　　如果用户备份的文件大小超过设备可用的存贮空间，如软盘，您可以创建一个多卷的tar备份文件。M选项指示tar命令提示您使用一个新的存贮设备，当使用M选项向一个软驱进行存档时，tar命令在一张软盘已满的时候会提醒您再放入一张新的软盘。这样您就可以把tar档案存入几张磁盘中。
　　$ tar cMf /dev/fd0 /home
　　要恢复几张盘中的档案，只要将第一张放入软驱，然后输入有x和M选项的tar命令。在必要时您会被提醒放入另外一张软盘。
　　$ tar xMf /dev/fd0
　　gzip命令
　　作用：减少文件大小有两个明显的好处，一是可以减少存储空间，二是通过网络传输文件时，可以减少传输的时间。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令，既方便又好用。
　　语法：gzip [选项] 压缩（解压缩）的文件名
　　参数：
　　-c 将输出写到标准输出上，并保留原有文件。
　　-d 将压缩文件解压。
　　-l 对每个压缩文件，显示下列字段：
　　压缩文件的大小
　　未压缩文件的大小
　　压缩比
　　未压缩文件的名字
　　-r [...]]]></description>
			<content:encoded><![CDATA[<p>用户经常需要备份计算机系统中的数据，为了节省存储空间，常常将备份文件进行压缩。下面分别介绍备份与压缩的命令。<br />
　　tar命令<br />
　　作用：tar可以为文件和目录创建档案。利用tar，用户可以为某一特定文件创建档案（备份文件），也可以在档案中改变文件，或者向档案中加入新的文件。 tar最初被用来在磁带上创建档案，现在，用户可以在任何设备上创建档案，如软盘。利用tar命令，可以把一大堆的文件和目录全部打包成一个文件，这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。Linux上的tar是GNU版本的。<br />
　　语法：tar [主选项+辅选项] 文件或者目录<br />
　　使用该命令时，主选项是必须要有的，它告诉tar要做什么事情，辅选项是辅助使用的，可以选用。<br />
　　参数：<br />
　　c 创建新的档案文件。如果用户想备份一个目录或是一些文件，就要选择这个选项。<br />
　　r 把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件，又发现还有一个目录或是一些文件忘记备份了，这时可以使用该选项，将忘记的目录或文件追加到备份文件中。<br />
　　t 列出档案文件的内容，查看已经备份了哪些文件。<br />
　　u 更新文件。就是说，用新增的文件取代原备份文件，如果在备份文件中找不到要更新的文件，则把它追加到备份文件的最后。<br />
　　x 从档案文件中释放文件。<br />
　　辅助选项：<br />
　　b 该选项是为磁带机设定的。其后跟一数字，用来说明区块的大小，系统预设值为20（20*512 bytes）。<br />
　　f 使用档案文件或设备，这个选项通常是必选的。<br />
　　k 保存已经存在的文件。例如我们把某个文件还原，在还原的过程中，遇到相同的文件，不会进行覆盖。<br />
　　m 在还原文件时，把所有文件的修改时间设定为现在。<br />
　　M 创建多卷的档案文件，以便在几个磁盘中存放。<br />
　　v 详细报告tar处理的文件信息。如无此选项，tar不报告文件信息。<br />
　　w 每一步都要求确认。<br />
　　z 用gzip来压缩/解压缩文件，加上该选项后可以将档案文件进行压缩，但还原时也一定要使用该选项进行解压缩。<br />
<span id="more-176"></span><br />
　　例子：<br />
　　例1：把/home目录下包括它的子目录全部做备份文件，备份文件名为usr.tar。<br />
　　$ tar cvf usr.tar /home<br />
　　例2：把/home目录下包括它的子目录全部做备份文件，并进行压缩，备份文件名为usr.tar.gz 。<br />
　　$ tar czvf usr.tar.gz /home<br />
　　例3：把usr.tar.gz这个备份文件还原并解压缩。<br />
　　$ tar xzvf usr.tar.gz<br />
　　例4：查看usr.tar备份文件的内容，并以分屏方式显示在显示器上。<br />
　　$ tar tvf usr.tar | more<br />
　　要将文件备份到一个特定的设备，只需把设备名作为备份文件名。<br />
　　例5：用户在/dev/fd0设备的软盘中创建一个备份文件，并将/home 目录中所有的文件都拷贝到备份文件中。<br />
　　$ tar cf /dev/fd0 /home<br />
　　要恢复设备磁盘中的文件，可使用xf选项：<br />
　　$ tar xf /dev/fd0<br />
　　如果用户备份的文件大小超过设备可用的存贮空间，如软盘，您可以创建一个多卷的tar备份文件。M选项指示tar命令提示您使用一个新的存贮设备，当使用M选项向一个软驱进行存档时，tar命令在一张软盘已满的时候会提醒您再放入一张新的软盘。这样您就可以把tar档案存入几张磁盘中。<br />
　　$ tar cMf /dev/fd0 /home<br />
　　要恢复几张盘中的档案，只要将第一张放入软驱，然后输入有x和M选项的tar命令。在必要时您会被提醒放入另外一张软盘。<br />
　　$ tar xMf /dev/fd0</p>
<p>　　gzip命令<br />
　　作用：减少文件大小有两个明显的好处，一是可以减少存储空间，二是通过网络传输文件时，可以减少传输的时间。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令，既方便又好用。<br />
　　语法：gzip [选项] 压缩（解压缩）的文件名<br />
　　参数：<br />
　　-c 将输出写到标准输出上，并保留原有文件。<br />
　　-d 将压缩文件解压。<br />
　　-l 对每个压缩文件，显示下列字段：<br />
　　压缩文件的大小<br />
　　未压缩文件的大小<br />
　　压缩比<br />
　　未压缩文件的名字<br />
　　-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。<br />
　　-t 测试，检查压缩文件是否完整。<br />
　　-v 对每一个压缩和解压的文件，显示文件名和压缩比。<br />
　　-num 用指定的数字num调整压缩的速度，-1或&#8211;fast表示最快压缩方法（低压缩比），-9或&#8211;best表示最慢压缩方法（高压缩比）。系统缺省值为6。<br />
　　假设一个目录/home下有文件mm.txt、sort.txt、xx.com。</p>
<p>　　例子：<br />
　　例1：把/home目录下的每个文件压缩成.gz文件。<br />
　　$ cd /home<br />
　　$ gzip *<br />
　　$ ls<br />
　　m.txt.gz sort.txt.gz xx.com.gz<br />
　　例2：把例1中每个压缩的文件解压，并列出详细的信息。<br />
　　$ gzip -dv *<br />
　　mm.txt.gz 43.1%&#8212;&#8211;replaced with mm.txt<br />
　　sort.txt.gz 43.1%&#8212;&#8211;replaced with sort.txt<br />
　　xx.com.gz 43.1%&#8212;&#8211;replaced with xx.com<br />
　　$ ls<br />
　　mm.txt sort.txt xx.com<br />
　　例3：详细显示例1中每个压缩的文件的信息，并不解压。<br />
　　$ gzip -l *<br />
　　compressed uncompr. ratio uncompressed_name<br />
　　277 445 43.1% mm.txt<br />
　　278 445 43.1% sort.txt<br />
　　277 445 43.1% xx.com<br />
　　$ ls<br />
　　mm.txt.gz sort.txt.gz xx.com.gz<br />
　　例4：压缩一个tar备份文件，如usr.tar，此时压缩文件的扩展名为.tar.gz<br />
　　$ gzip usr.tar<br />
　　$ ls<br />
　　usr.tar.gz</p>
<p>　　unzip命令<br />
　　作用：用MS Windows下的压缩软件winzip压缩的文件如何在Linux系统下展开呢？可以用unzip命令，该命令用于解扩展名为.zip的压缩文件。<br />
　　语法：unzip [选项] 压缩文件名.zip<br />
　　参数：<br />
　　-x 文件列表 解压缩文件，但不包括指定的file文件。<br />
　　-v 查看压缩文件目录，但不解压。<br />
　　-t 测试文件有无损坏，但不解压。<br />
　　-d 目录 把压缩文件解到指定目录下。<br />
　　-z 只显示压缩文件的注解。<br />
　　-n 不覆盖已经存在的文件。<br />
　　-o 覆盖已存在的文件且不要求用户确认。<br />
　　-j 不重建文档的目录结构，把所有文件解压到同一目录下。</p>
<p>　　例子：<br />
　　例1：将压缩文件text.zip在当前目录下解压缩。<br />
　　$ unzip text.zip<br />
　　例2：将压缩文件text.zip在指定目录/tmp下解压缩，如果已有相同的文件存在，要求unzip命令不覆盖原先的文件。<br />
　　$ unzip -n text.zip -d /tmp<br />
　　例3：查看压缩文件目录，但不解压。<br />
　　$ unzip -v text.zip<br />
　　zgrep命令<br />
　　这个命令的功能是在压缩文件中寻找匹配的正则表达式，用法和grep命令一样，只不过操作的对象是压缩文件。如果用户想看看在某个压缩文件中有没有某一句话，便可用zgrep命令。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.akii.org/2008-04/unix_tar_gzip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>今天偶然间一看var/tmp/有个myd高达19G</title>
		<link>http://www.akii.org/2007-07/%e4%bb%8a%e5%a4%a9%e5%81%b6%e7%84%b6%e9%97%b4%e4%b8%80%e7%9c%8bvartmp%e6%9c%89%e4%b8%aamyd%e9%ab%98%e8%be%be19g/</link>
		<comments>http://www.akii.org/2007-07/%e4%bb%8a%e5%a4%a9%e5%81%b6%e7%84%b6%e9%97%b4%e4%b8%80%e7%9c%8bvartmp%e6%9c%89%e4%b8%aamyd%e9%ab%98%e8%be%be19g/#comments</comments>
		<pubDate>Tue, 03 Jul 2007 11:56:09 +0000</pubDate>
		<dc:creator>snow</dc:creator>
				<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://www.akii.org/2007/07/03/%e4%bb%8a%e5%a4%a9%e5%81%b6%e7%84%b6%e9%97%b4%e4%b8%80%e7%9c%8bvartmp%e6%9c%89%e4%b8%aamyd%e9%ab%98%e8%be%be19g/</guid>
		<description><![CDATA[今天偶然间一看var/tmp/有个#sql_17b97_0.MYD高达19G
不知道是做什么的。那位高人知道的话不防告诉我一声儿。
开始转移到别的目录去了，发现程序都正常运行。并且mysql和apache都重启过了。
后来实在太大，就给它删了。（中间发现它似乎成了35G，暴汉一个)，难道是我想给它拷贝到别的地方的时候，打错命令了？不应该啊。
]]></description>
			<content:encoded><![CDATA[<p>今天偶然间一看var/tmp/有个#sql_17b97_0.MYD高达19G<br />
不知道是做什么的。那位高人知道的话不防告诉我一声儿。</p>
<p>开始转移到别的目录去了，发现程序都正常运行。并且mysql和apache都重启过了。<br />
后来实在太大，就给它删了。（中间发现它似乎成了35G，暴汉一个)，难道是我想给它拷贝到别的地方的时候，打错命令了？不应该啊。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.akii.org/2007-07/%e4%bb%8a%e5%a4%a9%e5%81%b6%e7%84%b6%e9%97%b4%e4%b8%80%e7%9c%8bvartmp%e6%9c%89%e4%b8%aamyd%e9%ab%98%e8%be%be19g/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>查看mysql的数据目录和临时目录</title>
		<link>http://www.akii.org/2007-07/%e6%9f%a5%e7%9c%8bmysql%e7%9a%84%e6%95%b0%e6%8d%ae%e7%9b%ae%e5%bd%95%e5%92%8c%e4%b8%b4%e6%97%b6%e7%9b%ae%e5%bd%95/</link>
		<comments>http://www.akii.org/2007-07/%e6%9f%a5%e7%9c%8bmysql%e7%9a%84%e6%95%b0%e6%8d%ae%e7%9b%ae%e5%bd%95%e5%92%8c%e4%b8%b4%e6%97%b6%e7%9b%ae%e5%bd%95/#comments</comments>
		<pubDate>Tue, 03 Jul 2007 11:53:58 +0000</pubDate>
		<dc:creator>snow</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[PHP&MYSQL]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.akii.org/2007/07/03/%e6%9f%a5%e7%9c%8bmysql%e7%9a%84%e6%95%b0%e6%8d%ae%e7%9b%ae%e5%bd%95%e5%92%8c%e4%b8%b4%e6%97%b6%e7%9b%ae%e5%bd%95/</guid>
		<description><![CDATA[mysqladmin -uroot -p variables &#124; grep datadir
mysqladmin -uroot -p variables &#124; grep tmpdir
]]></description>
			<content:encoded><![CDATA[<pre>mysqladmin -uroot -p variables | grep datadir</pre>
<pre>mysqladmin -uroot -p variables | grep tmpdir</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.akii.org/2007-07/%e6%9f%a5%e7%9c%8bmysql%e7%9a%84%e6%95%b0%e6%8d%ae%e7%9b%ae%e5%bd%95%e5%92%8c%e4%b8%b4%e6%97%b6%e7%9b%ae%e5%bd%95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD 6.2 下 DirectAdmin 安装过程(二)</title>
		<link>http://www.akii.org/2007-06/freebsd-directadmin-apache2-php5-2/</link>
		<comments>http://www.akii.org/2007-06/freebsd-directadmin-apache2-php5-2/#comments</comments>
		<pubDate>Fri, 22 Jun 2007 06:06:28 +0000</pubDate>
		<dc:creator>snow</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[date]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[shtml]]></category>

		<guid isPermaLink="false">http://www.akii.org/2007/06/22/freebsd-directadmin-apache2-php5-2/</guid>
		<description><![CDATA[二、安装DirectAdmin
注意：安装directadmin必须以root直接登陆。不能登陆到其它用户再su到root。具体方法很简单，设置一下ssh就可以了。我就不多介绍了。
# wget http://www.directadmin.com/setup.sh

Hint: Use &#8220;fetch&#8221; instead of &#8220;wget&#8221; on FreeBSD systems.
Change permissions on the setup.sh file

 # chmod 755 setup.sh
Run the setup script!
# ./setup.sh
You will be prompted for a client ID number, license ID number, and hostname.
安装完成后，即可用http://IP:2222 来访问你的directadmin管理后台了。
输入你在安装过程中定义的admin的密码登陆即可。
由于directadmin默认给安装的是apache1.3、php4和mysql5.0.
mysql5.0倒是很正常。不过apache和php版本是低了点。可能大部分朋友都不喜欢用这个版本。那么如何升级呢？遵循官方给的文档，按以下方法升级apache和php5:
To update to php5, the build script will still work. All that you need to do is swap [...]]]></description>
			<content:encoded><![CDATA[<p>二、安装DirectAdmin</p>
<p>注意：安装directadmin必须以root直接登陆。不能登陆到其它用户再su到root。具体方法很简单，设置一下ssh就可以了。我就不多介绍了。</p>
<p><code># wget http://www.directadmin.com/setup.sh<br />
</code></p>
<p>Hint: Use &#8220;fetch&#8221; instead of &#8220;wget&#8221; on FreeBSD systems.</p>
<p>Change permissions on the setup.sh file</p>
<p><span id="more-89"></span><br />
<code> # chmod 755 setup.sh</code></p>
<p>Run the setup script!</p>
<p><code># ./setup.sh</code></p>
<p>You will be prompted for a client ID number, license ID number, and hostname.</p>
<p>安装完成后，即可用http://IP:2222 来访问你的directadmin管理后台了。</p>
<p>输入你在安装过程中定义的admin的密码登陆即可。</p>
<p>由于directadmin默认给安装的是apache1.3、php4和mysql5.0.</p>
<p>mysql5.0倒是很正常。不过apache和php版本是低了点。可能大部分朋友都不喜欢用这个版本。那么如何升级呢？遵循官方给的文档，按以下方法升级apache和php5:</p>
<p>To update to php5, the build script will still work. All that you need to do is swap out the version, compile normally and make a few modifications to your /etc/httpd/conf/httpd.conf file.</p>
<p>1) download the php-5.2.2.tar.gz from php.net into your customapache directory:</p>
<p><code>cd /usr/local/directadmin/customapache<br />
wget http://files.directadmin.com/services/customapache/php-5.2.2.tar.gz</code><br />
2) change your build script for the new version:</p>
<p><code>#ee build</code></p>
<p>change: PHP_VER=4.4.4<br />
to: PHP_VER=5.2.2</p>
<p>3) build php normally:</p>
<p><code>#./build clean<br />
#./build php n<br />
</code></p>
<p>If you&#8217;re using apache 2.x, use 如果你想使用apache 2.x版本，那么执行下面的<br />
当然，直接输入<br />
<code>#./build</code><br />
可以查看当前所能执行的命令，如升级一下当前的软件包 ./build update</p>
<p><code>#./build clean<br />
#./build php_ap2 n</code></p>
<p>instead.</p>
<p>4) edit /etc/httpd/conf/httpd.conf<br />
Remove any referce of:</p>
<p>LoadModule php4_module modules/libphp4.so</p>
<p>and make sure they&#8217;re replaced with:</p>
<p>LoadModule php5_module modules/libphp5.so</p>
<p>Remove any reference of:</p>
<p>AddModule mod_php4.c</p>
<p>and replace with:</p>
<p>AddModule mod_php5.c</p>
<p>5) find this piece of code:</p>
<p>&lt;IfModule mod_dir.c&gt;<br />
DirectoryIndex index.html index.htm index.shtml index.php index.php4 index.php3 index.phtml index.cgi<br />
&lt;/IfModule&gt;<br />
replace with:</p>
<p>&lt;IfModule mod_dir.c&gt;<br />
DirectoryIndex index.html index.htm index.shtml index.php index.php4 index.php5 index.php3 index.phtml index.cgi<br />
&lt;/IfModule&gt;<br />
Find this:</p>
<p>&lt;IfModule mod_php4.c&gt;<br />
AddType application/x-httpd-php .inc .php .php4 .php3 .phtml<br />
AddType application/x-httpd-php-source .phps<br />
&lt;/IfModule&gt;</p>
<p>(it might have AddHandler instead of AddType)<br />
replace with:</p>
<p>&lt;IfModule mod_php5.c&gt;<br />
AddHandler application/x-httpd-php .inc .php .php5 .php4 .php3 .phtml<br />
AddHandler application/x-httpd-php-source .phps<br />
&lt;/IfModule&gt;</p>
<p>Then restart apache.</p>
<p>If you get the following error while compiling php:</p>
<p>checking whether to enable LIBXML support&#8230; yes<br />
checking libxml2 install dir&#8230; no<br />
checking for xml2-config path&#8230;<br />
configure: error: xml2-config not found. Please check your libxml2<br />
installation.</p>
<p>*** There was an error while trying to configure php. Check the configure.php file</p>
<p>Then edit the configure.php file (or configure.php_ap2 if you&#8217;re using apache 2), and change:</p>
<p><code>--with-xml \</code></p>
<p>to:</p>
<p><code>--disable-libxml \<br />
--disable-dom \<br />
--disable-xml \<br />
--disable-simplexml \<br />
--disable-xmlreader \<br />
--disable-xmlwriter \</code></p>
<p>or else install the missing rpms/packages for xml. (libxml2-dev and libxml2-utils on debian). Redhats:<br />
<code><br />
yum -y install libxml2-devel libxslt-devel</code></p>
<p>最后这个更改xml的可以不必更改。似乎没什么用。反正我没改它。因为装完apache2.x后，默认即可。</p>
<p>最后。zend可通过ports来安装。只需要改一下php的配置文件即可。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.akii.org/2007-06/freebsd-directadmin-apache2-php5-2/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>FreeBSD下Awstats安装</title>
		<link>http://www.akii.org/2007-06/freebsd%e4%b8%8bawstats%e5%ae%89%e8%a3%85/</link>
		<comments>http://www.akii.org/2007-06/freebsd%e4%b8%8bawstats%e5%ae%89%e8%a3%85/#comments</comments>
		<pubDate>Tue, 05 Jun 2007 05:42:50 +0000</pubDate>
		<dc:creator>snow</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[awstats]]></category>

		<guid isPermaLink="false">http://www.akii.org/2007/06/05/freebsd%e4%b8%8bawstats%e5%ae%89%e8%a3%85/</guid>
		<description><![CDATA[现在的最新版本6.6已经发布正式版本。如果你的ports里的版本小于6.6，那么一定要更新ports至最新版本。因为以前的版本有漏洞。
#cd /usr/ports/www/awstats-devel
#make install
(注，如果下载不下来，可以用wget下载至/usr/ports/distfiles里面。)
#wget http://jaist.dl.sourceforge.net/sourceforge/awstats/awstats-6.6.tar.gz

安装完毕后会有一段提示

*****************************************************************
Please add the following to your apache config, and restart.
#
# Directives to allow use of AWStats as a CGI
#
Alias /awstatsclasses &#8220;/usr/local/www/awstats/classes/&#8221;
Alias /awstatscss &#8220;/usr/local/www/awstats/css/&#8221;
Alias /awstatsicons &#8220;/usr/local/www/awstats/icons/&#8221;
ScriptAlias /awstats/ &#8220;/usr/local/www/awstats/cgi-bin/&#8221;
#
# This is to permit URL access to scripts/files in AWStats directory.
#

Options None
AllowOverride None
Order allow,deny
Allow from all

*****************************************************************
If you are upgrading from AWStats 6.4 or older, please [...]]]></description>
			<content:encoded><![CDATA[<p>现在的最新版本6.6已经发布正式版本。如果你的ports里的版本小于6.6，那么一定要更新ports至最新版本。因为以前的版本有漏洞。</p>
<p>#cd /usr/ports/www/awstats-devel<br />
#make install<br />
(注，如果下载不下来，可以用wget下载至/usr/ports/distfiles里面。)<br />
<code>#wget http://jaist.dl.sourceforge.net/sourceforge/awstats/awstats-6.6.tar.gz</code></p>
<p><span id="more-85"></span></p>
<p>安装完毕后会有一段提示<br />
<code><br />
*****************************************************************<br />
Please add the following to your apache config, and restart.</code></p>
<p>#<br />
# Directives to allow use of AWStats as a CGI<br />
#<br />
Alias /awstatsclasses &#8220;/usr/local/www/awstats/classes/&#8221;<br />
Alias /awstatscss &#8220;/usr/local/www/awstats/css/&#8221;<br />
Alias /awstatsicons &#8220;/usr/local/www/awstats/icons/&#8221;<br />
ScriptAlias /awstats/ &#8220;/usr/local/www/awstats/cgi-bin/&#8221;</p>
<p>#<br />
# This is to permit URL access to scripts/files in AWStats directory.<br />
#<br />
<directory><br />
Options None<br />
AllowOverride None<br />
Order allow,deny<br />
Allow from all<br />
</directory></p>
<p>*****************************************************************</p>
<p>If you are upgrading from AWStats 6.4 or older, please note the following:</p>
<p>If you used the geoip plugin, you must edit your AWStats config file<br />
to change the line<br />
LoadPlugin=&#8221;geoip GEOIP_STANDARD&#8221;<br />
into<br />
LoadPlugin=&#8221;geoip GEOIP_STANDARD /pathto/GeoIP.dat&#8221;</p>
<p>*****************************************************************<br />
===&gt;   Registering installation for awstats-6.6_1,1</p>
<p>awstats要求将http.conf中的CustomLog /yourlogpath/yourlogfile common 改为<br />
CustomLog /yourlogpath/yourlogfile combined ，我看了一下，我默认的就是combined,可能现在新版本默认的都是这个吧，那就不用改了。</p>
<p><span style="font-size: 13px">再进入/usr/local/www/awstats/tools里，运行./awstats_configure.pl启动安装向导，步骤如下</span></p>
<p><code><br />
----- AWStats awstats_configure 1.0 (build 1.6) (c) Laurent Destailleur -----<br />
This tool will help you to configure AWStats to analyze statistics for<br />
one web server. You can try to use it to let it do all that is possible<br />
in AWStats setup, however following the step by step manual setup<br />
documentation (docs/index.html) is often a better idea. Above all if:<br />
- You are not an administrator user,<br />
- You want to analyze downloaded log files without web server,<br />
- You want to analyze mail or ftp log files instead of web log files,<br />
- You need to analyze load balanced servers log files,<br />
- You want to 'understand' all possible ways to use AWStats...<br />
Read the AWStats documentation (docs/index.html).</code></p>
<p>&#8212;&#8211;&gt; Running OS detected: Linux, BSD or Unix<br />
Warning: AWStats standard directory on Linux OS is &#8216;/usr/local/awstats&#8217;.<br />
If you want to use standard directory, you should first move all content<br />
of AWStats distribution from current directory:<br />
/usr/local/www/awstats<br />
to standard directory:<br />
/usr/local/awstats<br />
And then, run configure.pl from this location.<br />
Do you want to continue setup from this NON standard directory [yN] ?</p>
<p>y</p>
<p><code><br />
-----&gt; Check for web server install</code></p>
<p>Enter full config file path of your Web server.<br />
Example: /etc/httpd/httpd.conf<br />
Example: /usr/local/apache2/conf/httpd.conf<br />
Example: c:\Program files\apache group\apache\conf\httpd.conf<br />
Config file path (&#8216;none&#8217; to skip web server setup):<br />
&gt;</p>
<p>输入你httpd.conf的路径。<span style="font-size: 13px">对于httpd2系列的一般都在/etc/httpd/conf/这个目录下面</span></p>
<p>这里将awstats的配置信息直接写入了httpd.conf<br />
<code><br />
-----&gt; Check and complete web server config file '/etc/httpd/conf/httpd.conf'<br />
Add 'Alias /awstatsclasses "/usr/local/www/awstats/wwwroot/classes/"'<br />
Add 'Alias /awstatscss "/usr/local/www/awstats/wwwroot/css/"'<br />
Add 'Alias /awstatsicons "/usr/local/www/awstats/wwwroot/icon/"'<br />
Add 'ScriptAlias /awstats/ "/usr/local/www/awstats/wwwroot/cgi-bin/"'<br />
Add '<directory>' directive<br />
AWStats directives added to Apache config file.</directory></code></p>
<p>&#8212;&#8211;&gt; Need to create a new config file ?<br />
Do you want me to build a new AWStats config/profile<br />
file (required if first install) [y/N] ?</p>
<p>创建一个配置文件，选Y<br />
<code><br />
-----&gt; Define config file name to create<br />
What is the name of your web site or profile analysis ?<br />
Example: www.mysite.com<br />
Example: demo<br />
Your web site, virtual server or profile name:<br />
</code></p>
<p><span style="font-size: 13px">下面是要生成conf文件的名称了，因为conf文件的名称都是awstats.yourdomainname.conf格式的，所以这里要求你输入你要监测的域名，其实这个域名只是与其他域名相区分的，并不一定非要真实的。<br />
</span><br />
<code>-----&gt; Define config file path<br />
In which directory do you plan to store your config file(s) ?<br />
Default: /etc/awstats<br />
Directory path to store config file(s) (Enter for default):<br />
</code></p>
<p><span style="font-size: 13px">这里是让你输入配置文件的路径，直接回车会执行默认的，当然你也可以自己定义</span></p>
<p>剩下的工作我们就需要手工完成了。<br />
第一，        在crontab里手工加进去<br />
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.youdomains.com，因为这个程序是通过分析日志来进行流量统计的，如果你的日志文件很大的话是很耗系统资源的。还好，我的流量不大，我设定的是每个小时运行一次，你如果服务器比较繁忙的话也可以每天夜里运行一次。当然你也可以手工运行上面的命令来进行更新统计信息。<br />
第二，conf文件的配置：</p>
<p>LogFile<br />
指定你要分析的日志文件，默认是/var/log/httpd/mylog.log，可以根据你的需要调整，如果你要分析httpd的全部日志的就是/var/log/httpd/access_log,我们一般就选这个了。</p>
<p>LogType<br />
log类型，默认是web log,不用修改，如果你不是的话就自己照说明改了。</p>
<p>LogFormat<br />
log格式，一般情况下如果是apache的话就是1，iis就是2，默认不用修改，你也可以照说明自定义，呵呵，我还不太清楚怎么定义。</p>
<p>LogSeparator<br />
log中的分隔符，默认不用修改，如果上面的格式是你自定义的话这里也要修改了</p>
<p>DNSLookup<br />
默认不用修改</p>
<p>DirData<br />
生成的日志分析结果的保存路径，默认是/var/lib/awstats,你如果要使用默认的路径的话，这个目录是需要手工创建的，注意这个路径必须是可读写的。<br />
下面四项都是在配置时，不用修改。</p>
<p>DirCgi cgi的路径，这里都是相对于网站根目录的绝对路径<br />
DirIcons icon的路径<br />
SiteDomain 域名：www.youdomains.com<br />
HostAliases 主机别名</p>
<p>AllowToUpdateStatsFromBrowser<br />
下面这项是是否允许从浏览器里更新统计文件，默认是0不允许，如果我们改为1的话，就需要apache的属主用户对/var/lib/awstats目录有读写权限，并对/var/log/httpd目录有读取权限</p>
<p>AllowFullYearView</p>
<p>这个不用修改默认值。awstats默认是以月为单位进行日志分析，如果我们要分析整年的日志的可以在这里设置，因为分析整年的日志的话可能要消耗很多系统资源。如果你需要对年日志进行分析的话，建议手工启动。</p>
<p>这样最基本的配置就完成了，我们可以通过http://www.youdomains.com awstats/awstats.pl?config=www.youdomains.com来查看统计信息。</p>
<p>常见问题：<br />
<code>[root@demo conf.d]# /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.bestunix.net<br />
Error: AWStats database directory defined in config file by 'DirData' parameter (/var/lib/awstats) does not exist or is not writable.<br />
Setup ('/etc/awstats/awstats.www.youdomains.com.conf' file, web server or permissions) may be wrong.<br />
Check config file, permissions and AWStats documentation (in 'docs' directory).<br />
</code></p>
<p>这个是因为在/etc/awstats/awstats.www.youdomains.com.conf中DirData中定义的目录启动apache的用户没有写得权限，更改目录或更改权限都可以解决。<br />
问题二，出来的页面里所有的流量统计都是空的。<br />
同样是/etc/awstats/awstats.www.youdomains.com.conf的问题，在这个文件里有一行<br />
LogFile=&#8221;/var/log/httpd/mylog.log&#8221;<br />
我们一般情况下把这个路径改为”/var/log/apache/access.log”就可以了，如果你设了很多虚拟主机，每个主机都配置了不同的log的话，在这里指定你要统计的那个主机的log文件就可以了。<br />
问题三，浏览页面时提示没有权限，出现403错误，给上wwwroot目录权限755就OK了</p>
<p>注：默认的awstats目录结构里并没有wwwroot。可以自己加上去。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.akii.org/2007-06/freebsd%e4%b8%8bawstats%e5%ae%89%e8%a3%85/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD 6.2 下 DirectAdmin 安装过程(一)</title>
		<link>http://www.akii.org/2007-04/freebsd-directadmin-apache2-php5/</link>
		<comments>http://www.akii.org/2007-04/freebsd-directadmin-apache2-php5/#comments</comments>
		<pubDate>Tue, 24 Apr 2007 05:20:11 +0000</pubDate>
		<dc:creator>snow</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.akii.org/2007/04/24/freebsd-%e5%ae%89%e8%a3%85directadmin%e9%9c%80%e8%a6%81%e6%b3%a8%e6%84%8f%e7%9a%84%e9%97%ae%e9%a2%98/</guid>
		<description><![CDATA[历经磨难，终于搞定了DirectAdmin在FreeBSD6.2下的安装和应用。真是完美，比vhcs2强太多了。
可是DirectAdmin默认在FreeBSD6下，安装的环境是apache1.3和php4,mysql5
这个环境一直对它非常不满意，今天终于全部解决了。升级php到5.2.1，升级apache到2.0.59，mysql就不用升了。
其实很简单，只要注意步骤就行了。

有需要帮助的可以mail我。或msn:digihero(at)hotmail.com
安装过程：
一、安装、升级更新FreeBSD6.2
首先，推荐分区方式：
/  分5G左右
swap 2倍内存大小
/tmp 2G
/var  20G以上。用来存放日志和邮件
/usr  20G以上，用来存放程序和用户数据（注：不是网站和数据库文件）
/home 大部分，80%以上的容量全给这个。这里面是数据库和网站文件所在的地方。
安装完毕后执行的步骤：更新源码树，最好再更新一下ports 这里建议大家用台湾的服务器
cvsup.tw.freebsd.org 速度比大陆的还快。当然，在此之前，需要安装cvsup
(若你没在系统中安装cvsup，按照以下方式即可安装)
cd /usr/ports/net/cvsup/
make install为没有没有加clean呢。后续还有些功能可能用得到。而且以现在的磁盘容量，不在乎那些安装包占一点空间。
然后就是更新源码了。
安装完CVSUP后 默认是装在了
/usr/local/bin 下的 cvsup
我们现在将它连接到 /usr/bin下
#cd /usr/bin
# ln -f /usr/local/bin/cvsup cvsup
好了.现在cvsup就可以使用了.主要作用就是更新:)
我们现在来更新Ports树.
进入/usr/share/examples/cvsup 目录
浏览一下
#ls
README gnats-supfile refuse.README www-supfile
cvs-supfile ports-supfile stable-supfile
doc-supfile refuse standard-supfile
#
README 说明档(关于更多详细说明请参考)
cvs-supfile 升级CVSUP自身的
doc-supfile 操作系统文档升级文件
gnats-supfile FreeBSD BUG数据库
ports-supfile Ports升级档
stable-supfile 稳定版的FreeBSD升级
standard-supfile 最新版的FreeBSD升级
升级源码树。推荐服务器采用稳定版的升级，即stable-supfile
ee stable-supfile
找到
*default host=CHANGE_THIS.FreeBSD.org　　　告诉 cvsup 从哪里获取更新（推荐cvsup.tw.freebsd.org，把CHANGE_THIS.FreeBSD.org改了就行。）
修改完supfile后　保存．
执行
#cvsup -g -l 2 stable-supfile
继续将Ports进行升级,所以需要配置Ports-supfile
#ee ports-supfile
打开后出现基本的说明
现在我们来看主要部分
*default host=CHANGE_THIS.FreeBSD.org　　　告诉 cvsup 从哪里获取更新（推荐cvsup.tw.freebsd.org）
ports-all　更新全部Ports(这个要注意一下，默认值就是它，将会更新你的全部Ports，若你只需要更新某个ports目录，就将他注释掉，在前面加#就可以了)
修改完supfile后　保存．
执行
#cvsup -g -l 2 ports-supfile
然后就是更新源码了。此前很多文章介绍make [...]]]></description>
			<content:encoded><![CDATA[<p>历经磨难，终于搞定了DirectAdmin在FreeBSD6.2下的安装和应用。真是完美，比vhcs2强太多了。</p>
<p>可是DirectAdmin默认在FreeBSD6下，安装的环境是apache1.3和php4,mysql5</p>
<p>这个环境一直对它非常不满意，今天终于全部解决了。升级php到5.2.1，升级apache到2.0.59，mysql就不用升了。</p>
<p>其实很简单，只要注意步骤就行了。<br />
<span id="more-82"></span><br />
有需要帮助的可以mail我。或msn:digihero(at)hotmail.com</p>
<p>安装过程：<br />
<strong>一、安装、升级更新FreeBSD6.2</strong><br />
首先，推荐分区方式：<br />
/  分5G左右<br />
swap 2倍内存大小<br />
/tmp 2G<br />
/var  20G以上。用来存放日志和邮件<br />
/usr  20G以上，用来存放程序和用户数据（注：不是网站和数据库文件）<br />
/home 大部分，80%以上的容量全给这个。这里面是数据库和网站文件所在的地方。</p>
<p>安装完毕后执行的步骤：更新源码树，最好再更新一下ports 这里建议大家用台湾的服务器<br />
cvsup.tw.freebsd.org 速度比大陆的还快。当然，在此之前，需要安装cvsup<br />
(若你没在系统中安装cvsup，按照以下方式即可安装)<br />
<code>cd /usr/ports/net/cvsup/<br />
make install</code>为没有没有加clean呢。后续还有些功能可能用得到。而且以现在的磁盘容量，不在乎那些安装包占一点空间。<br />
然后就是更新源码了。</p>
<p>安装完CVSUP后 默认是装在了<br />
/usr/local/bin 下的 cvsup</p>
<p>我们现在将它连接到 /usr/bin下<br />
#cd /usr/bin<br />
# ln -f /usr/local/bin/cvsup cvsup</p>
<p>好了.现在cvsup就可以使用了.主要作用就是更新:)</p>
<p>我们现在来更新Ports树.</p>
<p>进入/usr/share/examples/cvsup 目录<br />
浏览一下<br />
#ls<br />
README gnats-supfile refuse.README www-supfile<br />
cvs-supfile ports-supfile stable-supfile<br />
doc-supfile refuse standard-supfile<br />
#<br />
README 说明档(关于更多详细说明请参考)<br />
cvs-supfile 升级CVSUP自身的<br />
doc-supfile 操作系统文档升级文件<br />
gnats-supfile FreeBSD BUG数据库<br />
ports-supfile Ports升级档<br />
stable-supfile 稳定版的FreeBSD升级<br />
standard-supfile 最新版的FreeBSD升级</p>
<p>升级源码树。推荐服务器采用稳定版的升级，即stable-supfile<br />
<code>ee stable-supfile</code><br />
找到<br />
<code>*default host=CHANGE_THIS.FreeBSD.org</code>　　　告诉 cvsup 从哪里获取更新（推荐cvsup.tw.freebsd.org，把CHANGE_THIS.FreeBSD.org改了就行。）<br />
修改完supfile后　保存．<br />
执行<br />
#cvsup -g -l 2 stable-supfile</p>
<p>继续将Ports进行升级,所以需要配置Ports-supfile</p>
<p>#ee ports-supfile</p>
<p>打开后出现基本的说明</p>
<p>现在我们来看主要部分<br />
*default host=CHANGE_THIS.FreeBSD.org　　　告诉 cvsup 从哪里获取更新（推荐cvsup.tw.freebsd.org）</p>
<p>ports-all　更新全部Ports(这个要注意一下，默认值就是它，将会更新你的全部Ports，若你只需要更新某个ports目录，就将他注释掉，在前面加#就可以了)<br />
修改完supfile后　保存．<br />
执行<br />
#cvsup -g -l 2 ports-supfile</p>
<p>然后就是更新源码了。此前很多文章介绍make world。实际上现的版本极不推荐简单的make world。这样会省去很多必要的东西。<br />
我们用标准的方法：<br />
<code>cd /usr/src<br />
make buildworld</code><br />
注意: 有时， 可能需要额外地执行一次 mergemaster -p 才能够完成 buildworld 步骤。 这些要求， 会在 UPDATING 中进行描述。 一般而言， 您可以简单地跳过这一步，只要进行的不是大跨度的 FreeBSD 版本升级。</p>
<p>在 installkernel 成功完成之后， 您需要引导到单用户模式 (举例而言， 可以在加载器提示后输入 boot -s)。 接下来执行：</p>
<p># mergemaster -p<br />
# make installworld<br />
# mergemaster<br />
# reboot</p>
<p>编译内核，这个依个人和机器而定。<br />
<code># cd /usr/src/sys/i386/conf<br />
# cp GENERIC MYKERNEL</code><br />
设定完内核文件MYKERNEL后<br />
<code># cd /usr/src<br />
# make buildkernel KERNCONF=MYKERNEL<br />
# make installkernel KERNCONF=MYKERNEL<br />
</code><br />
安装完成后，将编译过程中使用的档案删除：<br />
<code><br />
# rm -rf /usr/obj/usr/src/sys/MYKERNEL</code></p>
<p>最后我们就可以重新开机了，在重新开机之前，我们多下了几个 sync 这个指令。这个指令的用意是要求系统将所有暂存在内存内的数据都写入硬盘。</p>
<p><code># sync;sync;sync;reboot</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.akii.org/2007-04/freebsd-directadmin-apache2-php5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>tar 在FreeBSD下创建和解压tar.gz压缩包</title>
		<link>http://www.akii.org/2007-04/freebsd_tar/</link>
		<comments>http://www.akii.org/2007-04/freebsd_tar/#comments</comments>
		<pubDate>Tue, 17 Apr 2007 08:25:41 +0000</pubDate>
		<dc:creator>snow</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[tar]]></category>
		<category><![CDATA[解压tar]]></category>

		<guid isPermaLink="false">http://www.akii.org/2007/04/17/freebsd_tar/</guid>
		<description><![CDATA[创建　格式：tar czvf [文件名.tar.gz] [文件名]
　　　例如：tar czvf test.tar.gz test (当前命令发生在需要打包文件所在目录)
解压　格式：tar zxvf [文件名.tar.gz]
　　　例如：tar zxvf test.tar.gz (需要提前将压缩包传至当前释放目录下)
freebsd Tar的详细用法
tar命令
tar 文件是几个文件和（或）目录在一个文件中的集合。这是创建备份和归档的佳径。

tar 使用的选项有：
-c — 创建一个新归档。
-f — 当与 -c 选项一起使用时，创建的 tar 文件使用该选项指定的文件名；当与 -x 选项
一起使用时，则解除该选项指定的归档。
-t — 显示包括在 tar 文件中的文件列表。
-v — 显示文件的归档进度。
-x — 从归档中抽取文件。
-z — 使用 gzip 来压缩 tar 文件。
-j — 使用 bzip2 来压缩 tar 文件。
要创建一个 tar 文件，键入：
tar -cvf filename.tar directory/file
可以使用 tar 命令同时处理多个文件和目录，方法是将它们逐一列出，并用空格间隔：
tar -cvf filename.tar [...]]]></description>
			<content:encoded><![CDATA[<p>创建　格式：tar czvf [文件名.tar.gz] [文件名]</p>
<p>　　　例如：tar czvf test.tar.gz test (当前命令发生在需要打包文件所在目录)</p>
<p>解压　格式：tar zxvf [文件名.tar.gz]</p>
<p>　　　例如：tar zxvf test.tar.gz (需要提前将压缩包传至当前释放目录下)</p>
<p>freebsd Tar的详细用法<br />
tar命令<br />
tar 文件是几个文件和（或）目录在一个文件中的集合。这是创建备份和归档的佳径。<br />
<span id="more-81"></span><br />
tar 使用的选项有：</p>
<p>-c — 创建一个新归档。</p>
<p>-f — 当与 -c 选项一起使用时，创建的 tar 文件使用该选项指定的文件名；当与 -x 选项<br />
一起使用时，则解除该选项指定的归档。</p>
<p>-t — 显示包括在 tar 文件中的文件列表。</p>
<p>-v — 显示文件的归档进度。</p>
<p>-x — 从归档中抽取文件。</p>
<p>-z — 使用 gzip 来压缩 tar 文件。</p>
<p>-j — 使用 bzip2 来压缩 tar 文件。</p>
<p>要创建一个 tar 文件，键入：</p>
<p>tar -cvf filename.tar directory/file</p>
<p>可以使用 tar 命令同时处理多个文件和目录，方法是将它们逐一列出，并用空格间隔：</p>
<p>tar -cvf filename.tar /home/mine/work /home/mine/school</p>
<p>上面的命令把 /home/mine 目录下的 work 和 school 子目录内的所有文件都放入当前<br />
目录中一个叫做 filename.tar 的新文件里。</p>
<p>要列出 tar 文件的内容，键入：<br />
tar -tvf filename.tar</p>
<p>要抽取 tar 文件的内容，键入<br />
tar -xvf filename.tar</p>
<p>这个命令不会删除 tar 文件，但是它会把被解除归档的内容<br />
复制到当前的工作目录下，并保留归档文件所使用的任何<br />
目录结构。譬如，如果这个 tar 文件中包含一个叫做<br />
bar.txt 的文件，而这个文件包含在 foo/ 目录中，那么，<br />
抽取归档文件将会导致在你当前的工作目录中创建<br />
foo/ 目录，该目录中包含 bar.txt 文件</p>
<p>tar 默认不压缩文件。</p>
<p>要创建一个使用 tar 和 bzip 来归档压缩的文件，使用 -j 选项：<br />
tar -cjvf filename.tbz file</p>
<p>以上命令创建了一个归档文件，然后将其压缩为 filename.tbz 文件。如果你使用 bunzip2 命令为 filename.tbz 文件解压，filename.tbz 文件会被删除，继之以 filename.tar 文件。</p>
<p>你还可以用一个命令来扩展并解除归档 bzip tar 文件：<br />
tar -xjvf filename.tbz</p>
<p>要创建一个用 tar 和 gzip 归档并压缩的文件，使用 -z 选项：<br />
tar -czvf filename.tgz file</p>
<p>这个命令创建归档文件 filename.tar，然后把它压缩为 filename.tgz 文件（文件 filename.tar 不被保留）。<br />
如果你使用 gunzip 命令来给 filename.tgz 文件解压，filename.tgz 文件会被删除，并被<br />
替换为 filename.tar。</p>
<p>你可以用单个命令来扩展 gzip tar 文件：<br />
tar -xzvf filename.tgz</p>
<p>一. tar</p>
<p>1.压缩一组文件为tar.gz后缀。<br />
# tar cvf backup.tar /etc<br />
#gzip -q backup.tar<br />
或<br />
# tar cvfz backup.tar.gz /etc/<br />
tar zxvf XXXX.tar.gz</p>
<p>tar jxvf XXXX tar.bz2</p>
<p>2.释放一个后缀为tar.gz的文件。<br />
#gunzip backup.tar.gz<br />
#tar xvf backup.tar<br />
或<br />
# tar xvfz backup.tar.gz</p>
<p>3.用一个命令完成压缩<br />
#tar cvf &#8211; /etc/ | gzip -qc > backup.tar.gz</p>
<p>4.用一个命令完成释放<br />
# gunzip -c backup.tar.gz | tar xvf -</p>
<p>5.如何解开tar.Z的文件？<br />
# tar xvfz backup.tar.Z<br />
或<br />
# uncompress backup.tar.Z<br />
#tar xvf backup.tar</p>
<p>6.如何解开.tgz文件？<br />
#gunzip backup.tgz</p>
<p>7.如何压缩和解压缩.bz2的包？<br />
#bzip2 /etc/smb.conf<br />
这将压缩文件smb.conf成smb.conf.bz2<br />
#bunzip2 /etc/smb.conf.bz2<br />
这将在当前目录下还原smb.conf.bz2为smb.conf<br />
注: .bz2压缩格式不是很常用，你可以man bzip2</p>
]]></content:encoded>
			<wfw:commentRss>http://www.akii.org/2007-04/freebsd_tar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD安装最新的ZendOptimizer出现问题？</title>
		<link>http://www.akii.org/2007-04/freebsd_setup_zendoptimizer/</link>
		<comments>http://www.akii.org/2007-04/freebsd_setup_zendoptimizer/#comments</comments>
		<pubDate>Mon, 16 Apr 2007 09:22:02 +0000</pubDate>
		<dc:creator>snow</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[PHP&MYSQL]]></category>
		<category><![CDATA[ZendOptimizer]]></category>

		<guid isPermaLink="false">http://www.akii.org/2007/04/16/freebsd_setup_zendoptimizer/</guid>
		<description><![CDATA[===> ZendOptimizer-3.0.0.b2 :
Because of licensing restrictions, you must fetch the source distribution
manually from the http://www.zend.com/free_download/optimizer URL.
Download the source file, ZendOptimizer-3.0.0Beta2-freebsd6.0-i386.tar.gz,
and place it in /usr/ports/distfiles.
.*** Error code 1
Stop in /usr/ports/devel/ZendOptimizer.
解决办法如下
执行
portsnap fetch extract
]]></description>
			<content:encoded><![CDATA[<p>===> ZendOptimizer-3.0.0.b2 :<br />
Because of licensing restrictions, you must fetch the source distribution<br />
manually from the http://www.zend.com/free_download/optimizer URL.<br />
Download the source file, ZendOptimizer-3.0.0Beta2-freebsd6.0-i386.tar.gz,<br />
and place it in /usr/ports/distfiles.<br />
.*** Error code 1</p>
<p>Stop in /usr/ports/devel/ZendOptimizer.</p>
<p>解决办法如下<br />
执行<br />
portsnap fetch extract</p>
]]></content:encoded>
			<wfw:commentRss>http://www.akii.org/2007-04/freebsd_setup_zendoptimizer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
