linux指令能回滚么,如何在Ubuntu上撤消或回滚“ apt-get upgrade”命令?

我今天必须在Debian系统上执行此操作。首先,我确定了有问题的升级发生的时间范围,并检索了给出升级包的新旧版本号的日志条目:

$ awk '$1=="2016-03-20" && $3=="upgrade"' /var/log/dpkg.log

2016-03-20 16:58:22 upgrade libwebkitgtk-3.0-0:amd64 2.4.9-3 2.4.10-1

2016-03-20 16:58:24 upgrade libjavascriptcoregtk-3.0-0:amd64 2.4.9-3 2.4.10-1

2016-03-20 16:58:26 upgrade traceroute:amd64 1:2.0.22-1 1:2.1.0-1

2016-03-20 16:58:33 upgrade ethtool:amd64 1:4.2-1 1:4.5-1

2016-03-20 16:58:34 upgrade libsdl1.2debian:amd64 1.2.15+dfsg1-3 1.2.15+dfsg1-4

2016-03-20 16:58:34 upgrade subversion:amd64 1.9.3-2+b1 1.9.3-3

2016-03-20 16:58:36 upgrade libsvn1:amd64 1.9.3-2+b1 1.9.3-3

2016-03-20 16:58:56 upgrade linux-image-amd64:amd64 4.3+70 4.4+71

2016-03-20 16:58:56 upgrade linux-libc-dev:amd64 4.3.5-1 4.4.6-1

2016-03-20 16:59:03 upgrade amd64-microcode:amd64 2.20141028.1 2.20160316.1

接下来,我尝试在磁盘上找到仍在缓存的软件包文件(幸运的是,我没有运行autoclean):

$ awk '$1=="2016-03-20" && $3=="upgrade" {gsub(/:/, "%3a", $5); split($4, f, ":"); print "/var/cache/apt/archives/" f[1] "_" $5 "_" f[2] ".deb"}' /var/log/dpkg.log | xargs -r ls -ld

ls: cannot access '/var/cache/apt/archives/ethtool_1%3a4.2-1_amd64.deb': No such file or directory

-rw-r--r-- 1 root root 28820 Dec 18 2014 /var/cache/apt/archives/amd64-microcode_2.20141028.1_amd64.deb

-rw-r--r-- 1 root root 1978874 Dec 10 18:22 /var/cache/apt/archives/libjavascriptcoregtk-3.0-0_2.4.9-3_amd64.deb

-rw-r--r-- 1 root root 185006 Mar 12 00:41 /var/cache/apt/archives/libsdl1.2debian_1.2.15+dfsg1-3_amd64.deb

-rw-r--r-- 1 root root 1317644 Mar 3 11:30 /var/cache/apt/archives/libsvn1_1.9.3-2+b1_amd64.deb

-rw-r--r-- 1 root root 7679400 Dec 10 18:22 /var/cache/apt/archives/libwebkitgtk-3.0-0_2.4.9-3_amd64.deb

-rw-r--r-- 1 root root 6108 Dec 14 06:59 /var/cache/apt/archives/linux-image-amd64_4.3+70_amd64.deb

-rw-r--r-- 1 root root 1075506 Feb 7 21:36 /var/cache/apt/archives/linux-libc-dev_4.3.5-1_amd64.deb

-rw-r--r-- 1 root root 983174 Mar 3 11:30 /var/cache/apt/archives/subversion_1.9.3-2+b1_amd64.deb

-rw-r--r-- 1 root root 53376 Feb 28 18:35 /var/cache/apt/archives/traceroute_1%3a2.0.22-1_amd64.deb

出于某种原因,我似乎没有较旧的ethtool软件包。尽管如此,让我们继续通过强制安装较早的软件包文件来进行操作:

$ sudo dpkg -i /var/cache/apt/archives/amd64-microcode_2.20141028.1_amd64.deb /var/cache/apt/archives/libjavascriptcoregtk-3.0-0_2.4.9-3_amd64.deb /var/cache/apt/archives/libsdl1.2debian_1.2.15+dfsg1-3_amd64.deb /var/cache/apt/archives/libsvn1_1.9.3-2+b1_amd64.deb /var/cache/apt/archives/libwebkitgtk-3.0-0_2.4.9-3_amd64.deb /var/cache/apt/archives/linux-image-amd64_4.3+70_amd64.deb /var/cache/apt/archives/linux-libc-dev_4.3.5-1_amd64.deb /var/cache/apt/archives/subversion_1.9.3-2+b1_amd64.deb /var/cache/apt/archives/traceroute_1%3a2.0.22-1_amd64.deb

