首先说明, Qomo的开发者 没让用户从Qomo2.0平滑升级至 Qomo3.0是有道理的。 这两个版本之间的某些库的冲突导致无法直接使用 yum、KPackageKit、yumex将Qomo2.0升级至Qomo3.0。 在本座看来,冲突的主要原因是某些被广泛依赖的底层库(举个例子, glibc从Qomo2.0里的2.12升级到Qomo3.0里的2.14 ,当然glibc不一定是导致这个问题的那些包中的一个 ) 被升级到新版本,同时勒,很不幸的是 大部分依赖这些底层库的其它“中层”库 (打个比方,jasper这个包,本座在升级过程中印象比较深刻所以记得它,同样的,导致问题的不一定是它)在Qomo3.0中与在Qomo2.0中的版本是完全一样的 ,而在Qomo3.0中,它们又是以那些新的底层库为基础打包的 ,在Qomo2.0中,它们是以旧的底层库为基础打包的。 这句话较长,也许没写清楚哈。总之,导致 的结果是 , 当你想使用 Qomo3.0的仓库升级前面所说的底层库时,由于 Qomo2.0里面那些中层库的存在 ,它们直接依赖 像“lib??.so.1”这样的库文件 (因此而直接依赖Qomo2.0里的底层库) ,而不是写明咯依赖哪个软件包(对于这一点,本座觉得打包的人偷懒咯 ,嘿嘿 ) , 同时那些 中层库在两个Qomo版本中的版本号完全一样,所以那些中层库并不会被“升级”(因为Qomo3.0里的并不新), 这样Qomo2.0里的那些 中层库 阻止 咯 你升级底层库的操作。 一定要升级那些底层库的话,需要先将这些中层库都卸载掉,再 从 Qomo3.0仓库里安装 这些 中层库 。在卸载的过程中,你就会发现,牵一发而动全身,Qomo2.0的整个系统都会因此而被卸载掉,包括最根本的软件包管理器rpm本身。 这就是Qomo3.0不提供 从Qomo2.0的平滑升级的原因。确 实 平滑 不了。 不过本座在写这个记录的时候想咯想,理论 上说从Qomo1.0是可以平滑升级至Qomo3.0的 ,估计 Qomo1.0里面的软件包都比Qomo3.0里的旧(如果不是这样的话 ,…… ) ,有兴趣的同学可以试试。
这个过程有点麻烦,不想折腾的同学还是老老实实用光盘安装Qomo3.0吧。本座 是个强迫症患者,没办法 ,Qomo出世的时候 说咯可以平滑升级的嘛,本座就非要平滑升级咯。
升级过程 的麻烦之处在于,当你卸载那些 中层库(本座的术语,在这里专指那些依赖底层库而在Qomo2.0与Qomo3.0中版本号完全一样的包 ,还是比较多的 ) 时, rpm工具( 这里就是指rpm这个命令对应的软件包 ) 也会被卸载,而当它被卸载时, 你就 不能再使用rpm命令咯。对于 这个问题, 是有解决方法的, 在你准备卸载掉Qomo2.0中的rpm命令之前 ,先从Qomo3.0的仓库里下载 rpm命令本身的rpm包以及它所依赖的库的rpm包, 再将它们解压开(例如使用 file-roller来解压 ,注意file-roller在Qomo中是没有rpm包的,所以需要自己下载 源代码编译哈 ),放到一边备用, 当你 发现rpm命令已经不存在时,将刚才解压的rpm命令的包和依赖库手动复制到系统 的对应目录中 ,就又可以用rpm命令咯。另外 ,最好把yum及其依赖库的rpm包也下载好,到时用手动安装的rpm命令来安装它们。 这里先列个清单:
要下载并解压的rpm包 :
1.rpm-4.8.1-5.2.i686.rpm
2.rpm-libs-4.8.1-5.2.i686.rpm
要下载备用的rpm包 ,其实这些软件包你也可以手动解压开,并且准备到时候手动安装到系统中 :
1.yum-3.2.29-1.noarch.rpm
2.libcurl-7.21.7-2.i686.rpm
3.libssh2-1.2-2.1.i686.rpm
4.openssl-1.0.0d-2.i686.rpm
5.python-pycurl-7.19.0-1.i686.rpm
6. python-urlgrabber- 3.9.1-6.noarch.rpm
7. rpm-python- 4.8.1-5.2.i686.rpm
8. rpm - build -4.8.1-5.2.i686.rpm
将这个仓库定义文件 下载,放到/etc/yumrepos.d/目录中: ftp://hxcan.gicp.net/QomoMirror/HxcanYumBlueSheep.repo
如果不能下载,那么手动 将 以下内容保存到/etc/yumrepos.d/HxcanYumBlueSheep.repo文件中 :
[coreHxcanYumBlueSheep]
Name=Qomo Core Repository,YumBlueSheep/RPMS
baseurl=ftp://www.linux-ren.org/pub/qomo/yum_bluesheep/RPMS
#gpgkey=http://www.linux-ren.org/pub/qomo/current/qomo_repos_key.asc
enabled=1
gpgcheck=0
这麽做是为咯在系统中使用Qomo3.0的软件仓库。
这一步简单,直接将Qomo2.0的仓库定义文件/etc/yumrepos.d/qomo.repo移动 到别处。如果你下 定决心要升级到Qomo3.0,即使“平滑”升级失败也要用光盘镜像重新安装的话,那么只管删除qomo.repo好咯。
从qomo3.0的仓库里下载 rpm工具及它所依赖的rpm-libs的rpm包。 Qomo3.0的仓库其实就是yum_bluesheep。 把它们解压开,放到一个你能很方便地访问到的地方。 可使用file-roller解压,解压之后你会看到像usr、etc这样的目录 ,这些目录在真正安装的过程中是以系统的根目录为基准的 。
把yum工具的rpm包也下载下来,放到能够轻易访问的地方。
直接 用rpm命令将rpm本身卸载吧 ,所有依赖它的软件也一起卸载。注意 ,这一步完成之后, Qomo2.0里面的好多东西都会卸载掉咯,所以你已经打开的程序最好不要轻易关掉,因为关掉之后你就可能再也启动不了那个程序咯。其它 的软件包都是其次的,最重要的是rpm命令本身会在这一步消失。 这个时候要做的就是手动安装rpm命令咯。
前面解压 好的rpm工具及其依赖项rpm-libs,现在可以拿来用咯。前面 说过,解压开之后是一些usr、etc这样的目录,将这些usr、etc整个直接复制到系统的根目录里 。这一步完成之后你就又可以使用rpm命令咯。如果 非要为这一步说个历史意义的话,本座认为这一步弄完之后,你的系统就已经实质上是Qomo3.0咯。
用rpm命令将前面所说的yum及其依赖项的rpm安装到系统中。现在 你可以使用yum命令咯。
现在使用yum update来升级整个系统吧。 这一步一定会有很多冲突出现 的,见招拆招吧 ,一个简单的原则是,当Qomo2.0中原来安装的包 与Qomo3.0仓库中的包冲突时,先卸载掉Qomo2.0中对应的包 ,有什么依赖项 都尽情卸载 。放心 吧, 你已经解压开咯rpm工具的软件包,并且可以手动安装 (其实任何软件包都可以解压开之后手动安装,只是某些软件的rpm包自带咯脚本,那就需要自己手动运行一下咯) ,这样任何rpm包你都能用rpm命令安装的。 就是有一点要注意,确保 你的网络是畅通的(例如,你是用的无线网 吗 ?那就有风险,因为无线网相关的软件包也可能在这个过程中被删除) 。
上一步那么一搞,应该会有很多常用的软件 都会被卸载掉,例如KDE整个会被卸载。 这个时候就需要将你常用的软件再安装一次咯。这次安装的将会是Qomo3.0的软件仓库中的软件。
理论 上来说,这一步完咯之后你的系统就是Qomo3.0咯。
在安装新的yumex时,可能会将依赖关系解析成gdk-pixbuf,从而将gdk-pixbuf安装上。 而实际上 yumex要依赖gdk-pixbuf2里的某些东西而不是gdk-pixbuf。 所以当你安装咯yumex并且运行它时发现 它报告错误之后退出的话, 去检查一下系统里面是不是安装的gdk-pixbuf,如果是的话,卸载掉(yumex也会被卸载),再安装gdk-pixbuf2,再安装yumex就行咯。
HxLauncher: Launch Android applications by voice commands