Tag Archives: debian

总结升级ubuntu和debian遇到的一些错误及解决办法

如没有特别说明,以下操作均需要root权限。

mysql: symbol lookup error

cd /usr/local/lib
mkdir temp
mv /usr/local/lib/libreadline* temp
ldconfig
apt-get update

The following signatures couldn’t be verified because the public key is not available

apt-get update的时候,有时候会出现公钥错误,比如:

W: GPG error: http://ppa.launchpad.net precise Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 2EA8F35793D8809A

或者:

W: There is no public key available for the following key IDs:
8B48AD6246925553

解决办法:安装keyring,往ubuntu server添加公钥信息.

sudo apt-get install debian-keyring debian-archive-keyring && sudo apt-key update
sudo apt-key adv --recv-key --keyserver keyserver.ubuntu.com 8B48AD6246925553

注意第二条命令中的key ID替换成你的key ID.

升级ubuntu从11.10到12.04,网络出现异常

错误描述:无法打开网络配置工具,开机启动出现如下:

Waiting up to 60 more seconds for network configuration...

解决办法:确保你的文件”/etc/network/interfaces”只有如下两行:

auto lo
iface lo inet loopback

有多余的请删除,然后重新启动。

debian安装goagent

debian 版本:Debian GNU/Linux 7 按照官方网站的ubuntu的安装步骤安装所需软件,因为debian里面的包比较古老,因此推荐从源代码安装或者从github安装最新的软件版本。我在运行proxy.py的时候就出现如下问题:

Traceback (most recent call last):
  File "proxy.py", line 1341, in <module>
    http_util = HTTPUtil(max_window=common.GOOGLE_WINDOW, ssl_validate=common.GAE_VALIDATE or common.PAAS_VALIDATE, ssl_obfuscate=common.GAE_OBFUSCATE, proxy=common.proxy)
  File "proxy.py", line 810, in __init__
    self.ssl_context = OpenSSL.SSL.Context(OpenSSL.SSL.TLSv1_METHOD)
AttributeError: 'NoneType' object has no attribute 'SSL'

原因是debian的pyopenssl包比较老,推荐用python的包管理器安装:

sudo apt-get install python-pip
sudo pip install pyOpenSSL

Debian Squeeze安装输入法并配置中文环境

fcitx是linux下挺好用的一款中文输入法,词库比较丰富。

1.添加fcitx的源

debian squeeze很保守,因此很稳定,但是这也是源内的软件包版本比较低的原因,所以fcitx没有进debian squeeze,进了testing版本,需要添加下面这行到你的/etc/apt/sources.list:
deb http://download.opensuse.org/repositories/home:hillwood/Debian_6.0/ /

然后:

sudo apt-get update
sudo apt-get install fcitx

新建文件/etc/X11/Xsession.d/95xinput,并把下面这些内容写到里面去:

export XIM=fcitx
export XIM_ARGS="-d"
export XIM_PROGRAM=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export LANG="en_US.UTF-8"
export LC_CTYPE="zh_CN.UTF-8"
export XMODIFIERS="@im=fcitx"
fcitx &

如果apt-get update出现以下没有public key的错误:

W: GPG error: http://download.opensuse.org  Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4EE56CE7EBCA0CF4

请加入key:

wget -q http://download.opensuse.org/repositories/home:/hillwood/Debian_6.0/Release.key -O -|apt-key add -

2.设置系统的locale

2.1 什么是locale?

来自wiki pedia:
In computing, a locale is a set of parameters that defines the user’s language, country and any special variant preferences that the user wants to see in their user interface. Usually a locale identifier consists of at least a language identifier and a region identifier. On POSIX platforms such as Unix, Linux and others, locale identifiers are defined similar to the BCP 47 definition of language tags, but the locale variant modifier is defined differently, and the character set is included as a part of the identifier. It is defined in this format: [language[_territory][.codeset][@modifier]]. (For example, Australian English using the UTF-8 encoding is en_AU.UTF-8.)

简而言之,就是系统的字符集。

2.2 配置

sudo apt-get install locales
sudo dpkg-reconfigure locales

选择英语,简体中文和繁体中文的locale:

en_US.ISO-8859-1
en_US.UTF-8
zh_CN.GB2312
zh_CN.GB18030
zh_CN.UTF-8
zh_CN.GBK
zh_TW.BIG5
zh_TW.UTF-8

我缺省locale选择的是英文的en_US.UTF-8,这样系统的默认语言是英文,如果不习惯,请选择zh_CN.UTF-8。

3.安装中文字体

sudo apt-get install ttf-arphic-ukai ttf-arphic-uming xfonts-wqy ttf-bitstream-vera ttf-mscorefonts-installer ttf-wqy-zenhei ttf-wqy-microhei

文泉译的字体挺好看,如果你不喜欢,可以寻找更好看的字体。

4.后记

debian官方中的fcitx包不是很好用,从源代码安装也显得异常麻烦,从debian 6 squeeze升级到debian 7 wheezy之后,fcitx也无法正常工作,出现类似dbus connection error等错误;因此比较推荐从opensuse的这个源安装fcitx。 如果fcitx出现无法启动的其他错误,建议用dpkg –list找到相关软件,然后用apt-get remove删除,然后再重新apt-get install fcitx安装。

5.参考文献

debian下安装curl loader压力工具出现crypto.h的错误

FreeBSD的编译环境跟linux差别怎么这么大,很多时候gmake编译源代码都出错,很无奈啊;最近用到一些http的测试工具,源代码安装,在FreeBSD上源代码安装很难成功,依赖关系残缺不全,用ports安装也不省心,果断用debian linux。
找个能支持ipv6的压力测试工具真是难啊,tsung貌似很强大,也符合要求,但是BSD7上通过cli安装tsung好麻烦,新的ports还要java的license认证,麻烦加无语啊,后来找来找去,貌似curl loader很符合要求,能做ftp和ipv6的压力测试,果断安装,但是debian上源代码编译有如下错误:

ssl_thr_lock.h:27:28: error: openssl/crypto.h: No such file or directory

本以为安装openssl就行了,但是谷歌发现,需要安装openssl-devel,debian的包名叫libssl-dev,安装之后就OK了。这种错误让新手很无语加蛋疼,权且记录下来,让需要的人少走些弯路。