dpkg: warning: downgrading amd64-microcode from 2.20160316.1 to 2.20141028.1

(Reading database ... 139632 files and directories currently installed.)

Preparing to unpack .../amd64-microcode_2.20141028.1_amd64.deb ...

Unpacking amd64-microcode (2.20141028.1) over (2.20160316.1) ...

dpkg: warning: downgrading libjavascriptcoregtk-3.0-0:amd64 from 2.4.10-1 to 2.4.9-3

Preparing to unpack .../libjavascriptcoregtk-3.0-0_2.4.9-3_amd64.deb ...

Unpacking libjavascriptcoregtk-3.0-0:amd64 (2.4.9-3) over (2.4.10-1) ...

dpkg: warning: downgrading libsdl1.2debian:amd64 from 1.2.15+dfsg1-4 to 1.2.15+dfsg1-3

Preparing to unpack .../libsdl1.2debian_1.2.15+dfsg1-3_amd64.deb ...

Unpacking libsdl1.2debian:amd64 (1.2.15+dfsg1-3) over (1.2.15+dfsg1-4) ...

dpkg: warning: downgrading libsvn1:amd64 from 1.9.3-3 to 1.9.3-2+b1

Preparing to unpack .../libsvn1_1.9.3-2+b1_amd64.deb ...

Unpacking libsvn1:amd64 (1.9.3-2+b1) over (1.9.3-3) ...

Preparing to unpack .../libwebkitgtk-3.0-0_2.4.9-3_amd64.deb ...

Unpacking libwebkitgtk-3.0-0:amd64 (2.4.9-3) over (2.4.9-3) ...

dpkg: warning: downgrading linux-image-amd64 from 4.4+71 to 4.3+70

Preparing to unpack .../linux-image-amd64_4.3+70_amd64.deb ...

Unpacking linux-image-amd64 (4.3+70) over (4.4+71) ...

dpkg: warning: downgrading linux-libc-dev:amd64 from 4.4.6-1 to 4.3.5-1

Preparing to unpack .../linux-libc-dev_4.3.5-1_amd64.deb ...

Unpacking linux-libc-dev:amd64 (4.3.5-1) over (4.4.6-1) ...

dpkg: warning: downgrading subversion from 1.9.3-3 to 1.9.3-2+b1

Preparing to unpack .../subversion_1.9.3-2+b1_amd64.deb ...

Unpacking subversion (1.9.3-2+b1) over (1.9.3-3) ...

dpkg: warning: downgrading traceroute from 1:2.1.0-1 to 1:2.0.22-1

Preparing to unpack .../traceroute_1%3a2.0.22-1_amd64.deb ...

Unpacking traceroute (1:2.0.22-1) over (1:2.1.0-1) ...

Setting up amd64-microcode (2.20141028.1) ...

update-initramfs: deferring update (trigger activated)

amd64-microcode: microcode will be updated at next boot

Setting up libjavascriptcoregtk-3.0-0:amd64 (2.4.9-3) ...

Setting up libsdl1.2debian:amd64 (1.2.15+dfsg1-3) ...

Setting up libsvn1:amd64 (1.9.3-2+b1) ...

dpkg: dependency problems prevent configuration of libwebkitgtk-3.0-0:amd64:

libwebkitgtk-3.0-0:amd64 depends on libwebkitgtk-3.0-common (>= 2.4.9); however:

Package libwebkitgtk-3.0-common is not installed.

dpkg: error processing package libwebkitgtk-3.0-0:amd64 (--install):

dependency problems - leaving unconfigured

Setting up linux-image-amd64 (4.3+70) ...

Setting up linux-libc-dev:amd64 (4.3.5-1) ...

Setting up subversion (1.9.3-2+b1) ...

Setting up traceroute (1:2.0.22-1) ...

update-alternatives: using /usr/bin/traceroute.db to provide /usr/bin/traceroute (traceroute) in auto mode

update-alternatives: using /usr/bin/lft.db to provide /usr/bin/lft (lft) in auto mode

update-alternatives: using /usr/bin/traceproto.db to provide /usr/bin/traceproto (traceproto) in auto mode

update-alternatives: using /usr/sbin/tcptraceroute.db to provide /usr/sbin/tcptraceroute (tcptraceroute) in auto mode

Processing triggers for libc-bin (2.22-3) ...

