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

在生产服务器上执行 apt-get dist-upgrade 会不会有什么不良后果?

  •  1
     
  •   Snitchley · 2016-09-13 02:22:00 +08:00 · 6913 次点击
    这是一个创建于 3012 天前的主题,其中的信息可能已经有所发展或是发生改变。
    40 条回复    2016-09-20 22:47:27 +08:00
    notre
        1
    notre  
       2016-09-13 02:28:22 +08:00
    取决于你服务器上跑的程序对别的包的依赖情况 & 被升级的包有没有影响到程序的 Breaking Changes 。
    两个建议:先备份一发,升级前看看被升级的包的更新日志。
    tracyone
        2
    tracyone  
       2016-09-13 02:42:54 +08:00 via Android
    呵呵别蛋疼,升级之后可能很多配置都变了,比如现在很多发型版本都用 systemd ,意味着之前的启动配置无效了,还有这个命令不一定成功,除非,你的系统不再受维护了,比如 ubuntu 10.04 这样的系统,否则不要轻易升级,老鸟当我没说。
    shiji
        3
    shiji  
       2016-09-13 02:45:37 +08:00
    你先执行 upgrade , 看看是哪些包被 hold back 了。 如果这里面有你需要升级的,直接 apt-g
    shiji
        4
    shiji  
       2016-09-13 02:46:33 +08:00
    @shiji apt-get install 包的名称就好了。可能需要改配置文件什么的(常见于 Mysql Nginx 之类的)
    ryd994
        5
    ryd994  
       2016-09-13 05:02:49 +08:00   ❤️ 2
    建议不要作这种死
    一般前面不该挂个 load balancer 嘛,配置台新服务器,流量全部导过去
    然后旧的想怎么搞怎么搞
    这就是为啥会留 N+1, N+2, 2N 的冗余
    seki
        6
    seki  
       2016-09-13 05:09:16 +08:00
    不说升级过程中可能造成的服务中断问题,升级前后还是有可能会出岔子的
    比如 ubuntu 从 14.04 升级到 16.04 ,是有一个专门的命令的,用来处理大版本之间的变化。尽管如此,升级完之后 php 还是挂掉了,因为 16.04 默认使用了 php7 ,执行路径发生了变化……
    LazyZhu
        7
    LazyZhu  
       2016-09-13 06:28:35 +08:00
    只做安全更新即可
    deb http://security.debian.org/ jessie/updates main contrib non-free

    https://www.debian.org/security/
    mringg
        8
    mringg  
       2016-09-13 06:30:29 +08:00 via Android   ❤️ 2
    这是在表演花样作死
    lsmgeb89
        9
    lsmgeb89  
       2016-09-13 06:48:51 +08:00   ❤️ 2
    Ubuntu 升级成功的概率很低的,不要没事找事。
    Showfom
        10
    Showfom  
       2016-09-13 07:40:20 +08:00 via Android
    先备份

    然后再这么做 失败了就重做系统

    @lsmgeb89 还好吧 我升级了好多台 从 12.04 到 14.04 还没升级到 16.04
    Ellison
        11
    Ellison  
       2016-09-13 08:39:36 +08:00
    如果不是必要的话,并不建议
    我只在帮朋友折腾新 VPS 的时候发现那家只有 12.04 的时候用来升级到 14.04 用过几回
    zsj950618
        12
    zsj950618  
       2016-09-13 08:56:15 +08:00 via Android   ❤️ 2
    取决于操作者的水平。。。
    wyntergreg
        13
    wyntergreg  
       2016-09-13 08:56:19 +08:00
    楼主试一下然后在这贴里直播吧...
    Sharuru
        14
    Sharuru  
       2016-09-13 08:59:22 +08:00
    =_,= 升级包什么的也就算了,跨版本系统升级还是装傻不知道好了。

    14.04 -> 16.04 连内核都不敢升
    simapple
        15
    simapple  
       2016-09-13 09:15:36 +08:00
    先备份,留好退路 然后随便作
    ksc010
        16
    ksc010  
       2016-09-13 09:32:02 +08:00
    我觉得取决于你对现有系统的修改情况(安装非官方源的包等等)
    我有几台服务器 从 12.04-》 14.04-》 16.04 都没啥问题
    Tink
        17
    Tink  
       2016-09-13 09:33:55 +08:00 via iPhone
    勿作死
    c0878
        18
    c0878  
       2016-09-13 09:35:35 +08:00
    任何无法回滚的升级都是危险的 建议业务迁移走再搞
    owt5008137
        19
    owt5008137  
       2016-09-13 09:37:23 +08:00 via Android
    会,作死的事情还是少做为好
    frankzeng
        20
    frankzeng  
       2016-09-13 09:37:46 +08:00
    千万别作死,这升级百分之九十九会有问题
    pangliang
        21
    pangliang  
       2016-09-13 09:39:52 +08:00
    生产服务器的逻辑是: 为什么要升级? 而不是: 为什么不升级?
    knightdf
        22
    knightdf  
       2016-09-13 09:50:07 +08:00
    你如果想主动放弃中秋假期,事不宜迟,现在就开始敲把
    xjp
        23
    xjp  
       2016-09-13 10:04:15 +08:00   ❤️ 1
    楼上是都不懂这个命令什么意思吗? 这命令根本不是升级发行版好吗

    apt-get dist-upgrade 对应的是 apt-get upgrade 两个都是更新包
    后者只更新依赖关系没有变化的包 前者是更新所有包 如果有依赖变化就处理依赖

    apt-get dist-upgrade 这个命令升级 最多就是 14.04.4 升到 14.04.5 有时升一下内核 是不会升级大版本的

    理论上 upgrade 比 dist-upgrade 安全 因为它不会引入新的依赖 不过按照我的经验 一般情况下 dist-upgrade 也是没有什么问题的
    duzhe0
        24
    duzhe0  
       2016-09-13 10:05:01 +08:00
    DONT DO THAT
    Ahri
        25
    Ahri  
       2016-09-13 10:28:46 +08:00
    还有手动 SSH 到生产服务器输命令的公司?
    initialdp
        26
    initialdp  
       2016-09-13 10:31:26 +08:00
    没明白楼上这些 V 友在说什么,执行这个命令很常见吧?无非就是升级一些内核版本,又不是大版本升级。
    gladuo
        27
    gladuo  
       2016-09-13 11:30:24 +08:00 via Android   ❤️ 1
    。。。真的不是大版本升级啊楼上的宝宝
    然而,没事乱搞什么生产环境。。。不怕被老板打断腿么
    bk201
        28
    bk201  
       2016-09-13 12:47:51 +08:00 via iPhone
    @Ahri 贵司的做法是?
    kaneg
        29
    kaneg  
       2016-09-13 13:05:48 +08:00   ❤️ 1
    像这种大版本升级之后因为内核升级了, 一般都需要重启系统,就怕重启都起不来
    nyaruko
        30
    nyaruko  
       2016-09-13 13:13:15 +08:00   ❤️ 1
    我在自己的 vps 上用 do-release-upgrade 升级没出问题
    wizardoz
        31
    wizardoz  
       2016-09-13 13:23:29 +08:00   ❤️ 1
    你为啥想执行这个?
    vus520
        32
    vus520  
       2016-09-13 14:19:10 +08:00
    单元测试覆盖不够,业务要求又高的项目,啧啧,吃枣药丸
    Balthild
        33
    Balthild  
       2016-09-13 15:44:39 +08:00 via iPhone   ❤️ 1
    估计都是看到 dist 这四个字母就以为是发行版升级了
    danili
        34
    danili  
       2016-09-13 15:53:27 +08:00
    如果生产系统稳定运行,就别想着直接去优化系统。
    Citrus
        35
    Citrus  
       2016-09-13 15:56:17 +08:00
    我觉得你可能有不良后果。。。
    lengxx
        36
    lengxx  
       2016-09-15 16:49:08 +08:00
    23 楼说的很对
    okudayukiko0
        37
    okudayukiko0  
       2016-09-17 17:47:03 +08:00
    在 Ubuntu 下是 do-release-upgrade 。我试过从 Ubuntu 15.10 升级到 16 ,然后在升级时提示 python 有只读错误,整个系统就挂掉了。此外建议在实机或远控卡下进行升级,不建议在 SSH 下升级。
    okudayukiko0
        38
    okudayukiko0  
       2016-09-17 17:48:52 +08:00
    在 VPS 下是 VPS 控制面板中的 Console ,升级系统时不建议用 SSH 。
    realpg
        39
    realpg  
       2016-09-17 19:19:14 +08:00
    把核心不能停的东西 hold ,比如 mysql
    其他我都是自动 dist-upgrade 的
    xencdn
        40
    xencdn  
       2016-09-20 22:47:27 +08:00
    如果 docker 容器运行的 宿主服务器系统想怎么升怎么升吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5551 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 02:21 · PVG 10:21 · LAX 18:21 · JFK 21:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.