openSUSE 跨版本升级
准备工作
此方法通过网络跨版本升级,适合 Leap 升级到下一个发行版(如 42.2 升级到 42.3),也适合 Leap 升级为 Tumbleweed。首先必须确定升级的时候有足够的时间、靠谱的更新源和快速并稳定网络。然后整理磁盘内的数据,将不再用的软件包卸载,不需要的东西删除,避免一次下载过多的软件包花费大量时间和者升级过程中磁盘空间不足的情况发生(以往的真实经验:平均 256kb/s 的下载速度升级 3000+ 软件包花费5个小时)。换源升级之前最好用 zypper up 命令将现有软件升级到最新版减小软件升级跨度。另外跨版本升级有一定概率失败或出问题,切记要备份好重要文件和设置以防万一!
替换软件源
将当前的软件源全部替换为将要升级版本的软件源。
方法一:一条命令直接替换(Tumbleweed 源结构略有不同,建议核对后用第二种方法。)
sudo sed -i "s/42.2/42.3/g" /etc/zypp/repos.d/*
方法二:
禁用当前所有的源,再加入将要升级版本的源。软件源名字和地址自己定义不要照搬,加入哪些源根据实际需要来决定。(升级成功后一定要及时整理软件源,否则误操作重新打开了所有的源就麻烦了。)
sudo zypper mr -da
sudo zypper ar -f http://mirrors.ustc.edu.cn/opensuse/distribution/leap/42.3/repo/oss/ USTC-OSS
sudo zypper ar -f http://mirrors.ustc.edu.cn/opensuse/distribution/leap/42.3/repo/non-oss/ USTC-NON-OSS
sudo zypper ar -f http://mirrors.ustc.edu.cn/opensuse/update/leap/42.3/non-oss/ USTC-UP-O
sudo zypper ar -f http://mirrors.ustc.edu.cn/opensuse/update/leap/42.3/oss/ USTC-UP-N
sudo zypper ar -f http://packman.inode.at/suse/openSUSE_Leap_42.3/ packman
方法三:
直接去 YaST 界面一个个手动替换。
刷新源
sudo zypper ref
升级系统
这一步依旧建议先 Ctrl+Alt+F1 切换到控制台登录后执行。毕竟全面升级在不同桌面环境和升级状况下有一定概率造成桌面环境崩溃,黑屏甚至虚拟终端程序中途退出中断升级等问题,经验不足的情况下非常容易损坏系统。
升级并自动应答
sudo zypper dup -y --auto-agree-with-licenses
或者执行升级命令后手动回答系统提问和指定设置
sudo zypper dup
整理软件和设置
更新过程全部顺利完成后重启,重新安装一些因为依赖关系被卸载掉的软件,必要的时候需整理第三方软件。少部分软件或系统功能可能需要重新设置,需要在使用过程中慢慢整理细节。
多媒体编解码器一定要重新核实一遍是否都来自 packman 源,就像以前全新安装时一样。
sudo zypper dup --from http://packman.inode.at/suse/openSUSE_Leap_42.3/
一切顺利的话整个系统就直接升级到新版本了。命令非常少,不必制作安装盘格式化分区,更避免了每新装一次系统又要从头开始进行各种安装和配置非常方便。
openSUSE 跨版本升级的更多相关文章
- android技巧(四)数据库跨版本升级写法
当项目中接手的需求需要在就前数据库数据表做出修改时,不得不面对数据库表结构的更新问题.一般的sqlite数据库更新修改数据库版本号时都会自动调用SqliteOptenHelper及其子类中的onUpg ...
- OpenShift跨版本升级
官方的in-place upgrade直接在线升级的参考链接 https://docs.openshift.com/container-platform/3.11/upgrading/automate ...
- Debian 跨版本升级
相对于某些重量级 Linux 发行版而言,同样是通过网络跨版本升级,Debian 的升级过程总要显得轻快很多.不会因为要下载数量惊人的软件包并安装而把升级时间拉得很长,也不用担心中途某些程序崩溃退出导 ...
- ES跨版本升级?——难道升级集群发生shard allocation是因为要分配replica节点???
Full cluster restart upgrade Elasticsearch requires a full cluster restart when upgrading across maj ...
- Android SQLite数据库版本升级原理解析
Android使用SQLite数据库保存数据,那数据库版本升级是怎么回事呢,这里说一下. 一.软件v1.0 安装v1.0,假设v1.0版本只有一个account表,这时走继承SQLiteOpenHel ...
- android项目数据库升级跨版本管理解决方案
目前公司android项目普遍使用框架对数据库进行操作,数据库表与数据实体都具有严格的对应的关系,但是数据库的升依赖不同版本间的升级脚本,如果应用跨多版本进行升级时,当缺失部分升级脚本时就会导致应用异 ...
- APP版本升级,测试用例总结
APP升级主要在线升级.离线升级.当有新版本时,提示更新,用户点击更新,下载最新版本,进行安装升级,这种就是在线升级:已有升级包,安装升级包进行升级,这种就是离线升级. 在线升级.离线升级常见测试用例 ...
- 转载:Android SQLite数据库版本升级原理解析
Android使用SQLite数据库保存数据,那数据库版本升级是怎么回事呢,这里说一下. 一.软件v1.0 安装v1.0,假设v1.0版本只有一个account表,这时走继承SQLiteOpenHel ...
- MySQL升级
MySQL的升级相对来说还是比较简单的. 它支持两种方式的升级: 原地升级(In-place Upgrade) 关闭数据库,替换旧的二进制文件,重启数据库,执行mysql_upgrade 逻辑升级(L ...
随机推荐
- 分享知识-快乐自己:Mybatis缓存机制
论缓存机制: 1):mybatis 提供了缓存机制减轻数据库压力,提高数据库性能. 2):mybatis 的缓存分为两级:一级缓存.二级缓存 3):一级缓存是SqlSession级别的缓存,缓存的数据 ...
- tensorflow 线性回归 iris
线性拟合
- centos7下面搭建lnmp环境
参考大神博客: http://www.linuxzen.com/lnmphuan-jing-da-jian-wan-quan-shou-ce-si-lnmpda-jian-yuan-ma-an-zhu ...
- leetcode 130 Surrounded Regions(BFS)
Given a 2D board containing 'X' and 'O', capture all regions surrounded by 'X'. A region is captured ...
- leetcode 111 Minimum Depth of Binary Tree(DFS)
Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shor ...
- 作业3rd
第三周作业 课本学习 使用nmap扫描特定靶机 使用nessus扫描特定靶机 靶机网络情况如下 在攻击机使用Nessus,步骤如下 新建一个扫描 填入目的主机ip,点击开始进行扫描 等待 扫描结果如下 ...
- ACM学习历程—Hihocoder 1164 随机斐波那契(数学递推)
时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 大家对斐波那契数列想必都很熟悉: a0 = 1, a1 = 1, ai = ai-1 + ai-2,(i > 1). ...
- 关于pyspark
http://spark.apache.org/ 官网,下载tar包 解压缩到本地: 设置环境变量,把%Spark解压缩路径%/bin放入到PATH变量中:(可以考虑设置一个SPARK_HOME) 在 ...
- SVN服务器搭建教程
常见的源代码管理工具 CVS 历史悠久,现在几乎没人使用 SVN 集中式版本控制的代表 CVS的接班人,速度比CVS快,功能比CVS强大 在国内使用率非常高(70%~90%) GIT 分布式源代码管理 ...
- 1、R-reshape2-cast
1.cast: 长型数据转宽型数据 (1).acast,dcast的区别在于输出结果.acast 输出结果为vector/matrix/array,dcast 输出结果为data.frame. ...