Processing triggers for man-db (2.7.5-1) ...

Processing triggers for initramfs-tools (0.123) ...

update-initramfs: Generating /boot/initrd.img-4.4.0-1-amd64

Errors were encountered while processing:

libwebkitgtk-3.0-0:amd64

如错误消息所述,我的一个软件包在升级之前就依赖于-common软件包,但是升级将其删除(并且apt-get找不到了)。幸运的是,它的软件包文件仍在/ var / cache / apt中,因此我可以将其添加到列表中,然后重试:

$ ls -ld /var/cache/apt/archives/libwebkitgtk-3.0-common*

-rw-r--r-- 1 root root 452278 Dec 10 18:22 /var/cache/apt/archives/libwebkitgtk-3.0-common_2.4.9-3_all.deb

$ sudo dpkg -i /var/cache/apt/archives/amd64-microcode_2.20141028.1_amd64.deb /var/cache/apt/archives/libjavascriptcoregtk-3.0-0_2.4.9-3_amd64.deb /var/cache/apt/archives/libsdl1.2debian_1.2.15+dfsg1-3_amd64.deb /var/cache/apt/archives/libsvn1_1.9.3-2+b1_amd64.deb /var/cache/apt/archives/libwebkitgtk-3.0-0_2.4.9-3_amd64.deb /var/cache/apt/archives/linux-image-amd64_4.3+70_amd64.deb /var/cache/apt/archives/linux-libc-dev_4.3.5-1_amd64.deb /var/cache/apt/archives/subversion_1.9.3-2+b1_amd64.deb /var/cache/apt/archives/traceroute_1%3a2.0.22-1_amd64.deb /var/cache/apt/archives/libwebkitgtk-3.0-common_2.4.9-3_all.deb

(Reading database ... 139632 files and directories currently installed.)

Preparing to unpack .../amd64-microcode_2.20141028.1_amd64.deb ...

Unpacking amd64-microcode (2.20141028.1) over (2.20141028.1) ...

Preparing to unpack .../libjavascriptcoregtk-3.0-0_2.4.9-3_amd64.deb ...

Unpacking libjavascriptcoregtk-3.0-0:amd64 (2.4.9-3) over (2.4.9-3) ...

Preparing to unpack .../libsdl1.2debian_1.2.15+dfsg1-3_amd64.deb ...

Unpacking libsdl1.2debian:amd64 (1.2.15+dfsg1-3) over (1.2.15+dfsg1-3) ...

Preparing to unpack .../libsvn1_1.9.3-2+b1_amd64.deb ...

Unpacking libsvn1:amd64 (1.9.3-2+b1) over (1.9.3-2+b1) ...

Preparing to unpack .../libwebkitgtk-3.0-0_2.4.9-3_amd64.deb ...

Unpacking libwebkitgtk-3.0-0:amd64 (2.4.9-3) over (2.4.9-3) ...

Preparing to unpack .../linux-image-amd64_4.3+70_amd64.deb ...

Unpacking linux-image-amd64 (4.3+70) over (4.3+70) ...

Preparing to unpack .../linux-libc-dev_4.3.5-1_amd64.deb ...

Unpacking linux-libc-dev:amd64 (4.3.5-1) over (4.3.5-1) ...

Preparing to unpack .../subversion_1.9.3-2+b1_amd64.deb ...

Unpacking subversion (1.9.3-2+b1) over (1.9.3-2+b1) ...

Preparing to unpack .../traceroute_1%3a2.0.22-1_amd64.deb ...

Unpacking traceroute (1:2.0.22-1) over (1:2.0.22-1) ...

Selecting previously unselected package libwebkitgtk-3.0-common.

Preparing to unpack .../libwebkitgtk-3.0-common_2.4.9-3_all.deb ...

Unpacking libwebkitgtk-3.0-common (2.4.9-3) ...

Setting up amd64-microcode (2.20141028.1) ...

update-initramfs: deferring update (trigger activated)

amd64-microcode: microcode will be updated at next boot

Setting up libjavascriptcoregtk-3.0-0:amd64 (2.4.9-3) ...

Setting up libsdl1.2debian:amd64 (1.2.15+dfsg1-3) ...

Setting up libsvn1:amd64 (1.9.3-2+b1) ...

Setting up linux-image-amd64 (4.3+70) ...

Setting up linux-libc-dev:amd64 (4.3.5-1) ...

Setting up subversion (1.9.3-2+b1) ...

Setting up traceroute (1:2.0.22-1) ...

