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

什么叫做“滚挂”?

  •  1
     
  •   shaojz2005 · 2018-12-27 10:01:45 +08:00 · 13100 次点击
    这是一个创建于 1918 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一直不是很明白什么叫做 Linux 滚挂。是指执行系统更新而出故障不能运行吗?
    33 条回复    2018-12-28 00:35:25 +08:00
    ryonanamizu
        1
    ryonanamizu  
       2018-12-27 10:09:06 +08:00   ❤️ 8
    ArchLinux 等滚动更新系统的专用术语,所谓滚动更新就是指不能单独更新某个特定软件包,每次更新必须将全部软件包更新到最新。
    因此,当有些软件包出现问题(如果是官方源的包,一般官网会告知),更新之后可能会有整个系统挂掉的风险,故曰滚挂。
    同时,由于滚动更新机制,大部分开发者无需担心兼容性问题(所有依赖包可以被认为是最新的),所以一旦长时间不滚也有几率挂掉。
    多看官网公告,勤滚,一般就不会挂。
    devcat
        2
    devcat  
       2018-12-27 10:26:10 +08:00   ❤️ 1
    就是 sudo pacman -Syyu 之后挂了 2333
    locoz
        3
    locoz  
       2018-12-27 10:28:13 +08:00   ❤️ 2
    字面意思,滚着滚着就挂了
    ddid
        4
    ddid  
       2018-12-27 10:32:01 +08:00
    真有意思
    trait
        5
    trait  
       2018-12-27 10:34:42 +08:00
    吓得我 Syyu --noconfirm 了一下,还好没挂
    innoink
        6
    innoink  
       2018-12-27 10:35:41 +08:00 via Android
    @ryonanamizu 因为包依赖的缘故,几乎所有系统都不能只升级某一个软件包。滚动更新的意思是没有系统版本号的概念。
    innoink
        7
    innoink  
       2018-12-27 10:36:50 +08:00 via Android
    @ryonanamizu 而且 arch 也不是每次都要 Syu,你也可以指定更新某个软件和其依赖
    Kabie
        8
    Kabie  
       2018-12-27 10:37:48 +08:00
    其实多半是配置改动的问题。。。
    Nalx
        9
    Nalx  
       2018-12-27 11:02:49 +08:00
    简单的说就是你更新完系统重启电脑,发现启动不起来了
    moposx
        10
    moposx  
       2018-12-27 11:16:33 +08:00 via Android
    打开 testing,然后每天几次 sudo pacman -Syyu😏
    tongz
        11
    tongz  
       2018-12-27 11:35:55 +08:00
    那样的话干脆加个定时任务, 每天起床第一句, 先给自己滚一次哈哈哈.
    kernel
        12
    kernel  
       2018-12-27 12:03:45 +08:00   ❤️ 1
    切记别勤滚,滚之前看下公告。
    别没事手贱就滚一波,库里的开源软件基本都很稳定了,几天不滚不会有可感知的功能大变化的,而勤滚的话你会踩中所有软件历史上的所有坑。
    一般二三个月滚一波就行。
    swulling
        13
    swulling  
       2018-12-27 12:05:34 +08:00 via iPhone   ❤️ 1
    Archlinux 等滚动更新的系统,有些时候不得不进行部分软件包的大版本升级,涉及到部分基础包,有时就无法平滑升级,需要在升级前手动修改一些配置

    很多人无脑升级,就挂了…
    kernel
        14
    kernel  
       2018-12-27 12:07:34 +08:00
    @innoink 看过官方的文档,指定更新包不是推荐做法,没经测试。除非这个包比较独立其它信赖很少。
    fivestrong
        15
    fivestrong  
       2018-12-27 12:14:04 +08:00 via Android
    我就是因为 archlinux 经常滚挂 退回 windows 了
    likuku
        16
    likuku  
       2018-12-27 12:17:24 +08:00 via iPhone   ❤️ 3
    Gentoo Linux 和 Arch Linux 这种滚动更新发行版都这样啊求,所有部分都没有一个固定的大版本号,一切都在变化中。

    debian,ubuntu,centos,每个 release 所有官方源里的软件包版本都会稳定保持在一个大版本号 /大版本号附近,尤其 内核,glibc,等核心基础包,只会更新小修小改查漏补缺的小版本号。

    怀念起 freebsd 的 base system 和 app ( pkg/ports )隔离的路子了:
    系统本身偏向 release 模式,稳定更新,不会伤筋动骨,保证各种基本功能正常可用。
    ports 是滚动更新,自己装的各种应用可以一直滚下去,不会危害系统本身,依赖链自己内部解决,随便滚。大不了一键把 ports 装的统统清零,重新来过。
    dinghmcn
        17
    dinghmcn  
       2018-12-27 12:19:37 +08:00
    gentoo 每次开机滚一下🐶
    Kaiv2
        18
    Kaiv2  
       2018-12-27 12:19:45 +08:00
    每天 `sudo pacman -Syu` 一下 😄
    loading
        19
    loading  
       2018-12-27 12:25:10 +08:00 via Android
    自从我的 archlinux 年初升级了一次,一直没升级,然后大概 10 月我想升级一下,因为有经验先去论坛看看,发现好几个要人工干预,我就不敢升了,因为以前滚挂了……

    最后我用了黑苹果都没去升级……

    archlinux 要经常更新,如果隔太久,很容易挂。还要多关注官方论坛,有时要手工干预。
    loading
        20
    loading  
       2018-12-27 12:25:34 +08:00 via Android
    不想这么麻烦就用 ubuntu LTS 吧。
    ryd994
        21
    ryd994  
       2018-12-27 12:30:31 +08:00
    @fivestrong 正常做法不是换 Ubuntu/Fedora/Debian 么?
    shaojz2005
        22
    shaojz2005  
    OP
       2018-12-27 13:01:43 +08:00
    manjaro 也会滚挂吗?
    no1xsyzy
        23
    no1xsyzy  
       2018-12-27 13:07:56 +08:00
    @innoink #7 单包更新的话如果和其他包有共同依赖且动态链接方式改变那么必然挂。
    no1xsyzy
        24
    no1xsyzy  
       2018-12-27 13:09:46 +08:00
    @fivestrong 然后发现 windows 也经常滚挂( win10 快算半个滚动发行了)
    no1xsyzy
        25
    no1xsyzy  
       2018-12-27 13:11:12 +08:00
    @likuku BSD 这可以啊,我想我要试试了
    Yarnus
        26
    Yarnus  
       2018-12-27 13:14:25 +08:00 via iPhone
    滚动更新结果更挂了
    trait
        27
    trait  
       2018-12-27 13:14:42 +08:00
    @shaojz2005 会,manjaro 就是基于 arch 的
    momocraft
        28
    momocraft  
       2018-12-27 13:16:59 +08:00
    常年离线的机器不适合 arch,一年不滚比每周滚麻烦会更多 ( arch repo 不提供所有时间的依赖关系,隔很久滚可能会留下不需要的甚至不存在的包在系统)。至于手工干预我上一次遇到是几年前...

    冻结也有其局限:冻结一些极底层的或版本号几乎不变的包( glibc linux )还行,冻结一个依赖旧 libxml 的程序可能会更新时找不到满足约束的 libxml 版本,冻结 libxml 本身可能就会呵呵了

    跳坑前最好先考虑 arch 的问题对你是不是问题,debian 要是有 AUR 我说不定也考虑了
    reechangs
        29
    reechangs  
       2018-12-27 13:24:24 +08:00 via Android
    @momocraft 用 Arch 不就是因为包多且新?
    不过滚来滚去是蛮烦的,我一般一周至少滚一次,以前也滚挂过,修了半天修不好。最后没办法,还好电脑是双系统,拷出数据,格盘重装。
    shengyu
        30
    shengyu  
       2018-12-27 13:33:02 +08:00 via iPhone   ❤️ 1
    @shaojz2005 manjaro 滚挂系统还是比较难的 毕竟和 arch 相比更新有延迟有 arch 用户提前踩 但是一些软件的 bug 可能因为不大重要就放过去了
    momocraft
        31
    momocraft  
       2018-12-27 13:33:42 +08:00
    @reechangs 我开始用 arch 时也是这样想的

    现在则觉得 debian 要是有 AUR 或 ports 可能也不错。
    princelai
        32
    princelai  
       2018-12-27 18:25:10 +08:00
    @shaojz2005 之前用 manjaro Testing 源来更新,平均每 2-3 天有几十上百个包要更新,一年滚挂过 3 次后,换 stable 源了,基本每周一次更新,一个多月没挂过了
    likuku
        33
    likuku  
       2018-12-28 00:35:25 +08:00
    @no1xsyzy 嗯,freebsd 用 release 和 stable 分支就非常非常稳定了,早年 base system 更新还得用源码编译来搞,
    好在几年前 base system 也有了 freebsd-update 这种现代自动化 预编译二进制更新,一键更新 base system。

    当然,各种非 BSD 授权 (GNU )软件依然是推荐走 ports,偷懒的话,用 预编译二进制包管理器 pkg 也 OK。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2934 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 15:11 · PVG 23:11 · LAX 08:11 · JFK 11:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.