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 ...
随机推荐
- suse enterprise Linux 11上配置 oracle11g和tomcat开机自启动
一.oracle 11g r2自启动 1.修改/etc/sysconfig/oracle文件: ORACLE_BASE=/oracle //此处改为你安装的oracle目录 START_ORACLE ...
- 关于Django ORM filter方法小结
django filter是一个过滤器,相当于SQL的select * from where. filter返回一个QuerySet对象,还可以在该对象上继续进行django orm 该有的操作. 有 ...
- windows下vs2012用gsoap开发webservice实例
零:说明 1.本文是根据网上前人经验结合自己动手操作写成,开发工具用的vs2012,gsoap用的是gsoap-2.8: 2.gsoap提供的工具简单介绍 1)wsdl2h.exe:根据WSDL文件生 ...
- Android HAL层与Linux Kernel层驱动开发简介
近日稍微对Android中的驱动开发做了一些简要的了解. HAL:Hardware Abstract Layer 硬件抽象层,由于Linux Kernel需要遵循GPL开源协议,硬件厂商为了保护自己硬 ...
- 梯度算子(普通的+Robert + sobel + Laplace)
1.水平垂直差分法: 2.Robert 算子梯度 3.sobel算子 4.拉普拉斯算子
- AD 学习
http://blog.csdn.net/lingpaoershiyishiji/article/details/9139527
- Swoole 协程 MySQL 客户端与异步回调 MySQL 客户端的对比
Swoole 协程 MySql 客户端与 异步回调 MySql 客户端的对比 为什么要对比这两种不同模式的客户端? 异步 MySQL 回调客户端是虽然在 Swoole 1.8.6 版本就已经发布了, ...
- 在ubuntu下如何验证文件的MD5码 (转载)
转自:http://blog.csdn.net/david_xtd/article/details/7641682 在windows下可以使用专用的工具软件如WinMD5等来查看文件的MD5码, 在u ...
- python寻找小于给定值的最大质数
# -*- utf-8 -*- # @Time: 2019-04-16 # @ Author: chen def prime(self, value): """判断是否为 ...
- 3dmax tcb控制器
https://wenku.baidu.com/video/course/v/3a0e059d884c4d0b03bf85441b87311b 7.48开始 tcb控制器比较适合产生平滑动画 张力Te ...