这篇早该和大家见面的文章今天终于在笔者的努力下和大家见面了。正如大家看到的题目一样,本文讲的是有关于deb包的制作。当然,笔者并不是一个debian开发者,也不是一个ubuntu开发者。本文的目的是给新手一个简单的,关于如何将一般安装步骤为configure, make, make install的软件打成一个deb包,以方便管理的一个指南。当然有的朋友会说,用checkinstall就可以了。不过关于checkinstall,我听过好多人说这种方法过于dirty,到底如何笔者没有试过,也不好评价。您可以选择使用checkinstall,但我可以保证,看完本文,您将会发现其实用常规的方法制作一个deb包也是很简单的。
Continue reading ‘deb包简易制作:以gmlive为例’
其实很简单的三招就可以让你的系统性能提升许多。
第一招:为分区添加noatime挂载选项
具体做法是修改/etc/fstab,在分区的default选项后面添加noatime挂载选项,用逗号和default隔开。就像这样:
/dev/hda1 / jfs defaults,noatime 0 1
第二招:使用deadline调度器
具体的做法是在启动时加上内核选项”elevator=deadline”.(是elevat后面加or。不知道为什么or会变成x?)
通常情况下默认的调度器是cfq。gentoo wiki上有关于cfq的这样一段描述:
CFQ: Only use it on ext3, this scheduler’s goal is not performance, but about balancing IO among all resources.
我看了后有点无语,怎么ext3那套都不是优先考虑性能的。所以,如果你是桌面应用的话,使用deadline调度器吧。
要查看当前系统所使用的调度器可以cat一下/sys/block/sda/queue/scheduler文件,sda换成你自己对应的硬盘。用中括号括起来的就是正在使用的调度器。
还有一个说法是jfs配合deadline调度器使用性能超好。arch wiki上关于jfs的文章说:
Indeed, JFS’s performance seems to exceed that of other GNU/Linux file systems with this particular scheduler being employed.
关于此话题可以参考linuxfans上的这篇帖子。
第三招:使用tmpfs
可以把/tmp挂载成tmpfs来获得性能提升。做法是在/etc/fstab中添加:
tmpfs /tmp tmpfs defaults 0 0
这招对于提高mplayer的播放性能有很大帮助,因为mplayer是把影片cache在/tmp目录下的。这个我是深有体会,以前看720p的片子那个卡啊。用了上面说的第二招后有所改观。当用了这招后,720p的影片播放起来相当流畅!
你还可以让更多的目录使用tmpfs。比如在/etc/default/rcS文件中设定
这样/var/run和/var/lock目录也会使用tmpfs。
debian默认将/dev/shm挂载成tmpfs,你可以把些编译的活放到这下面进行,当然你的内存要够用哦。
Debian package description,即软件包描述,就是您执行apt-cache show pkgname时所看到的关于软件包功能的介绍。Debian或Ubuntu用户可能都有发现,有些软件包描述是中文的,但大部分是英文的。中文软件包描述可以极大方便新用户选择软件包,所以翻译它绝对是个好主意。想想吧,能够看到中文的软件包描述是件多好的事。
其实Debian早已准备好了,此项目叫做DDTP (The Debian Description Translation Project)。它有个Web翻译平台,叫DDTSS,这个平台的操作方式有点类似于wiki,你可以匿名进行翻译,也可以注册一个帐号。如果14天未使用帐号,那么帐号将被自动取消。一旦某个软件包的描述被翻译成中文后,就会进入review (复查)状态,要成为translated状态,review数必须达到3,也即有三个不同的人review后都觉得没问题,才会变为translated。当然你不可以自己review自己的翻译,DDTSS会记录你的IP的。如果某人在review时,觉得哪里翻译得不妥当,于是更改了,那么这个软件包就会重新进入review过程,review数重新从0开始。听起来要想进入translated状态还真难,稍有异意就又要从头开始review。不过这也有助于保证翻译的质量,一定要有个大家都认可的翻译才行。
知道怎么操作了,那就开始释放你的翻译激情吧。也可以做做复查工作,看看别人的翻译有没有蹩脚的地方,哪里还需要改进。无需注册,无需担心重复劳动,也无需任何经验,一切只要通过浏览器即可。那么还等什么呢?赶快贡献自己的一份力吧!
mlocate是GNU locate的一个变种。相比原始的locate,它具有一个很好优点:
* 每次更新数据库时并不需要重新读取全部目录的内容。mlocate 在数据库中保存了
时间戳信息,无需重新读取,就能判断目录内容是否改变。所以更新的速度更快,对硬盘
的占用也更少。这是 mlocate 特有的功能。
上面这段是已经翻译过来的mlocate的deb包描述,向译者致敬!这个功能非常好,以前用locate时,每次更新数据库时硬盘吱吱作响,搞得我不得不将它改为每周更新一次数据库。而mlocate几乎让我感觉不到它的存在。
似乎mlocate已成了Debian的标配了,因为我并没有安装过,它就已经在那了。本来想装locate的,发现已有locate命令,后来才发现是mlocate提供的。
有了mlocate,就可以把locate给删了,要不然你的系统会更新两套不同的数据库。
即使是让gtk程序使用kde的外观,gtk程序在kde4下的显示还是不完美的。尤其是Iceweasel,网页中的控件都渲染不完全,很难看。
我想,既然kde的oxygen主题对gtk程序渲染不好,那有没有为gtk准备的oxygen主题?于是就到gnome-look.org上找,果然被我找到了。http://kims-area.com/?q=node/63
首先,适合于gtk的oxygen主题叫KDE4 Oxygenstyle,可以从这里下载,居然还提供deb包的 ;-)。装好后在kde系统设置里把gtk程序设成使用那个主题就好了。
不过这样会有个问题,图标不再是oxygen的了。不过幸好,已经有人为我们准备好了oxygen图标了。可以从这里下载。装好后修改.gtkrc-2.0-kde4,在最后加一行:
gtk-icon-theme-name="OxygenRefit2"
这样gtk程序就会使用OxygenRefit2图标主题了。个人感觉这样比让gtk使用kde的oxygen来得漂亮。
好了,下面开始给Iceweasel整容,让它更oxygen。其实也就是装个皮肤了,呵呵。用这个叫KFirefox的皮肤。这个皮肤很强大,是我见过的最强大的皮肤!
OpenOffice.org也变得好看了,如果是用OOo的gtk界面的话,那就是oxygen感觉的,用kde的oxygen渲染OOo的gtk界面试过的都知道,那是根本不能用的。当然为什么不用OOo的kde界面?因为那是qt3的,更不协调了。
现在就留下qt3程序没办法了,没有为qt3准备的oxygen。
参考网址:
http://gnome-look.org/content/show.php/Oxygen+Refit+2?content=79756
http://kims-area.com/?q=node/63
http://ramonantonio.net/kde-firefox/
http://www.leninlee.cn/?p=315
在awesome中永中office 2009个人版显示不出来。到永中论坛上求助,有人说是java toolkit的问题。于是我export了变量,但问题依旧。
仔细查看/usr/bin/eio文件发现,其实命令开始就已经指定好了环境变量。这样问题就变得简单了。直接编辑/usr/bin/eio文件,把没用的行都注释掉,变成下面这样:
#!/bin/bash
#if test -n "$(grep "Ubuntu" /proc/version)"; then
export AWT_TOOLKIT=MToolkit
#else
# export AWT_TOOLKIT=XToolkit
#fi
exec 4<&0 0</etc/Evermore/EIOffice/installinfo.cfg
read line1
exec 0/dev/null
再在awesome下运行永中,界面就正常了。
永中论坛上的帖子见这里:http://forum.evermoresw.com/thread-14597-1-1.html
因为学了五笔之后,跑到公共的Windows电脑上当然也想打五笔了。不过windows自带的那个太烂,再加上久仰极点五笔的大名,就下了个放在U盘里随身带。极点五笔有个功能很称心,就是可以用“;”选择第二候选词,“,”选择第三候选词。因为五笔重码少,范不着为那么几个为数不多的重码去够数字键。在fcitx里我一直不知道怎么设置,说实话那些中文选项好多我看着都不知道到底是什么意思,可能是我太笨了。不过今天去fcitx的google group上发现有人说有这功能。经过多次尝试还是被我试出来了,其实就是那个“第二三候选词选择键”选项。设两个值,两个之间不要有空格,这样就ok了。
到9.63了。看了下Opera的changelog:
User Interface
Added opera:config > UserPrefs > DoubleclicktoCloseTab to close tabs by double-clicking on them
双击关闭标签,这个出现在Opera中国版中的功能被引入了。
装完之后发现字体变回原先的丑陋样式了。原来之前改字体时改的是全局文件,被新版的Opera覆盖回去了。这次使用用户设置吧,方法和之前一样,不同的就是把font.ini复制到~/.opera再改,这样就不会因为Opera更新而被覆盖了。
因为发现我的电脑可以从U盘启动,所以打算为U盘装个小型系统,于是就开始选择。呵呵,又是选择。当然要支持中文,即使界面没有中文,最起码要能显示中文。
起先试了fanx,界面是舒服,kde的,大小对于我1G的盘来说还是过得去的。不过速度是有点慢,比Kubuntu 7.10 64-bit PC版的LiveCD要慢,至少在我的电脑上是这样的。而且添加新软件也不是很方便,要去下载,而且可选的也不多。
看到toy上的文章:多合一小型 Linux 光盘,逐一看下,CDlinux,Puppy有点搞头。再往下看有个SliTaz,介绍说比DSL还小,启动速度极快,还有Firefox、Mplayer,还软件包仓库。“软件包仓库”?!一个仅28M大小的东西还搞软件包仓库?于是我记住了SliTaz。
CDlinux和Puppy都还不错,尤其是Puppy,有一群中文开发者,还有中文Puppy Linux开发者之家呢,所以Puppy的中文支持是绝对不用担心的。不过它的界面风格不是很喜欢。
呃,还能做什么呢,一个软件包管理的特性就足够说服我去尝试SliTaz。通常我会事先通过Google来了解一下感兴趣的东西。Google最大的收获就是中文Puppy开发者之家上有篇“比Puppy还要袖珍的中文SliTaz”。看来中文Puppy开发者也惊叹于SliTaz的小巧。而且有提供单独的中文包下载。能显示中文,能输入中文,30M不到,有什么理由不去尝试?
我不是直接下载中文Puppy上提供的家酿版中文SliTaz,而是去SliTaz主站上下载了cooking版,然后再安装中文Puppy上提供的中文包。在此说下我的SliTaz LiveUSB安装过程吧。
首先用UNetbootin把SliTaz LiveCD的ISO到USB里,然后启动。这样就相当于有了一个LiveCD了。完后要重新使用SliTaz提供的tazusb程序将SliTaz安装进U盘,成为真正的LiveUSB。当然也可以就这样用用就好了,但tazusb制作的LiveUSB有很多好处。比如启动时的欢迎画面,以U盘作为/home,这样用户存储的数据不会丢失。所以强烈推荐重新装一遍。把UNetbootin生成的东西都删除。在SliTaz菜单里找到Mount devices,把SliTaz iso所在的分区挂载上。然后执行
# tazusb gen-iso2usb /path/to/iso
接下来的事情都不用操心,装完后就可以选择重启了。如果当前运行的SliTaz是从中文Puppy上直接下载来的,那tazusb是没有gen-iso2usb选项的,需要先进行升级,很简单的,打开右下角的Packages manager (GUI)就知道怎么做了。
现在启动真正的LiveUSB,U盘已经自动挂载为/home了。然后安装中文包
# tazpkg install /path/to/chinese-pack
然后再执行tazlocale,选zh_CN UTF-8,再修改/etc/profile,把G_FILENAME_ENCODING改成这样:
G_FILENAME_ENCODING=UTF-8
然后需要把/etc/chinese-pack/.config/下的一些配置文件copy到主目录下。注销重新登录后,显示输入中文应该都没有问题了。中文包还提供了一个终端模拟器叫sakura。
完成这一切后,还需要执行
以便生成新的rootfs.gz。每次安装新的软件后都要这样,要不然下次启动还是原来的样子。更多关于tazusb的用法可以看这里。
之后我还装了Xorg,按这篇文章安装了显卡驱动,不过使用Xorg后产生了xauth的问题,irc上求助也没解决。后来想想算了吧,能听歌就不错了,电影就免了。顺便说下,SliTaz的官方irc是irc.alterinet.org上的#slitaz。
本文就是在SliTaz LiveUSB下写的。
什么样的父亲敢对电话那头的绑匪说这样的话?在绑匪甩给他一句”Good luck”之后,他真的这样做了。他找到了绑匪并通过这句”Good luck”认出了他,对他说:
You don’t remember me.
We spoke on the phone two days ago.
I told you I would find you.
真是太强悍了!久违了如此凛厉的动作片。