大家都熟悉通过网络upgrade升级Linux系统,这里要介绍的是如何downgrade降级系统。背景情况是这样的:我将系统升级到feisty h3之后,发现libvte-0.15.3有个bug,会影响gnu screen的正常使用。虽然看见bugzilla@gnome已经有了report不过好像还没有啥正式resolv的希望,就只好希望能回滚到edgy的libvte9对应版本。 
  大概过程是这样,首先是修改/etc/apt/sources.list,添加对应的edgy source。这个步骤比较简单,用vim吧feisty源先复制一遍,然后将feisty替换成edgy就可以了。修改完了
  apt-get update
  更新一下数据。这么做的目的,就是希望package database里面同时包括新老两个版本的包版本信息。这里说一下,目前就我的实际经验看,好像也没有什么负面影响,因为apt会尽力把包升级到最新的版本,也就是说,一般情况下,老版本的包数据并不会影响新版本的升级。完成第一步之后,就是请出aptitude这个工具。原来只是简单的认为aptitude只是一个apt的简单壳子,今天深入研究一下,才发现aptitude扩展功能相当的强大,算是等同于dselect吧,用起来比dselect顺手不少。言归正传,首先用
  apt-cache showpkg libvte9
  察看一下可用的package版本。这时候可以看到libvte9的两个版本,一个对应feisty一个对应edgy。看清版本号之后,使用
  aptitude upgrade libvte9=1:0.14.1-0ubuntu1
  这样的写法,强制升级制定版本号的包,设置版本的写法还有其他,可以man一下详细信息。aptitude会自动计算依赖关系,如果一切顺利,libvte9以及相关的包,就会降级到老的edgy版本。做完之后,可以使用
  aptitude hold libvte9
  来保持这个包的状态,避免在以后upgrade过程中被升回feisty的版本。最后要记得的事情,如果想让libvte9重新可以升级,需要unhold这个包。命令行是aptitude keep libvte9,这样就可以继续正常升级libvte9到最新版本了。这里有个比较奇怪的事情,就是我用aptitude unhold libvte9好像没有什么用,到使用aptitude keep libvte9可以清除包的hold标志。另外一个推荐的方法,就是用aptitude upgrade libvte9=xxx强制将包升级到指定版本,这个就和前面说的一样,需要先showpkg看一下可用版本。
  顺便说两句,可以用aptitude search libvte9来察看当前包的状态。aptitude本身就提供一个字符交互界面,如果命令行没有参数,就会进入这个界面,操作也是很直观的。折腾了这么一轮,对deb/apt/aptitude这个debian系的包管理系统了解又进了一层,对这样现代科技真实叹为观止。整个包系统也能像cvs/svn管理代码这样来回翻滚版本,还真是很方便。计划过年无事的时候,稍微深入了解一下deb相关的包系统。

