StupidBeauty
Read times:928Posted at:Tue Sep 20 22:48:59 2011
- no title specified

Qomo2.0强行“平滑”升级至Qomo3.0

理论 上的分析

首先说明, 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. 1.rpm-4.8.1-5.2.i686.rpm

  2. 2.rpm-libs-4.8.1-5.2.i686.rpm

要下载备用的rpm包 ,其实这些软件包你也可以手动解压开,并且准备到时候手动安装到系统中

  1. 1.yum-3.2.29-1.noarch.rpm

  2. 2.libcurl-7.21.7-2.i686.rpm

  3. 3.libssh2-1.2-2.1.i686.rpm

  4. 4.openssl-1.0.0d-2.i686.rpm

  5. 5.python-pycurl-7.19.0-1.i686.rpm

  6. 6. python-urlgrabber- 3.9.1-6.noarch.rpm

  7. 7. rpm-python- 4.8.1-5.2.i686.rpm

  8. 8. rpm - build -4.8.1-5.2.i686.rpm

具体步骤:

修改仓库

启用 Qomo3.0的仓库

将这个仓库定义文件 下载,放到/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的 仓库

这一步简单,直接将Qomo2.0的仓库定义文件/etc/yumrepos.d/qomo.repo移动 到别处。如果你下 定决心要升级到Qomo3.0,即使“平滑”升级失败也要用光盘镜像重新安装的话,那么只管删除qomo.repo好咯。

准备 rpm命令 及相关工具

从qomo3.0的仓库里下载 rpm工具及它所依赖的rpm-libs的rpm包。 Qomo3.0的仓库其实就是yum_bluesheep。 把它们解压开,放到一个你能很方便地访问到的地方。 可使用file-roller解压,解压之后你会看到像usr、etc这样的目录 ,这些目录在真正安装的过程中是以系统的根目录为基准的

把yum工具的rpm包也下载下来,放到能够轻易访问的地方。

卸载 Qomo2.0里已有的rpm工具

直接 用rpm命令将rpm本身卸载吧 ,所有依赖它的软件也一起卸载。注意 ,这一步完成之后, Qomo2.0里面的好多东西都会卸载掉咯,所以你已经打开的程序最好不要轻易关掉,因为关掉之后你就可能再也启动不了那个程序咯。其它 的软件包都是其次的,最重要的是rpm命令本身会在这一步消失。 这个时候要做的就是手动安装rpm命令咯。

手动安装 Qomo3.0里的rpm工具

前面解压 好的rpm工具及其依赖项rpm-libs,现在可以拿来用咯。前面 说过,解压开之后是一些usr、etc这样的目录,将这些usr、etc整个直接复制到系统的根目录里 。这一步完成之后你就又可以使用rpm命令咯。如果 非要为这一步说个历史意义的话,本座认为这一步弄完之后,你的系统就已经实质上是Qomo3.0咯。

安装 Qomo3.0里的yum

用rpm命令将前面所说的yum及其依赖项的rpm安装到系统中。现在 你可以使用yum命令咯。

使用 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就行咯。

Your opinions
Your name:Email:Website url:Opinion content:
- no title specified

HxLauncher: Launch Android applications by voice commands

 
Recent comments
2017年4月~2019年4月垃圾短信排行榜Posted at:Thu Sep 26 04:51:48 2024
Qt5.7文档翻译:QWebEngineCookieStore类,QWebEngineCookieStore ClassPosted at:Fri Aug 11 06:50:35 2023盲盒kill -9 18289 Grebe.20230517.211749.552.mp4