postfix dovecot升级到ubuntu lucid中的问题
Posted on 2010-07-29 in Linux | No Comments »
服务器升级后发现本地邮件不能收也不能发了,很是奇怪。
最后发现是服务器升级后,dovecot进行了版本升级,其中的一个插件进行了rename,若未修改对应的配置文件,则会产生错误。
见:https://bugs.launchpad.net/ubuntu-release-notes/+bug/516040
服务器升级后发现本地邮件不能收也不能发了,很是奇怪。
最后发现是服务器升级后,dovecot进行了版本升级,其中的一个插件进行了rename,若未修改对应的配置文件,则会产生错误。
见:https://bugs.launchpad.net/ubuntu-release-notes/+bug/516040
在zotero中的官方参考样式中有中文标准的(Chinese-GB7714-2005-Numeric.csl),但在使用的过程中发现,在OpenOffice中插入的时候,前置的“[”符号没有上标化。
经过搜索发现,已经有相应的讨论:http://forums.zotero.org/discussion/6317/automatically-superscript-citations-in-word-2007/
具体的修改方法如下:
<layout delimiter="," vertical-align="sup">
<text prefix="[" suffix="]" variable="citation-number" />
</layout>
</citation>
ncview is a X-windows based netCDF file browser. ncview是浏览netcdf文件格式非常好用的一个工具,还可以输出图像以及动画(连续的ppm)。
但是ncview现在只提供了源代码方式下载安装,在debian/ubuntu的官方库里都还没有对应的包,但fedora已经有了。
因为官方库还没有,搜索了一通,好像也没有别人在作,因此就尝试了一下自己从头制作DEB包。之前也简单接触过DEB打包,但那都是在别人已经DEB化的基础上所作的小修改,尝试之前就已经预计到会遇到麻烦。
参考ubuntu package guid complete上面的步骤,首先进行的是初始DEB化。这个没有任何问题,然后就是对应的修改,遇到了一堆的问题:
1、license的问题
upstream好像并没有明确声明采用什么LICENSE,但是看代码里没有文件头都有说明采用的是GPL-3的license。
2、orig.tar.gz的问题
ncview发布的包里包含了三个东西,一个是genoverlay,辅助生成overlay的小工具;一个是ncview;还有一个是udunits。udunits是第三方的软件,作者采用的是udunits 1.x的版本,但udunits的官方网站提示udunits现在已经发布了udunits-2版本,原有版本已经不再维护了(deprecated),同时udunits-2已经进入debian ftp master,但还没有审查通过。因此我在打包的时候就只选择了ncview的子目录,其他两个东西都没有考虑。
3、patch的问题
官方发布的软件,我第一次打包就遇到了BUG,是MAN中有一个大小写的错误,因此需要写patch。同时Makefile.in也需要作一些调整:改变NCVIEW_LIB_DIR到/usr/share/ncview目录,修正删除文件的错误(重复删除导致错误)。
没有采用patch管理系统,直接用patch/diff在rules文件中进行处理。开始直接用diff命令根据guide进行处理,最后发现在unpatch的时候就有问题。仔细看guide,原来是需要把新旧二者的目录名命名为new/old,这样就可以进行unpatch处理了。然后在rules文件中也需要进行小调整。
4、签名的问题
在control文件里要使用全名,使用缩写最后会提示一个警告。在制作deb包的时候,要加参数运行:
debuild -kE40642E8
其中k后面的参数是我gpg的pub id。
5、发布的问题
本想发布到revu.ubuntuwire.com的,但死活访问不了,不管是否带tor。因此就想先发布PPA上。
先建立了~/.dput.cf,根据帮助,采用dput上传,
dput ppa *.changes
但到网站上看就是没有反应,搜索了一下,发现会有信息到邮件,去邮件了看了下,果然是被拒。提示信息很奇怪:
Rejected:
Could not find person ''
Further error processing not possible because of a critical previous error
根据这个提示信息搜索,发现有人提交了BUG,但实际上并不是BUG,原因是在安装dput的时候,系统在/etc/dput.cf默认生成了一个问题,但我在~/.dput.cf是按照帮助里拷贝过来的,头没有改(my-ppa),而在/etc/dput.cf里默认也有个ppa,而这个PPA需要进一步的配置,所以就导致了错误。重新修改~/.dput.cf文件,然后再上传就没有问题了。
经历一番辛苦后,终于看到成果了,欢迎访问:
https://launchpad.net/~wangliangxu/+archive/ppa
第一次打包,有任何问题,请反馈给我。
之前在反向代理DNN4时一直有问题(DNN4通过HEADER进行重定向,导致无法使用基于内部域名的反向代理)
在这儿找到一个办法:
http://www.r2integrated.com/dnn/Forum/tabid/170/aff/1/aft/9187/afv/topic/afpg/1/Default.aspx
在代理服务器上:
/etc/hosts中添加一个解析:192.168.50.238 heihe.westgis.ac.cn
在apahce中配置:
ServerName heihe.westgis.ac.cn
ProxyPass / http://heihe.westgis.ac.cn/
ProxyPassReverse / http://heihe.westgis.ac.cn/
...
在虚拟机上配置:
\windows\system32\drivers\etc\hosts中添加一行:192.168.50.238 heihe.westgis.ac.cn
重启对应服务,搞定!
SCAR: Science of Cold and Arid Regions 是所里新办的一个期刊,看了几篇文章,打算摘录下来,zotero却不支持,需要自己再写一个转换器(translator),花了一下午的时间,终于搞出来了,暂时不支持搜索功能。
把下面的代码保存到zotero下的translator目录,给个名字,如SCAR.js,然后重新启动一下FIREFOX,应该就可以使用了。
{
"translatorID":"d5770df3-b41a-45cb-bb3a-261948c9af49",
"translatorType":4,
"label":"SCAR",
"creator":"Liangxu Wang<wangliangxu@gmail.com>",
"target":"http://www.scar.ac.cn/hhkxen/ch/reader",
"minVersion":"1.0",
"maxVersion":"",
"priority":100,
"inRepository":true,
"lastUpdated":"2009-5-27 22:33:00"
}
function detectWeb(doc, url) {
var articleRe = /view_abstract.aspx/;
var s = articleRe.exec(url);
if(s) {
return "journalArticle";
} else {
return "multiple";
}
return false;
}
function scrape(doc) {
var nsResolver = null;
var itemType = "journalArticle";
var newItem = new Zotero.Item(itemType);
Zotero.debug(itemType);
// 标题
var title = doc.getElementById('EnTitle').textContent;
Zotero.debug("Title:"+title);
newItem.title = title;
// 附件,网页快照
var snapName = title + " (SCAR)";
Zotero.debug(snapName);
newItem.attachments.push({document:doc, title:snapName, mimeType:"text/html"});
//Zotero.debug(doc);
//关键词
var keys=doc.getElementById('EnKeyWord');
var tags=keys.getElementsByTagName('u');
var i=0;
for(i=0;i<tags.length;i++){
newItem.tags.push(tags[i].textContent);
Zotero.debug("tag:"+tags[i].textContent);
}
//摘要
var abstract=doc.getElementById('EnAbstract');
newItem.abstractNote = Zotero.Utilities.trim(abstract.textContent);
// 出版社
newItem.publicationTitle = 'Sciences in Cold and Arid Regions';
newItem.ISSN='1674-3822';
newItem.url = doc.location.href;
//出版时间
var ref=doc.getElementById('ReferenceText').textContent;
if (ref.match(/,(\d+).+Sciences in Cold and Arid Regions,(\d+)\((\d+)\):(.+)\./))
{
newItem.volume=ref.match(/,(\d+).+Sciences in Cold and Arid Regions,(\d+)\((\d+)\):(.+)\./)[2];
newItem.issue=ref.match(/,(\d+).+Sciences in Cold and Arid Regions,(\d+)\((\d+)\):(.+)\./)[3];
newItem.pages=ref.match(/,(\d+).+Sciences in Cold and Arid Regions,(\d+)\((\d+)\):(.+)\./)[4];
newItem.date=ref.match(/,(\d+).+Sciences in Cold and Arid Regions,(\d+)\((\d+)\):(.+)\./)[1];
}
//作者
if (ref.match(/(.+),\d+\.+/))
{
authors=ref.match(/(.+),\d+\.+/)[1].split(',');
for(i=0;i<authors.length-1;i++) {
newItem.creators.push(Zotero.Utilities.cleanAuthor(authors[i], "author", true));
}
author=authors[authors.length-1].split('and');
for(i=0;i<author.length;i++) {
newItem.creators.push(Zotero.Utilities.cleanAuthor(author[i], "author", true));
}
}
Zotero.debug("finished.");
newItem.complete();
}
function doWeb(doc, url) {
var namespace = doc.documentElement.namespaceURI;
var nsResolver = null;
if(detectWeb(doc, url) == "multiple") {
Zotero.debug("Enter multiple~");
// TODO: implement the multiple function.
} else {
var urls = [url];
}
Zotero.debug(urls);
// 下面对每条url进行解析
Zotero.Utilities.processDocuments(urls, scrape, function() { Zotero.done(); });
Zotero.wait();
}
也可以直接下载:scar.js
这个一个采用了创作共用版权的数学科普电影:维度-数学漫步
官方网站:http://www.dimensions-math.org
影片带中文字幕,格式为MKV,建议使用VLC进行播放。(WINDOWS可以使用kmplayer播放)
花了约2个小时,看了这个CG电影,又重新发现了数学的魅力!
不过,关于纤维族的理论还是没看懂,对四维系统还是有点晕。但是学习了复数的由来及其应用,原来一直不知道。
球极投影应该了影片的各个部分,对作地理的人来说,也可以更好的理解投影。
geonetwork在ipv6会遇到一些奇怪的问题,无法搜索,无法添加新的元数据,无法上传缩略图。若在客户端禁掉IPV6,就可以解决这些问题。但这不是解决问题的办法。
因此,临时的解决办法就是不让geonetwork判断IP地址(其判断是否局域网,而这个功能对我们来说,没有意义)。
wlx@wlxpc:~/Projects/geonetwork-2.2.0/src/org/fao/geonet/kernel$ svn diff
Index: AccessManager.java
===================================================================
--- AccessManager.java (版本 3883)
+++ AccessManager.java (工作副本)
@@ -322,11 +322,13 @@
String network = settMan.getValue("system/intranet/network");
String netmask = settMan.getValue("system/intranet/netmask");
- long lIntranetNet = getAddress(network);
- long lIntranetMask = getAddress(netmask);
- long lAddress = getAddress(ip);
+ // to avoid ipv6 problem
+ //long lIntranetNet = getAddress(network);
+ //long lIntranetMask = getAddress(netmask);
+ //long lAddress = getAddress(ip);
- return (lAddress & lIntranetMask) == lIntranetNet ;
+ //return (lAddress & lIntranetMask) == lIntranetNet ;
+ return false;
}
//--------------------------------------------------------------------------
也向geonetwork官方汇报了这个问题,看看官方要怎么解决。
ubuntu jaunty已经发布了,服务器现在的版本还是hardy,正好遇到了奇怪的问题,所以就想升级了。
sudo aptitude install update-manager-core
然后修改/etc/update-manager/release-upgrades文件内容,把
Prompt=lts
修改为:
Prompt=normal
然后开始升级:
sudo do-release-upgrade
注意:
1 在升级过程中有个提示,是否要继续操作,其中提示为[yN],但在中文locale下需要输入"是“,估计这是个翻译的BUG?
2 apache在升级后会产生问题,导致所有的网站都定向到默认网站了,需要修改/etc/apache2/ports.conf文件,把
NameVirtualHost *:80
给注释掉,然后在修改默认网站/etc/apache2/sites-enable/000-default,在第一行添加:
NameVirtualHost *
本来应该很简单,参考debian administration的操作,结果作下来后,发现没有些权限写。最后才发现是当前目录的父目录有一个word press生成的.htaccess文件,正是这个文件导致了问题的产生。
解决办法:拷贝父目录下的.htaccess文件,然后注释掉里面有影响的句子。
之前一直在用apt-proxy,但奇怪的是,apt-proxy经常会在99%位置长时间停顿。因此决定用apt-cacher替换使用看看效果。
安装:
sudo aptitude install apt-cacher
然后让其默认启动:
sudo nano /etc/default/apt-cacher
修改为:
AUTOSTART=1
然后重启动apt-cacher:
sudo /etc/init.d/apt-cacher restart
恩,支持IPV6,不错。