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

APT 2.3.12 禁止交互式卸载必须的软件包

  •  
  •   jim9606 · 2021-11-21 00:22:40 +08:00 · 2955 次点击
    这是一个创建于 1101 天前的主题,其中的信息可能已经有所发展或是发生改变。

    新闻来源: https://www.gamingonlinux.com/2021/11/apt-2312-package-manager-released-will-no-longer-let-you-break-everything/

    前情提要: https://www.bilibili.com/video/BV1Fh411b7q3

    在 Pop!_OS 中安装 Steam 客户端会导致桌面环境被卸载(尚未解决的 bug )。虽然执行前会有警告并要求输入"Yes, do as I say"确认,但这根本不足以劝退不明白事情严重性的初级 Linux 用户。新版本将会拒绝执行且不会提示用户。

    该修改已经并入 debian testing 。 说实话我也没理解什么情况需要支持卸载 essential 的软件包。

    12 条回复    2021-11-24 11:03:11 +08:00
    12101111
        1
    12101111  
       2021-11-21 00:59:37 +08:00   ❤️ 1
    这就要问为什么 GNOME session 属于 essential 了,在我看来只有 systemd ,coreutils, libc 这些才算 essential
    TypeError
        2
    TypeError  
       2021-11-21 01:03:59 +08:00
    对非命令行用户来说,GUI 相关的肯定是 essential 的
    jim9606
        3
    jim9606  
    OP
       2021-11-21 01:31:44 +08:00
    @12101111 @TypeError

    按照 Pop!_OS 的设计理念,GUI 可以算入 essential ,不需要 GUI 的不要选这个发行版。

    我想问的是,卸载 essential 的合理用例是什么,例如需要卸载 systemd 的用例?
    halfdb
        4
    halfdb  
       2021-11-21 01:57:43 +08:00 via Android
    我看那个视频前绝对想不到 Linus 居然是一个“不明白事情严重性的初级 Linux 用户”,当时看到那里真是满头问号😂
    你初级也就算了,apt 已经明确说了可能会损害系统还要坚持执行,只能说他是不撞南墙不回头了
    jim9606
        5
    jim9606  
    OP
       2021-11-21 02:31:15 +08:00
    @halfdb
    视频里 APT 给出的关键警告是“You are about to do something harmful”,前面的那一堆东西都不是初学者能搞懂的直接忽略。
    同样的语气在 Windows 中会出现在什么地方?你用 Edge 下载一个 exe 文件就能看到同样语气的警告“XXX.exe 可能会损害你的设备”。

    根据我们的经验可以知道,Edge 的这种警告大概率是可以忽略的。
    如果你在 Windows 下执行 BIOS 更新,你会看到比这语气更重的警告,但通常继续操作依然是安全的。
    对于从 Windows 迁移过来的用户来说这种警告被轻视算不上什么不合理。
    shayuvpn0001
        6
    shayuvpn0001  
       2021-11-21 02:32:40 +08:00
    @jim9606 如果是某些定制的系统,比如嵌入式,会有一些特殊的需求,这时候会进行一些裁剪。还有就是云服务和容器的基础镜像,为了尽可能减小资源的占用,可能会砍掉一些东西。
    Buges
        7
    Buges  
       2021-11-21 02:38:45 +08:00 via Android
    非常糟糕的的做法,Linux 的设计本来就是基于 you know what you're doing 的 assumption ,而不是像某些**一样把用户当巨婴,只给个 y/n 甚至不给提示都合理,何况让你打那么一段,很多服务注销账户等操作也是这样,那造成的后果当然完全是用户的责任。
    至于卸载 essential 的用例,最常见的如替换,我要安装 systemd-git ,或者 uselessd 等 drop in replacement ,自动通过冲突包卸载才是正确的行为。
    包括其他的内核、bootloader 等,要是 gui 相关也算上,场景就更多了。比如旧笔记本不用了当服务器使卸载掉 GUI 等等。
    xcp3555
        8
    xcp3555  
       2021-11-21 07:38:00 +08:00 via Android
    无法通过同等的操作逻辑恢复的包对于当前的操作方式来说就是 essebtial 的。
    tanghongkai
        9
    tanghongkai  
       2021-11-21 10:03:04 +08:00
    @halfdb 我还以为这种操作只有像我这样看不懂英文的用户才做得出呢
    mortal
        10
    mortal  
       2021-11-21 13:53:59 +08:00
    我觉得根本不是 apt 的问题,是 gnome 非要把它一些没什么卵用的组件当作强依赖。
    qbqbqbqb
        11
    qbqbqbqb  
       2021-11-24 10:59:24 +08:00
    @tanghongkai 其实这个提示有中文版,系统语言配置中文的话 apt 大部分提示中文,而且卸载 essential 包的时候会要求输入“是,按我说的做”
    qbqbqbqb
        12
    qbqbqbqb  
       2021-11-24 11:03:11 +08:00
    @tanghongkai 看不懂英文也没关系,有中文
    ![中文版]( https://img-ask.csdn.net/upload/202006/29/1593399776_617526.png)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1192 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:10 · PVG 07:10 · LAX 15:10 · JFK 18:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.