Ubuntu sudo apt-get upgrade 和 sudo apt-get install 的区别?

Nam*_* VU 4 apt

我的谷歌搜索没什么帮助,所以我在这里问。

sudoapt-get upgrade和 有sudo apt-get install什么区别?

sud*_*dus 11

引用@Evgeniy Yanuk 评论的简短回答

因为install您必须指向一个或多个要安装或升级的软件包。upgrade检查所有已安装的软件包并在需要时更新它们。

更新

升级

  • 升级 Ubuntu 操作系统中的所有当前程序包,这些程序包是自动安装的、从存储库或从 PPA 安装的。

    sudo apt-get upgrade  # old syntax
    sudo apt upgrade      # new syntax
    
    Run Code Online (Sandbox Code Playgroud)

    或者如果您想升级并执行检查和修复以升级到完全升级和兼容的系统(这就是我所做的),

    sudo apt-get dist-upgrade  # old syntax
    sudo apt full-upgrade      # new syntax
    
    Run Code Online (Sandbox Code Playgroud)
  • 安装一个程序包,一个尚未安装的新包

    sudo apt-get upgrade  # old syntax
    sudo apt upgrade      # new syntax
    
    Run Code Online (Sandbox Code Playgroud)

更新和升级

  • 当您打算升级系统(同版本的Ubuntu内),您可以运行的一个下面的命令行

    sudo apt update && sudo apt upgrade
    sudo apt update && sudo apt full-upgrade
    
    Run Code Online (Sandbox Code Playgroud)

安装

  • 当您打算安装新的程序包时,您可以运行以下命令行。在安装之前更新是个好主意。

    sudo apt-get update                        # old syntax
    sudo apt-get install program-package-name  # old syntax
    
    sudo apt update                            # new syntax
    sudo apt install program-package-name      # new syntax
    
    Run Code Online (Sandbox Code Playgroud)

编辑:

如果你apt install不带任何参数调用(没有指定包),它会告诉你是否有包要升级,但它不会升级任何东西。

编辑结束


手册页

您可以在内置手册中找到更多详细信息

man apt-get  # old syntax
man apt      # new syntax
Run Code Online (Sandbox Code Playgroud)

升级到 Ubuntu 的新版本别名发布

这是一个完全不同的任务。这是复杂和危险的。在开始此冒险之前备份您不想丢失的所有内容。

sudo do-release-upgrade
Run Code Online (Sandbox Code Playgroud)

您可以在内置手册中找到更多详细信息

man do-release-upgrade
Run Code Online (Sandbox Code Playgroud)

此方法适用于从以前的版本到下一个版本。有一个例外:您还可以do-release-upgrade从上一个 LTS 版本到下一个 LTS 版本,例如

  • 从 Ubuntu 14.04 LTS 到 16.04 LTS
  • 从 Ubuntu 16.04 LTS 到 18.04 LTS

在开始之前你应该

  • 删除所有 PPA 和非标准程序包(不属于 Ubuntu 存储库),因为它们会破坏发布升级过程,

  • 更新和全面升级当前系统,使其保持最新状态。

安装新系统

往往更容易和更快地安装一个新的系统do-release-upgrade,特别是如果有几个步骤,或者如果新版本与以前大不相同。

在开始这项冒险之前,请记住备份您不想丢失的所有内容。