update-alternatives: using /usr/bin/traceroute.db to provide /usr/bin/traceroute (traceroute) in auto mode

update-alternatives: using /usr/bin/lft.db to provide /usr/bin/lft (lft) in auto mode

update-alternatives: using /usr/bin/traceproto.db to provide /usr/bin/traceproto (traceproto) in auto mode

update-alternatives: using /usr/sbin/tcptraceroute.db to provide /usr/sbin/tcptraceroute (tcptraceroute) in auto mode

Setting up libwebkitgtk-3.0-common (2.4.9-3) ...

Setting up libwebkitgtk-3.0-0:amd64 (2.4.9-3) ...

Processing triggers for libc-bin (2.22-3) ...

Processing triggers for man-db (2.7.5-1) ...

Processing triggers for initramfs-tools (0.123) ...

update-initramfs: Generating /boot/initrd.img-4.4.0-1-amd64

成功!实际上,这并不能解决我的问题。但是它成功降级了软件包QED。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/558026.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux文件名过长无法删除,不能删除文件,出现“源文件名长度大于系统支持的长度...

有时候删除windows中的目录的时候,会出现"源文件名长度大于系统支持的长度", 而导致不能删除, 作为一个程序猿, 怎么可以被这个折服呢, 上代码:import java.io.File;/*** author 吴庆龙* 2015年10月13日 下午1:22:33*/public class DeleteFiles {public static void …

cpu system linux,LINUX system BOOT

64位处理器指的是CPU GPRs(General-Purpose Registers 通用寄存器)的数据宽度为64位计算机在接通电源的瞬间,CPU处于16位实模式,20位的寻址空间,即1MB,此时内存里没有任何数据对CPU来讲,系统中所有的存储器(含BIOS的RO…

linux下IPROTO_TCP,TCP/IP协议栈在Linux内核中的运行时序分析

可选题目三:TCP/IP协议栈在Linux内核中的运行时序分析在深入理解Linux内核任务调度(中断处理、softirg、tasklet、wq、内核线程等)机制的基础上,分析梳理send和recv过程中TCP/IP协议栈相关的运行任务实体及相互协作的时序分析。编译、部署、运行、测评、…

vs2019Linux守护,Visual Studio 2019将支援Ninja显着提升Linux专案建置效率

微软更新Visual Studio 2019,新增多个可提升Linux开发体验的功能,包括在Linux上支援建置系统Ninja,以及更完整地支援gdbserver,而且现在开发者也可以使用连接管理器(Connection Manager),编辑和配置预设的远端连接。使…

三个数比较大小函数调用c语言,C语言函数的调用——比较两个数的大小

**目录**一、先写好框架二、然后定义我们需要的变量三、这里就要写函数的部分四、函数部分写完了,但是还一个地方,要值得注意一、常规方法比较大小二、指针操作比较大小--------------------今天我们要写的是用**调用函数**的方法来 比较两个数字的大小我…

c语言爱心代码空心,c语言心形图案代码,是什么?

#include int main(){int i,j;printf(" ****** ******\n"" ********** **********\n"" ************* *************\n");//前三排的规律性不强 所以直接显示就好了for(i0;i<3;i)//显示中间三排{for(j0;j<29;j)printf(&quo…

c语言程序中必不可少的,C语言程序设计(第3章程序控制语句)2

3.2 数据的输入与输出在程序的运行过程中&#xff0c;往往需要由用户输入一些数据&#xff0c;而程序运算所得到的计算结果等又需要输出给用户&#xff0c;由此实现人与计算机之间的交互&#xff0c;所以在程序设计中&#xff0c;输入输出语句是一类必不可少的重要语句&#xf…

快速排序c语言实现,快速排序的C语言代码实现

快速排序实质上是对“冒泡排序”的一种改进&#xff0c;整个排序过程可概括为&#xff1a;通过N趟的排序将原本的排序数据分为若干块进行分块排序&#xff0c;而在每趟排序过程中&#xff0c;以指定的关键字将待排数据分别分为比关键字大的部分和比关键字小的部分&#xff0c;反…

android 九宫格封装,Android 九宫格布局

演示image需求满足0-9个图的适配图数量演示1image2image3image4image5image6image7image8image9image使用手动设置android:layout_width"match_parent"android:layout_height"wrap_content"app:ngl_gridSpace"10dp"app:ngl_oneChildHeight"…

android监听应用服务,Android应用中Back键的监听及处理实例

MainActivity如下:复制代码 代码如下:package cn.testnbackpressed;import android.os.Bundle;import android.view.KeyEvent;import android.app.Activity;/*** Demo描述:* 处理Back键按下事件** 注意事项:* 以下两种方法勿一起使用*/public class MainActivity extends Activ…

android放大镜无广告,Android放大镜的实现代码

快三个月了没写博客了&#xff0c;因为工作调动&#xff0c;很多经验、心得都没有时间记录下来。现在时间稍微充裕了点&#xff0c;我会尽量抽时间将之前想写而没写的东西补上。进入正题。去年某个时候&#xff0c;我偶然看到一篇文章&#xff0c;讲android里面放大镜的实现。文…

android获取3g或wifi流量信息,Android代碼----android獲取3G或wifi流量信息

Android代碼----android獲取3G或wifi流量信息日期&#xff1a;2017/2/23 18:01:39 &nbsp 編輯&#xff1a;關於Android編程android獲取3G或wifi流量信息&#xff1a;[java]IBatteryStats battryStats IBatteryStats.Stub.asInterface(ServiceManager.getService("…

如何在android进行ltp测试,Android系统完整性度量架构IMA-EVM

错误2&#xff1a;/bin/bash:m4: command not found解决 &#xff1a;sudo apt-get install m4错误3&#xff1a;prebuilts/misc/linux-x86/bison/bison:No such file or directory原因 &#xff1a;ubuntu64位系统运行32位程序的问题&#xff0c;需要安装运行32位程序的兼容…

android 如何 root权限获取,如何获取android手机root权限获取

安卓手机的卡与不卡&#xff0c;和是否root无关。安卓的卡&#xff0c;是其开发时就注定的&#xff0c;其原因如下&#xff1a;1.内存小/少手机内存在手机出厂的时候就已经固定了&#xff0c;其总量无法调整&#xff0c;不能像电脑一样加内存条。所以想提升可用内存&#xff0c…

日语输入法 android8.0,讯飞输入法发布 AndroidV8.0.6855 专注提升输入效率

作为最懂用户的讯飞输入法&#xff0c;近日发布全新 Android V8.0.6855 版本&#xff0c;坚持以用户体验为基础&#xff0c;不断优化产品性能&#xff0c;提升用户体验。本次新版更加专注于输入效率&#xff0c;带来了 BiuBiu 键盘、离线语音等多个输入功能的提升。BiuBiu 键盘…

imx6 android快速启动,freescale imx6 开机启动速度优化之Bootchart工具的使用问题

之前有安装bootchart&#xff0c;先执行以下命令&#xff0c;卸载掉bootchart工具sudo apt-get autoremove bootchartbootchart安装1、安装$sudo apt-get install bootchart$sudo apt-get install pybootchartgui2、编写android 上log文件的打包和自动生成bootchart.png的脚本文…

鸿蒙和宙斯谁厉害,漫威宇宙宙斯vs奥丁,到底谁更强

宙斯在漫威里&#xff0c;是希腊神话中的众神之王&#xff0c;奥林匹斯十二主神之一&#xff0c;也是奥林匹斯大部分神和神奇女侠戴安娜的父亲&#xff0c;同时也是沙赞的力量来源之一能力&#xff1a;不朽(只有宙斯的血能杀死宙斯)宙斯神力雷霆之怒控制天气宙斯的力量并不是某…

html 输入框 相加,JS中,如何实现两个输入框中内容的数字相加?

事件function count(){var adocument.getElementById("txt1").value;var bdocument.getElementById("txt2").value;var fdocument.getElementById("select").value;switch(f){case :document.getElementById("fruit").valueab;break;c…

多层html怎么找到密码输入框,Vant PasswordInput 密码输入框

介绍带网格的输入框组件&#xff0c;可以用于输入支付密码、短信验证码等&#xff0c;通常与数字键盘组件配合使用引入import Vue from vue;import { PasswordInput, NumberKeyboard } from vant;Vue.use(PasswordInput);Vue.use(NumberKeyboard);代码演示基础用法:value"…

2021曾都二中高考成绩查询入口,2021高考-随州设4个考区11个考点·

今起距2021年高考还有9天学子们也将进入最后的冲刺时间距离高考还有9天近日随州日报记者从市招生考试委员会获悉2021年随州市普通高考考试报名人数14010人共设四个考区11个考点组织考试随州2021年普通高考报名人数14010人&#xff0c;其中市直5639人&#xff0c;随县1632人&…