大家都熟悉通过网络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. ASP.NET中Session的个人浅谈

    看到博客园的一个哥们写的面试经历,想到了面试中常问到的Session,一时手痒就谈下自己对Session的理解,这东西最开始在用户登录登出的时候用到过,后来一直没怎么用过,里面还是有很多知识点值得注意 ...

  2. ARDC Android 远程桌面助手 录屏 演示 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  3. 构建-13 Analyzer APK文件分析

    官方文档 使用APK Analyzer分析您的构建  [Analyze your build with APK Analyzer] Android Studio包含一个APK分析器,可在构建过程完成后 ...

  4. CentOS 6和CentOS 7防火墙的关闭

    CentOS6.5查看防火墙的状态: 1 [linuxidc@localhost ~]$service iptable status 显示结果: 1 2 3 4 5 [linuxidc@localho ...

  5. MFC中页面设置对话框CPageSetupDialog

    void CCPageSetupDialogView::OnPageSetting() { CPageSetupDialog dlg; // 利用默认参数构造页面设置对话框 if(dlg.DoModa ...

  6. 【Java】Java-ShutDownHook-优雅关闭系统资源

    Java-ShutDownHook-优雅关闭系统资源 java shuadownhook_百度搜索 Java应用中使用ShutdownHook友好地清理现场 - 残雪余香 - 博客园 java kil ...

  7. 【转】TensorFlow四种Cross Entropy算法实现和应用

    http://www.jianshu.com/p/75f7e60dae95 作者:陈迪豪 来源:CSDNhttp://dataunion.org/26447.html 交叉熵介绍 交叉熵(Cross ...

  8. 如何把本地代码提交到git(码云)、github代码管理项目上

    前提必须安装了git工具 以下命令操作都是通过git bash操作. 将本地代码提交到码云空项目操作: D:\>mkdir inek_winprop D:\>cd inek_winprop ...

  9. Ext JS isField为空或不是对象问题的解决

    在做Ext Js的DataGrid的时候经常会遇到这种问题,火狐谷歌没有问题,IE8及以下版本就无法通过,经调试会提示: “isField为空或不是对象问题的解决” 这通常是我们在js代码中多加了一个 ...

  10. ZOJ 3456 Traveler Nobita 最小生成树

    Traveler Nobita Time Limit: 2 Seconds      Memory Limit: 65536 KB One day, Nobita used a time machin ...