前言:我不知道你是否也跟我一样爱折腾系统,我是加的Factory源,时刻用最新的软件,可能就算你不折腾系统也会遇到这样的问题:
1)系统更新重启后 无法进入系统,但也不知道是哪些软件包,不想重装系统因为原来的那些聊天记录 配置文件等都需要重来
2)出了新的版本如11.2但通过源来更新的话特别慢 而且还有很多依赖关系需要处理
3)或者你发现更新新后的版本不好,还是想退回到以前的版本
这个时候你其实应该学会这招,你就会发现升级系统解决问题竟然是如此的简单。
以下尽量基本命令行下的操作,这样当图形化界面出问题还可以解决。
第一步:确定要更换的版本
首先你要决定是从openSUSE 11.1 升级到openSUSE 11.2 M7 呢 还是退到11.0 还是恢复最开始的11.1 。
决定好了就下载ISO文件吧。
如我 是使用的openSUSE 11.1更新坏了 进不了图形界面,退回去肯定有点不肯,那就下个openSUSE 11.2M7 更新到最新吧。
第二步:清理原来的安装源
把原来的软件安装源先都移走吧,以后是否有用,以后再去筛选
cd /etc/zypp/repos.d
mv * ../tempdir
第三步:添加新的ISO源
Yast->Software->Software Repositories->Add->Local ISO Image添加DVD镜像。(有没用zypper 一条命令来添加的 我没有具体查)
第四步:最关键的一条命令
zypper dup
这条命令将会以ISO软件为主,强制的把其它有依赖冲突的包给去掉。
另外其它两条命令也熟悉下
zypper ref 刷新源
zypper lu 列出可以更新的软件
第五步:重启系统,完善一下
因为可能因为原来的一样依赖关系失去,导致一些软件被删除,这个时候只要手动再添加上,相应的配置文件和日志文件等是不会被删除的。
再把原来的源,看是否还有用的 或者需要修改的进行下调整。
这招叫“快刀斩乱麻”,只要有ISO那个速度是刷刷的,呵呵 。
问题:
很多人在正在运行的Suse上执行命令,zypper dup,即zypper distribution upgrade.但是执行完之后,会出现各种各样的问题。比如,我就曾经经历过,dup后,所有的yast2的管理包,都打不开。
这是因为dup更新了libzyyp,libzyyp更改或删除了他的安装脚本内软件储存池的绝对路径,但是zypper本身还是按照原来的libzypp来执行install,这样导致,安装不成功或者干脆安装了错误的包,导致系统错误。
解决方案:
按照顺序执行
zypper in zypper
zypper dup
第一个命令保证安装了正确的zypper,第二个命令保证正确的系统更新。
不知道是否现在已经内置这个功能了,我dup几次没有出现这个问题 ,不过还是注意的比较好。
回复