升级ubuntu server

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 *

ubuntu intrepid下安装envi 4.6.1

方法和原来的相似:

tar -zxvf envi_linux.x86.tar.gz
cd envi461linux.x86
sudo mkdir /usr/local/itt
sudo mv idl708 /usr/local/itt/
sudo mv install /usr/local/itt/
sudo mv license /usr/local/itt/
cd /usr/local/itt
sudo ./install

然后拷贝license到/usr/local/itt/license,命名为license.lic,就可以运行envi。
但发现我的机器明明是64位的,怎么是按照32位模式运行的呢?
仔细查找后发现,是由于idl的启动脚本里用到了/bin/arch命令,而这个命令已经被取消了,参考ubuntu的BUG
若不想修改脚本的话,就可以建一个/bin/arch的脚本:

#!/bin/bash
uname -m

evolution的中文附件问题

在ubuntu intrepid上,evolution发出的中文附件(指文件名是中文打头),如果另外一端是采用OUTLOOK活Outlook Express,则不能收到中文附件,或附件的文件名是奇怪的名称(att***.dat)。
在下个版本里这一问题已经得到修正,需要等ubuntu jaunty发布才可以。若现在就想修正这个问题,可以把这个PPA加入到源中:

deb http://ppa.launchpad.net/hggdh2/ppa/ubuntu intrepid main

然后升级系统应该就可以了。

参考:
1 ubuntu bug
2 gnome bug

ubuntu amd64下使用skype

目前,skype还没有专门的64位版本,在UBUNTU intrepid amd64下使用需要进行一些特殊的处理:
首先:下载skype,从medibuntu库中:
skype-common
skype-static
然后安装:

sudo aptitude install ia32-libs libqtcore4 libqtgui4
wget -N boundlesssupremacy.com/Cappy/getlibs/getlibs-all.deb
sudo dpkg -i getlibs-all.deb
sudo getlibs -p bluez-alsa
sudo dpkg -i *.deb

然后要配置skype,在我的机器上(dell optiplex 755),需要在音量控制里选择最后一个:Capture …Pulse
然后在skype的声音设置里选择:输入声音 hwintel,0,别的都用pulse,这样就可以正常使用skype了。

最全的howto请参考:
HOWTO: Install Skype on 64-bit Ubuntu

ubuntu intrepid下安装proftpd配置postgresql后端

因为在另外一台机器上已经配置过,本以为很简单,复制过来就可以,没想到还是出问题,检查了半天,发现是group table没有设置的原因。
安装:
sudo aptitude install proftpd proftp-pgsql
配置:
在/etc/proftpd/proftpd.conf里把

#Include /etc/proftpd/sql.conf

这行的注释去掉,然后修改/etc/proftpd/sql.conf文件,修改为:


SQLBackend postgres
SQLEngine on
SQLAuthenticate users
SQLAuthTypes Crypt Plaintext
SQLConnectInfo db@server_name_or_ip user password

RequireValidShell off

SQLUserInfo ftp.users userid passwd uid gid homedir shell
SQLGroupInfo ftp.groups groupname gid members
SQLDefaultUID 108 # CHANGE FOR YOUR FTP USERS UID FOUND IN /etc/passwd
SQLDefaultGID 1002 # CHANGE FOR YOUR FTP USERS GID, FOUND IN /etc/groups
SQLDefaultHomedir /home/ftp
RequireValidShell off

SQLNegativeCache off
# 调试时打开
#SQLLogFile /var/log/proftpd-sql

SQLNamedQuery updatecount UPDATE “count=count+1 WHERE userid=’%u'” ftp.users
SQLLOG PASS updatecount

SQLNamedQuery count SELECT “count from ftp.users where userid=’%u'”
SQLShowInfo PASS “230” “You’ve logged on %{count} times, %u”

SQLLog STOR newfile
SQLNamedQuery newfile FREEFORM “INSERT INTO ftp.logs(userid,action,file,abs_path,bytes) VALUES (‘%U’,’upload’,’%J’,’%f’, ‘%b’)”

SQLLog RETR insertfileinfo
SQLNamedQuery insertfileinfo FREEFORM “INSERT INTO ftp.logs(userid,action,file,abs_path,bytes) VALUES (‘%U’,’download’,’%J’,’%f’, ‘%b’)”

数据库可以参考:http://www.howtoforge.com/proftpd_postgresql_auth_logging

ubuntu intrepid 升级kernel后重新安装fglrx

ati的显卡,升级后发现无法进入X窗口了。
经过搜索,发现相关解决办法:
http://ubuntuforums.org/showthread.php?t=997913
http://ubuntuforums.org/showthread.php?t=993292

其实,解决办法比较简单:
在进入X窗口失败后,直接进入终端,然后:

sudo rm /var/lib/dkms/fglrx/ -fdr
sudo apt-get remove fglrx*
sudo aptitude install xorg-driver-fglrx

重新进入X应该就可以解决问题了。

evolution信件重复问题

在evoluiton中发现信件有时会有重复的问题,但应该只是显示上的重复,如果删除了一封邮件,则其他相同的邮件也被删除。
进数据库(folders.db)查询后发现信件确实只有一封,那就应该是索引的问题:

rm ~/.evolution/mail/local/*.ibex.index*

再重新进入evolution就没有问题了。

ubuntu intrepid: evolution不能清空回收站

在使用中碰到了evolution不能清空回收站的问题,参考launchpad.net上的bug#270763,通过尝试后发现可以这样解决:

sqlite3 ~/.evolution/mail/local/folders.db
sqlite> delete from “.#evolution/Trash”;
sqlite> delete from “.#evolution/Junk”;

然后看看Templates表是否存在:

sqlite> .tables Templates
sqlite> .quit

如果没有Templates表,则在evolution中随便创建一个草稿,保存为模板。
然后应该就可以清空回收站了。若发生摘要不匹配问题,则可以删除摘要:
先关掉evolution,然后删除对应目录下的摘要文件,比如收件箱:

rm ~/.evoluiton/mail/local/Inbox.ev-sum*

Compile & install GRASS 6.4 on ubuntu intrepid

首先,需要自己重新编译GDAL,目前UBUNTU源里的GDAL有BUG。
然后,从svn中下载grass 6.4:

svn co https://svn.osgeo.org/grass/grass/branches/develbranch_6 grass-6.4
cd grass-6.4/debian
svn://svn.debian.org/pkg-grass/packages/grass/branches/6.4/debian debiangis
mv debiangis/* .

目前,这个DEB控制还有点小问题,需要自己作些修改:

nano grass.conf

把路径修改为:

/usr/lib/grass64/lib

然后修改grass-preview-doc.links,修改为:

usr/share/doc/grass-preview-doc/html usr/lib/grass64/docs/html

还需要连接一个so库:

locate _gdi_.so

我的机器上有两个地址,一个是python 2.4,一个是python 2.5,我选择了python 2.5的地址,然后作了个连接:

sudo ln -s /usr/lib/python2.5/site-packages/wx-2.8-gtk2-unicode/wx/_gdi_.so /usr/loca/lib/libgdi.so

然后就可以编译了:

debuild binary

然后就可以安装了,你若不想安装,可以使用我已经编译好的,(添加我自己的源):

http://ubuntu.westgis.ac.cn/ubuntu

然后sudo aptitude install grass-preview就可以了。

如要安装文档:

sudo aptitude install grass-preview-doc
sudo mkdir /usr/lib/grass64/docs
sudo ln -s /usr/share/doc/grass-preview-doc/html /usr/lib/grass64/docs/