升级的好处 我就不多说了,这里介绍一点升级过程中的tips。
比较文件
将程序解压、解包之后放入与上一版本同级的目录,取名mt3.34
./mt
./mt3.34
上一版本因为额外安装有插件以及个别hack文件,不能完整替换,先比较两个目录,使用-q 参数忽略具体文件差异,-r 递归子目录。
$ diff -qyr mt3.34 mt |grep Only
Only in mt: mt-config.cgi
Only in mt3.34: mt-config.cgi-original
Only in mt/php/extlib/smarty: .cvsignore
Only in mt/php/plugins: block.MTBlogrollCategories.php
Only in mt/php/plugins: block.MTBlogrollLinkCategories.php
Only in mt/php/plugins: block.MTBlogrollLinkIfTagged.php
Only in mt/php/plugins: block.MTBlogrollLinkIfUpdated.php
Only in mt/php/plugins: block.MTBlogrollLinkTags.php
Only in mt/php/plugins: block.MTBlogrollLinks.php
Only in mt/php/plugins: block.MTBlogrollTags.php
Only in mt/php/plugins: function.MTBlogrollCategoryCount.php
Only in mt/php/plugins: function.MTBlogrollCategoryDesc.php
Only in mt/php/plugins: function.MTBlogrollCategoryDescription.php
Only in mt/php/plugins: function.MTBlogrollCategoryID.php
Only in mt/php/plugins: function.MTBlogrollCategoryLabel.php
Only in mt/php/plugins: function.MTBlogrollLinkBlogAuthor.php
Only in mt/php/plugins: function.MTBlogrollLinkCategory.php
Only in mt/php/plugins: function.MTBlogrollLinkDate.php
Only in mt/php/plugins: function.MTBlogrollLinkDesc.php
Only in mt/php/plugins: function.MTBlogrollLinkDescription.php
Only in mt/php/plugins: function.MTBlogrollLinkID.php
Only in mt/php/plugins: function.MTBlogrollLinkModifiedDate.php
Only in mt/php/plugins: function.MTBlogrollLinkName.php
Only in mt/php/plugins: function.MTBlogrollLinkPriority.php
Only in mt/php/plugins: function.MTBlogrollLinkRel.php
Only in mt/php/plugins: function.MTBlogrollLinkTarget.php
Only in mt/php/plugins: function.MTBlogrollLinkURI.php
Only in mt/php/plugins: function.MTBlogrollLinkURL.php
Only in mt/php/plugins: function.MTBlogrollLinkUpdated.php
Only in mt/php/plugins: function.MTBlogrollTagCount.php
Only in mt/php/plugins: function.MTBlogrollTagID.php
Only in mt/php/plugins: function.MTBlogrollTagName.php
Only in mt/php/plugins: function.MTBlogrollTagRank.php
Only in mt/php/plugins: plugins
Only in mt/plugins: Ajaxify
Only in mt/plugins: Blogroll
Only in mt/plugins: CheckLinks
Only in mt/plugins: Collect
Only in mt/plugins: FlickrPhotos
Only in mt/plugins: TagSupplementals.pl
Only in mt/plugins: mt-archive-dateheader.pl
Only in mt/plugins: mt-varz.pl
合并文件
然后将上一版本多出或者更新日期更新的文件copy 到新版本,为了保险起见,使用-i 参数确认任何文件覆盖。
$ cp -iur mt/plugins/* mt3.34/plugins
然后手动编辑合并曾经hack 过的文件,在这里我曾经修改了mysql.pm 以及批量编辑basename 所需的相关文件。
$ diff mt3.34/lib/MT/ObjectDriver/DBI/mysql.pm mt/lib/MT/ObjectDriver/DBI/mysql.pm
1c1
< # Copyright 2001-2007 Six Apart. This code cannot be redistributed without
---
> # Copyright 2001-2006 Six Apart. This code cannot be redistributed without
5c5
< # $Id: mysql.pm 1003 2007-01-05 23:46:47Z gboggs $
---
> # $Id: mysql.pm 653 2006-08-04 19:33:48Z bchoate $
63c63
< $driver->{dbh}->do("SET NAMES " . $c) or
---
> $driver->{dbh}->do("SET NAMES " . $c) or
99a100
> $driver->{dbh}->do("SET NAMES 'utf8'");
可以使用vi 同时编辑多个文件,使用:n 与:N 命令进行切换,剪贴板缓冲区是共享的,方便copy 代码行。
$ vi mt3.34/lib/MT/ObjectDriver/DBI/mysql.pm mt/lib/MT/ObjectDriver/DBI/mysql.pm
批量编辑basename 一般在大规模迁移时才会用到,这次就不修改了。
cgi-bin 目录的所有升级就完成了,把mt-statics copy 到相应目录,重复以上步骤。
版本切换
全部完成后,把两组新旧目录名称迅速交换,再打开MT控制台,发现升级已经生效,没遇到任何错误,算是无缝切换。
- 文章信息
- 版权声明: 本文可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息。
- 原文出处: http://www.aiview.com/
- 写于: 2007-04-11 [Edit]
- 作者: Alex (email &msn)

- 标签 Tags: MT (25), upgrade (5)


