V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
yyyb
V2EX  ›  Linux

debian 从 backports 安装或 upgrade 的包怎么卸载并回滚到之前的版本?

  •  
  •   yyyb · 2021-03-25 22:04:57 +08:00 · 2256 次点击
    这是一个创建于 1339 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如之前系统有 linux-libc-dev 4.19.171-2
    后来添加了 backports 通过 apt -t buster-backports install linux-libc-dev 安装了 linux-libc-dev 5.10.19-1~bpo10+1
    现在怎样回滚到 4.19.171-2
    直接 apt remove 或 autoremove 会删除一大堆依赖包
    6 条回复    2021-03-26 10:25:37 +08:00
    lzwt806
        1
    lzwt806  
       2021-03-25 23:26:28 +08:00
    4.19.xxx 应该是 Debian10 吧,以我对 Debian 的了解,提供以下方笨人方法,仅供参考:

    准备一个一样的环境:

    1,apt -t buster-backports install linux-libc-dev,查看需要安装哪些包,依次下载(可以在 https://pkgs.org 上找),然后定位到 debian-stable 源,依次下载对应的包,先一个个手动卸载现在的包,再依次安装下载的旧版本包。

    2,有个 apt 命令只下载,不安装,之后同上,只是省了找包的时间。

    如果你不是对系统很了解,不知道每一个包的作用,以上或许对你有用,高手随便玩(可以拆成单个文件玩)。
    radioactivezx
        2
    radioactivezx  
       2021-03-25 23:37:36 +08:00
    用 aptitude 的话你要管理的包查看版本,不用卸载只是降级,如果有依赖错误的话按 aptitude 提供的解决依赖方案选一个,一般总有一个最优的方案。只用 apt/apt-get 的话肯定可以完成同样的操作,只是 aptitude 对这种情况更方便点。

    如果是要去掉只有 backports 源里有的包就更方便了,删了 backports 源然后 update,aptitude 里会单独显示没有对应源的包。
    Kobayashi
        3
    Kobayashi  
       2021-03-26 00:28:47 +08:00 via Android
    好家伙! libc 你都敢卸载。后面兄弟们,楼主分享跑路故事的时候记得 at 我一下。
    yyyb
        4
    yyyb  
    OP
       2021-03-26 01:01:18 +08:00
    完美解决了!
    apt autoremove libc6-dev
    apt autoremove build-essential
    然后
    apt install build-essential
    yyyb
        5
    yyyb  
    OP
       2021-03-26 01:05:23 +08:00
    完美滚回 debian-stable,睡觉去了!
    Cusmate
        6
    Cusmate  
       2021-03-26 10:25:37 +08:00 via Android
    @Kobayashi 楼主装的 dev 包啊,可以卸的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2770 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 06:14 · PVG 14:14 · LAX 22:14 · JFK 01:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.