Ubuntu 如何downgrade降级系统的更多相关文章

  1. Ubuntu进不入系统,一直停留在ubuntu图标画面(转)

    Ubuntu进不入系统,一直停留在ubuntu图标画面(转) 在VMware中对Ubuntu进行“关闭电源”后,再次进入,一直停留在ubuntu的图标画面,无法进入系统了!网上也有别的网友碰到这个问题 ...

  2. Ubuntu Vim 复制到系统粘贴板

    /************************************************************************* * Ubuntu Vim 复制到系统粘贴板 * 说 ...

  3. Windows XP硬盘安装Ubuntu 12.04双系统图文详解

    Windows XP硬盘安装Ubuntu 12.04双系统图文详解 Ubuntu 12.04 LTS版本于2012年4月26日发布,趁着五一放假,赶紧在自己的Windows XP的电脑上安装下Ubun ...

  4. Ubuntu和win10双系统Grup无法引导解决方案

    通常我们经常安装双系统, 但是有时候安装完系统无法正常引导, 以下就说明Ubuntu和win10双系统, win10在grub界面不断循环的解决方案 直接在win10启动项目上按e进入编辑模式 在文档 ...

  5. win7 下安装 ubuntu 16.04双系统

    Ubuntu 每年发布两个版本,目前最新正式版版本也升到了 16.04.Ubuntu 16.04 开发代号为"Xenial Xerus",为第六个长期支持(LTS)版本,其主要特色 ...

  6. 沉淀,再出发——安装windows10和ubuntu kylin15.04双系统心得体会

    安装windows10和ubuntu kylin15.04双系统心得体会 一.安装次序      很简单,两种安装次序,"先安装windows后安装linux:先安装linux后安装wind ...

  7. 树莓派Ubuntu 16.04 MATA系统 修改用户文件夹名后,提示configure it with blueman-service

    自从修改了树莓派的Ubuntu 16.04 MATA 系统的 /home/ 下的用户文件夹名后,使用vncserver远程操作,看到桌面每次都提示 Configured directory for i ...

  8. 树莓派3b+ Ubuntu 16.04 MATA系统 ssh远程登陆后修改主机名、用户密码和用户名

    写在前面: 刚刚开始写博客,记录下自己的学习过程,备忘. 最近在使用树莓派做智能小车的开发,使用的是树莓派3b+,安装的是Ubuntu 16.04 MATA 系统,安装系统后需要修改主机名,登陆密码以 ...

  9. ubuntu window 10 双系统

    https://rufus.ie/ U盘制作工具 http://releases.ubuntu.com/18.04/ubuntu-18.04.2-desktop-amd64.iso   ubuntu ...

随机推荐

  1. 利用wsdl2java工具生成webservice的客户端代码

    1.JDK环境  2.下载apache-cxf发布包:http://cxf.apache.org/download.html 目前最新版本为3.2.6, 解压后如下: 解压发布包,设置CXF_HOME ...

  2. php随机生成汉字实现方法

    GB 2312-80 是中国国家标准简体中文字符集,全称<信息交换用汉字编码字符集·基本集>,由中国国家标准总局发布,1981年5月1日实施.GB2312 编码通行于中国大陆:新加坡等地也 ...

  3. TensorFlow教程——Bi-LSTM+CRF进行序列标注(代码浅析)

    https://blog.csdn.net/guolindonggld/article/details/79044574 Bi-LSTM 使用TensorFlow构建Bi-LSTM时经常是下面的代码: ...

  4. 转:Parameter Server 详解

    Parameter Server 详解   本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 更多相关博客请猛戳:http://blog.csdn.net/c ...

  5. 3分钟搞定Linux系统正则表达式

    正则表达式是一种字符模式,用于在查找过程中匹配制定的字符. 元字符通常在Linux中分为两类:Shell元字符,由Linux Shell进行解析:正则表达式元字符,由vi/grep/sed/awk等文 ...

  6. Sharepoint claim认证的login name

    当SharePoint网站开启了Claims认证后,取回来的user的loginname是一个奇怪的字符串,这个到底是什么意思那? 这篇文章详细解释了: https://blogs.msdn.micr ...

  7. 红米1线刷救砖教程V5版(移动联通适用,线刷包永久有效)

    红米1线刷救砖教程V5版(移动联通适用,线刷包永久有效) 原文来自:http://www.miui.com/thread-1890972-1-1.html?mobile=2 ,加了些自己的经验. (我 ...

  8. JavaScript常用设计模式

    单例模式:确保类只能被实例化一次. var obj = {} 2.函数返回值 var func = function () {return {}} var obj = func(); 3.构造函数初始 ...

  9. poj2689 Prime Distance 有难度 埃拉托斯尼斯筛法的运用

    我承认这道很难(对我来说),搞脑子啊,搞了好久,数论刚开始没多久,还不是很强大,思路有点死,主要是我 天赋太差,太菜了,希望多做做有所改善 开始解析: 首先要将在 [ l,u]内的所有素数找出来,还好 ...

  10. Hadoop创建新用户

    HDFS本身并没有提供用户名.组等的创建和管理,在客户端操作Hadoop时,Hadoop自动识别执行命令所在的进程的用户名和用户组,然后检查是否具有权限.启动Hadoop的用户即为超级用户,可以进行所 ...