Granola

LinuxToy推荐了一款叫Granola的软件,瞅着不错,大约应该能给我减少点热量排出,于是便准备在这台ArchLinux下试试。

很幸运地,AUR里面已经有相关的包了,那剩下的安装过程极其简单,直接

aur -S granola-gui

这就完事了。接下来就是启动这玩意儿了。需要注意的是,granola依赖两个kernel module:acpi_cpufreq和cpufreq_userspace。我一开始没注意,一直启动不了granola:(。废话不多说,反正运行 下面的命令就行了:

继续阅读

安全地更新ArchLinux

使用任何系统,难免会碰到需要更新系统的情况。有时是为了修补漏洞,有时是为了提高易用 性。ArchLinux为了这样的需求,提供了一个非常方便的方法,只要使用pacman -Syu就能对系统进行一次全面的 更新。

但是,世事难料,这样的全面更新难免会有一些这样那样的问题。比如更新的软件包与工作环境不兼容,又比如包维护人员出了点小纰漏导致更新后有虫爬。 因为操作系统也是软件,总会有出错的时候,所以这些问题我们都能容忍,但是在容忍的同时,我们也会希望有一个恢复原状的方法。这样,在问题解决以前,我们 的工作不至于被耽搁。可惜的是,ArchLinux的包管理程序pacman并没有提供这样的功能。

继续阅读

ArchLinux最新更新注意事项

完年到单位,想起来好久没更新,便手贱运行了一把,谁知,ArchLinux继上次被我骂完后再次不争气的报错了。

$ sudo pacman -Su
:: Starting full system upgrade...
:: Replace klibc with core/mkinitcpio? [Y/n] Y
:: Replace klibc-extras with core/mkinitcpio? [Y/n] y
:: Replace klibc-kbd with core/mkinitcpio? [Y/n] y
:: Replace klibc-module-init-tools with core/mkinitcpio? [Y/n] y
:: Replace klibc-udev with core/mkinitcpio? [Y/n] y
resolving dependencies...
looking for inter-conflicts...
error: failed to prepare transaction (could not satisfy dependencies)
:: kdelibs: requires phonon

于是只好骨骼去,发现官方论坛上有解,点此跳转

主要原因是qt升级,原先脆弱的依赖关系无法解决问题,需要先单独更新qt后才能继续剩余部分的更新,所以需要按如下顺序进行系统升级。

% pacman -Sy --asdeps qt
% pacman -Su

问题虽然解决,但是最近Arch在我的心目中的印象是大打折扣了,有种恨铁不成钢的感觉哪……

发现我作为用户实在是太挑剔了……

ArchLinux sucks

从Firefox 3.6出来之后,我就一直在等着ArchLinux的官方源的更新。可好不容易等到了更新,兴冲冲地下载了,结果却发现问题来了……pcmanfm和vim都打不开了,细看了一下,才发现这次更新居然把libjpeg和libpng都升级了……你说更新也就更新了吧,但是起码也把依赖它的玩意儿也相应更新一下哈,但是很不幸的,pcmanfm和vim依然孤零零地维持着老版本,ldd的结果也还是那么触目惊心 = =

虽然大部分情况下我对Arch还是挺满意的,但是现在越来越觉得Arch的包管理实在是太不慎重了。之前已经碰到过几次,比如升级libjpeg6到libjpeg7的时候,pil直接咯屁;又比如升级heimdal和subversion后,svn也翘了辫子。虽然说aur里还是能找到相关的支持,但是官方stable的源其实是这么的不stable,那也确实够郁闷的了。

诶,可是现在使用apt的系统都不怎么喜欢,难道说真得换成Gentoo了么……

2010-02-08 10:47 Updated 发现问题,其实是gtk2没有更新导致的,依赖关系是pcmanfm -> libgtk-x11 -> libpng。虽然这回如果是用pacmna -Su的话应该是没什么问题,但是还是让人觉得ArchLinux的不安全。既然存在依赖,那么在升级时就应该有相应的检查,但是目前看下来pacman是不会处理反向的依赖关系的……起码我还没有发现……

利用pacman的包缓存无痛安装ArchLinux

Oh yeah!第100贴,撒花~~

装ArchLinux痛苦么?一般来说是无痛的,网络条件允许的情况下下载安装二进制包那是唰唰的。可是如果碰到下面几种情况呢:

  1. 网速超慢
  2. 需要安装多台机器
  3. 需要装个ArchLinux虚拟机尝试新功能

虽然说这些情况用pacman也是OK的,但是,慢速下载或者重复下载就是一件非常痛苦的事情了。

碰到这样的情况,特别是需要安装多台archlinux的时候,大家应该会想到,要不然就自己建一个软件包镜像呗。可是怎么做?用rsync ?那网络慢的时候不还是没法解决这个问题么?而且事实上没有必要保存一个完整的镜像,基本上平时要用的也就那么几个包而已。

继续阅读

Openbox的一些配置

开始用ArchLinux,我就决定要一切从简。于是Desktop Environment没有Gnome,而是直接用了Openbox。这样速度是快,不过还是有问题的:

  • 第一,重启/关机的时候必须用命令行调用 sudo
  • 第二,设备的自动挂载相当麻烦,还是得依靠 sudo mount 来解决

继续阅读

Pacman的一些技巧

ArchLinux如果作为Desktop环境,应该是相当便捷的,一般情况下只要pacman -Syu就可以保持系统在最新的稳定状态。但是如果将ArchLinux作为开发机或者服务器,有一些东西还是得需要注意一下。

软件包组 Package Group

这个概念其实大家早就碰到过了,安装基本系统时会让你选择base和base-devel,这些其实就是软件包组。又比如说gnome,这也是一个,大家在pacman -S gnome的时候应该都看到了pacman的相关提示了吧。使用软件包组在部分更新时非常方便,比如更新基本系统,只需要pacman -S base就可以实现了,免除了手动输入那一长串的包名……

那么,怎么知道有哪些软件包组呢?其实只要使用pacman -Sg这个命令,就能看到当前库中所提供的所有软件包组列表,而使用pacman -Sg <包名>则可以查看指定软件包组的具体内容。

继续阅读

解决freemind在Archlinux下的乱码问题

机器上pacman了一个freemind,打开后很不幸地发现,中文字符都是方块,非常的刺眼。Google一把,觉得应该是安装的openjdk的字体设置问题。于是

$ pacman -Ql openjdk6 | grep font
openjdk6 /usr/lib/jvm/java-6-openjdk/jre/lib/fontconfig.bfc
openjdk6 /usr/lib/jvm/java-6-openjdk/jre/lib/fontconfig.properties.src
openjdk6 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libfontmanager.so
openjdk6 /usr/lib/jvm/java-6-openjdk/jre/lib/psfont.properties.ja
openjdk6 /usr/lib/jvm/java-6-openjdk/jre/lib/psfontj2d.properties

一个个查下来,发现是fontconfig.properties.src有问题,其中的wqy-zenhei的路径指错了。于是

$ pacman -Ql wqy-zenhei | grep ttc
/usr/share/fonts/wenquanyi/wqy-zenhei/wqy-zenhei.ttc

把得到的正确路径改进去。重启freemind,又见方块,抓狂。突然想起来fontconfig.properties.src这文件名有点怪,带个src的扩展名感觉就是不会生效的样子。一时也找不到怎么让改过的设置生效,于是病急乱投医,直接把src给去了,结果就ok了。这次问题解决的相当诡异,遂记之 = =