Debian6中文乱码问题
最近安装最新的Debian6.06 Gnome版本,遇到一个奇怪的问题:选择中文安装,完成安装后重新进入系统,界面全是小方块,中文显示乱码。
经研究后发现,居然是没有安装中文字体,这是个多么奇怪的bug,选择了中文界面安装居然不安装中文字体!
解决方法也简单,安装中文字体即可:
apt-get install ttf-wqy-zenhei ttf-wqy-microhei
学海无涯
最近安装最新的Debian6.06 Gnome版本,遇到一个奇怪的问题:选择中文安装,完成安装后重新进入系统,界面全是小方块,中文显示乱码。
经研究后发现,居然是没有安装中文字体,这是个多么奇怪的bug,选择了中文界面安装居然不安装中文字体!
解决方法也简单,安装中文字体即可:
apt-get install ttf-wqy-zenhei ttf-wqy-microhei
由于linode默认的内核(ubuntu10.04)缺省将SIP等协议过滤模块编入了内核,而且linode默认没有采用模块化的方式,因此被迫重新编译内核。linode提供了一篇文档指导如何使用自编译的内核,但是在细节上实际还是有不同,导致按照文档的步骤编译后,系统没办法启动。于此记录一下,以备后续需要。
采用linode的文档编译和配置,往往会出现以下一些错误:
i8042 no controller found
udevd[1077]: failed to create queue file: no such file or directory udevadm[1816]: error sending message: connection refused.
第一个错误涉及menu.lst,在这个文件中,不能像文档那样,启动时携带’quiet’参数。
第二个错误与Ubuntu版本可能有关,需要人工指定/dev,需要修改/etc/fstab的配置(后续说明细节)。
基本步骤如下:
下载最新的kernel代码并解压:
wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.7.6.tar.bz2
将系统原有的config导入到kernel源代码的目录下,同时根据自己的需要修改.config文档:
zcat /proc/config.gz > .config
顺序执行以下命令:
make oldconfig
make -j3 bzImage
make -j3 modules
make
make install
make modules_install
如果成功,应该在/boot目录下看到新生成的内核文件,例如vmlinuz-3.7.6等。
创建/boot/grub/menu.lst文件,添加以下内容:
default 0
timeout 5
title Custom Compiled, kernel 3.7.6
root (hd0)
kernel /boot/vmlinuz-3.7.6 root=/dev/xvda ro
注意,Ubuntu版本可能还需要安装grub软件:
apt-get install grub
修改/etc/fstab目录,添加以下内容:
dev /dev devtmpfs 0 0
完成上述步骤后,修改linode中该node的profile,将kernel修改为pv-grub-x86_32,然后重启启动该node即可完成升级。SSH登录系统,使用uname -a命令即可查看新内核版本。
2013-07-19 update:
在编译3.9.x内核时,出现以下错误信息:
/bin/sh: bc not found
此时,安装bc即可:
apt-get install bc
在linux环境下,可以使用mtr跟踪各环节的丢包率。如果是使用Ubuntu系统,缺省应该已经安装了mtr,如果没有的话,可以使用下述命令安装:
sudo apt-get install mtr-tiny
使用mtr进行丢包率检查的命令也比较简单:
mtr --report 您的站点
例如您的网站是demo.com, 则命令为 mtr –report demo.com即可.
下面是最近一个测试报告,不解释。
HOST: ubuntuLTS Loss% Snt Last Avg Best Wrst StDev 1. 121.15.56.1 0.0% 10 21.7 24.7 17.6 35.7 5.5 2. 121.15.56.1 0.0% 10 19.6 23.0 19.5 39.2 6.1 3. 113.106.45.61 10.0% 10 20.9 21.3 19.7 27.8 2.5 4. 219.133.30.234 0.0% 10 21.0 20.7 18.7 22.7 1.3 5. 121.34.242.226 10.0% 10 21.5 23.6 21.5 25.3 1.4 6. 202.97.35.246 0.0% 10 24.0 24.2 21.4 28.6 2.0 7. 202.97.60.90 10.0% 10 26.4 23.9 21.6 27.3 1.9 8. 202.97.52.162 0.0% 10 189.0 191.5 187.6 200.7 3.6
问题基本情况如下:我们开发并发布了一个软终端产品,当然其中采用QT以及Phonon模块。在我们的开发环境中,一切都很美好,能正常地播放音乐。可是安装到客户的计算机上,出现问题了,无法播放提示语音(wav文件录制)。
这个问题的实质是我们没有将Phonon的插件一同打包进安装文件。Phonon实质上只是个前端封装模块,具体工作有赖于后台的解码器。在windows系统中,Phonon缺省采用DirectX作为后台解码器部分,具体实现为一个plugin。如果不安装这个plugin,则phonon无法正常播放语音文件。
假设QT安装在d:\qt\4.8.4目录下,则上述plugin可以在以下目录中找到:D:\Qt\4.8.4\plugins\phonon_backend\phonon_ds94.dll。
注意,不是简单地将这个文件拷贝到程序目录下即可,而是要拷贝到程序目录的phonon_backend子目录下。例如,我们的程序安装在d:\minisipphone目录,则上述dll应当拷贝为:d:\minisipphone\phonon_backend\phonon_ds94.dll。
另外需要注意的是,不同版本的QT要采用各自版本的phonon_ds94.dll,例如qt 4.6.2的程序就不能采用qt 4.8.4的phonon_ds94.dll,否则还是会出现放音错误。
前段时间在移动硬盘上安装了xubuntu系统,一试之下大吃一惊,感觉非常流畅!相比之下,KDE环境确实在速度上差别很大。于是动心想将一台老笔记本上的kubuntu12.04给换掉,安装xubuntu12.04试试。
在网上搜索了一下,安装xubuntu很简单,以下命令即可:
sudo apt-get install xubuntu-desktop
安装过程中,注意选择lightDM即可,因为原有的kdm在后面的步骤中将被删除掉。
删除kubuntu则与网上的说法有些差异,可能网上的资料是基于以前的kubuntu/kde版本,如果是新的kubuntu版本,例如12.04,则建议采用以下步骤或者命令删除:
sudo apt-get autoremove kubuntu-desktop sudo apt-get remove kdm sudo apt-get autoremove kdelibs-bin
基本上,创建有名管道和平常的文件操作没有太大的差别。在用select对有名管道句柄进行操作时,有些比较奇怪的地方。
例如,我们有两个程序(进程),一个向有名管道写,另一个负责从有名管道读。逻辑很简单,因此我们很自然地在读进程程序中设置read_only,然后用select等待数据。
奇怪的事情发生了,select总是能返回成功,可是read的数据为空。这个问题让我们百思不得其解,结果google后发现,对于只读的有名管道,也需要设置为“读写”模式,否则它对select总是会立刻返回成功。
经过多次测试,对linux下的有名管道,如果采用select判断是否可读,需要设置以下参数:
(1)非阻塞
(2)可读可写
例如以下演示代码:
fd = open(COMMAND_PIPE, O_NONBLOCK | O_RDWR);
... ...
int ret = select(fd+1, &read_set, NULL, NULL, &timeVal);
在以前的版本中,如果需要配置HTTPS访问方式, 只需要修改/etc/apache2/sites-available/default-ssl文件即可。
可是在新版本中,如果仅仅是修改这个问题,还是无法以https方式访问apache2. 在apache的error.log中,会出现以下错误提示:
Invalid method in request \x16\x03\x01
需要多做几个配置来解决:
在/etc/apache2/mods-enabled目录下,添加以下链接:
sudo ln -sf /etc/apache2/mods-available/ssl.conf /etc/apache2/mods-enabled/ssl.conf
sudo ln -sf /etc/apache2/mods-available/ssl.load /etc/apache2/mods-enabled/ssl.load
在/etc/apache2/sites-enabled目录下,添加以下链接:
sudo ln -sf /etc/apache2/sites-available/default-ssl /etc/apache2/sites-enabled/000-default-ssl
然后重启apache2即可:
sudo service apache2 restart
对比检查Kubuntu10.04以及11.10中的配置,以前的版本中都已经自行创建了上述这些链接,不知道为什么在新版本中没有这么做。
linux系统对比商业操作系统,一个非常大的不足就是兼容性考虑不足,实在是太随意了。兼容性不仅仅是二进制运行程序的兼容性,也包括库,配置,头文件等等。像上面这样的配置上的变化,说大也不大,可是如果是生产环境上的系统进行升级,就不知道有多少这样的“小改动”了。
一行代码就可以了:
// restart application QProcess::startDetached(qApp->applicationFilePath(), QStringList());
这是一篇访谈记录的翻译稿,主题是讨论VoLTE技术。被访问者是BroadSoft公司的CTO。这篇文章能帮助我们初步了解VoLTE的一些概念。原文在此,译文如下。
GSMA在2010年移动世界年会上宣布, 将支持VoLTE技术作为LTE语音方面的技术选择.
然而,只有在首先部署LTE网络的情况下, 才会选择VoLTE. 因此, 我们请教Scott Hoffpauir(Broadsoft公司CTO), 他是如何看到VoLTE的发展与部署情况.
关于VoLTE究竟是什么,目前没有太多的信息. 这也是我们首先想了解的问题之一.
Q: Scott, 您能帮助我们区分基于3G的VoIP, 基于WiFI的VoIP以及VoLTE这些技术之间的差异吗? 是否可以说VoLTE是4G时代的VoIP?
当我提到VoLTE时, 我是指GSM组织的IR.92技术规范. 这些规范重点定义: 在采用IP多媒体子系统(通常也被称为IMS)的LTE网络, 如何部署语音和短信业务. 换句话说, VoLTE本质上就是基于4G IMS网络的VoIP技术.
IR.92规范同时也定义了基于WiFi如何部署语音和其他业务. 实际上, 部分移动运营商也计划使用WiFI辅助LTE. 既然IMS可以作为LTE和WiFi的通用核心网, 因此这两种技术提供的业务实际上是一样的.
Q: 移动运营商采用VoLTE能获得什么好处呢?
LTE网络在世界范围内的广泛部署, 不仅仅是提供难以置信的速度和数据吞吐量, 满足迫切需要更多带宽的移动消费者和数据应用程序. 它同时也为移动网络运营商提供新的功能和通信工具, 同时进入到普通消费者市场和企业市场.
催化剂就是LTE中采用的IMS网络, 它能帮助移动运营商继续提供高速数据业务, 改进的语音业务, 同时将新的创新业务, 增强的统一通信概念(例如状态呈现, 即时通信, 视频以及数据共享等), 集成进单一的接入点, 即移动电话.
世界上没有DSL接入(译注: 大概是指没有宽带接入的)的大部分国家将能采用LTE技术接入internet. 这不仅能帮助移动运营商拓展他们的市场, 也意味着我们将看到大量的商业机会将出现在大城市之外, 并创造新的就业机会, 带来新的投资.
运营商们需要将他们与顶级运营商(OTT)区分出来. 他们的优势在于, 基于他们的网络, 他们能够控制业务的质量, 并且能够部署高品质的业务. (译注: 没搞懂这是什么意思?)
Q: 我们能期待VoLTE达到运营商级的要求吗?
VoLTE技术规范确保(VoLTE)最低限度的语音质量和业务要求应当和当前的电路交换语音一样好, 甚至更好. 运营商可以调节VoIP和视频的流量以保护他们的网络资源. 在欧洲, 部分运营商已经这么做了. (译注: 语音质量有保证, 而且可管可控)
Q: 部署VoLTE有时间表吗? 您预计什么时候会有大规模的市场应用?
我们预计最初会在2012年部署VoLTE.早期部署有可能会采用VoLTE增强3G基本语音呼叫的呼叫体验, 例如高清语音或者视频. Verizon(VoLTE领域的领导者)计划在2012年进行商业部署, 升级他们全国的业务. 根据AT&T的报告, AT&T计划在一年后,也就是2013年,开始商务部署VoLTE.
大规模部署VoLTE可能会遇到“鸡与蛋”的情况。也就是说,只有在市场上已经有足够数量和品种的LTE手机时,运营商才会大规模部署LTE网络。 然而,我们怀疑手机制造商会等到LTE网络大规模部署并且达到人们的期望值时,才开始为大批量生产LTE手机进行投资。
今年的四,五月期间,我们和一个专家调查组合作,调查了全球范围内一些领先的移动运营商,咨询了一系列关于VoIP策略, 统一通信,丰富通信套件(译注:什么东东?)以及LTE等问题。
我们调查的这些运营商中,没有一个认为LTE手机会在今年内获得广泛的应用。实际上, 大约34%的运营商认为2013年之前LTE都不会是一个可行的消费产品, 32%的运营商则认为是2012年之前。 另外18%的运营商认为可能要到2014年, 10.5%的运营商认为是2015年。还有5%的运营商认为可能是2016-2020年,那时才可能有足够的设备(LTE手机)。
然而, Verizon在这方面敢于挑战,他们现在已经向客户销售一些LTE手机, 其中包括三种智能手机,分别由HTC,三星以及LG提供生产。
我们讨论越多的VoLTE话题,关于LTE部署方面的问题就越来越明显。运营商需要很明确地知道什么是VoLTE以及该技术的优点。
我们需要理解VoLTE技术,以确保在应用它的过程中获得它所有的优势优点。GSMA已经将其作为技术标准,所有的运营商都将应用它。
其他解决方案目前看都不会成为标准,所有的运营商都需要采用一个通用的标准。(译注:意思是LTE就是这个通用标准)。
Q:与其他方案(例如VoIP)相比, 采用VoLTE有什么优势吗?
采用IP和LTE语音有诸多优势。VoIP已经显著地改进了现代通信业务,而VoLTE将这种进化推进到下一个阶段。OTT语音业务将与VoLTE进行竞争。然而,考虑到(VoLTE)运营商对网络有全面的控制,他们的业务比OTT语音业务有非常强的竞争力,就像今天的3G语音业务一样。(译注:说得很空洞,很外交词令啊。。)
Q:部署VoLTE时,运营商需要了解些什么?
我们讨论LTE时,我想非常重要的一点就是运营商并没有将其视为3G网络的进化。而认为它是新的IP接入技术。很多人将LTE看作是DSL的替代技术。很多地区的消费者无法采用DSL技术,而现在他们可以接入到LTE网络中(译注:没有条件部署固网宽带,现在可以用无线宽带了,至少省掉了挖坑埋线等费用)。所以,VoLTE也能帮助移动运营商(MNOs)拓展他们的市场。
然而,移动运营商们将面对新的挑战。目前他们的主要收入来自于传统的语音业务,这部分业务的总通话时间正在逐月下滑。更重要的是,随着LTE技术的引入,如果这些运营商不能提供增值业务,那么OTT运营商将提供(新的增值业务)。
因此移动运营商需要确保他们传统的收入来源保持增长,同时又要提供新的业务。仅仅是替换语音业务是不够的,他们需要提供更多的东西。
Q:谁将首先部署LTE?相关测试已经开始了吗?
LTE后的推动力是非常巨大的。移动运营商们没有太多的选择,只能逐步进化他们的网络,跟上蓬勃发展的高速数据应用的需求。正如我前面说的,如果这些运营商不能支持高速数据业务,并且无法提供增值业务, OTT运营商将会提供。现实情况就是数据类业务正日益成为网络流量最大的来源。
Verizon在7-28日宣布它将在28个城市中部署LTE网络,覆盖超过100个地区。TeliaSonera在北欧和波罗地海地区部署业务后, 也正在将LTE网络拓展到拉脱维亚。
另外20多个国家的54家运营商正在进行LTE技术的试验或者测试,加上已经正式承诺部署商业网络的运营商,现在有80个国家大约208家运营商正在对LTE进行投资。
根据BroadSoft的LTE调查报告,大约四分之三的被调查运营商声称他们将在最近部署一个LTE网络,其中42%已经部署或者试商用了LTE。
因此我们一点都不惊讶GSMA声称LTE是发展最快的移动技术。
Q:VoLTE最大的机遇是在商业领域还是消费领域?
最初会在消费领域。根据我们的调查, 45%的运营商认为他们不会准备提供LTE作为企业解决方案。然而,63%(的运营商)指出他们已经为他们的企业客户提供了统一通信服务,大多数是围绕着黑莓提供的服务(译注: 大概out了)。
另外,66%的运营商认为VoIP以及统一通信对于企业产品是‘非常重要’甚至是“极端重要”的。对比45%的运营商认为不准备向企业用户提供LTE,这显得非常有趣。根据这些数据,我们可以合理假设: 商业服务在VoLTE(4G)与3G的竞争中将有更大的作用。
Q:基于LTE的UC(统一通信)将具有哪些显著的提高?
主要的提高就是个人将在任何时间, 任何地点,通过各种各样的设备(包括智能电话和平板电脑)保持连接。
在LTE网络中,是否会出现更多的MVNO(译注:移动虚拟运营)机会? 运营商们是否会将其看作是产生批发收入的冒险者?
鉴于LTE为移动运营商提供了新的一系列业务机会(超出传统的语音、短信以及数据业务),LTE为运营商带来的各种可能性相当令人兴奋。您可以设想全国以及全球的零售商带给市场大量的设备,能够与基于云的业务交互,例如视频通话,流媒体等。
毫无疑问,LTE将成为游戏的改变者,无论运营商拥有当前网络还是利用一个代理网络。(译注:LTE将改变运营商和虚拟运营商)。
自从苹果重新崛起后, “软件+硬件”的产品形态引起了大家的关注. 以往要么关注硬件, 要么关注软件. 而一体化设计带来的革命性体验, 重新引发了再思考: 专注在硬件, 或者专注在软件还是未来的趋势么?
其实不仅是苹果在终端层面带来一体化体验, 在核心网络层面, IBM也实际上走软硬一体的路子, 包括现在的Oracle也在进行这方面的尝试.
由此我们对通信领域进行再思考: 通信设备提供商和通信业务服务商(运营商)在未来有没有可能融合呢? 早期的AT&T毫无疑问是这种模式的实践者, 并达到了让人惊恐的量级. 而目前随着云计算\云技术的发展, 基于这些技术提供分布式虚拟通信设备, 并提供个性化通信服务似乎不在是梦想.
自己构造通信基础设施, 直接面对终端用户, 直接迭代式开发, 快速满足用户的个性化需求, 带给用户全新的通信体验, 这似乎不能依赖各自分离的通信设备商或者通信运营商来完成了. 传统的通信生态圈在很大程度上是由硬件的复杂性决定的, 各种各样的硬件设备\通信协议\电气协议\网络等级等因素造成了整个网络的复杂性, 封闭性. 而IP技术不断渗透到通信领域, 实际上在不断降低通信的门槛, 并将整个通信网扁平化, 开放化.
可以设想, 如果将来的通信网全部IP化后会怎样? 首先就是目前的那些专有硬件设备大部分都不再需要了, 通信网将是一个扁平的平等网络, 原有的基础通信概念都将被颠覆. 现有的通信设备和运行模式无法满足更有弹性, 更大容量, 更个性化的通信需求.
而融合产品设计实现与业务运营的模式, 可能是未来的趋势. 这种模式在传统的PSTN通信网络体系中是不可能出现的, 而在未来的全IP通信网中极有可能实现.