当我使用 apt-get update 和 apt-get upgrade 时,有一些软件包应该安装在最新版本中,如下所示:
The following packages will be upgraded:
accountsservice apparmor apport apt apt-transport-https apt-utils binutils
cloud-init cpp-4.8 dpkg fuse g++-4.8 gcc-4.8 gcc-4.8-base gdisk gnupg gpgv
grub-common grub-legacy-ec2 grub-pc grub-pc-bin grub2-common initscripts
isc-dhcp-client isc-dhcp-common libaccountsservice0 libapparmor-perl
libapparmor1 libapt-inst1.5 libapt-pkg4.12 libasan0 libatomic1 libbsd0
libcurl3-gnutls libdrm2 libedit2 libfuse2 libgcc-4.8-dev libgd3 libgomp1
libitm1 libjson-c2 libjson0 libnuma1 libpam-systemd libpolkit-agent-1-0
libpolkit-backend-1-0 libpolkit-gobject-1-0 libquadmath0 libstdc++-4.8-dev
libstdc++6 libsystemd-daemon0 libsystemd-login0 libtsan0 libudev1 libxext6
linux-libc-dev ntpdate openssl overlayroot patch policykit-1 ppp
python-urllib3 python3-apport python3-problem-report python3-update-manager
rsyslog systemd-services sysv-rc sysvinit-utils tcpdump tzdata udev
update-manager-core
75 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.
Run Code Online (Sandbox Code Playgroud)
如果我不知道那里的每个包如果有最新版本的更新会发生什么。我不应该执行这个命令(apt-get upgrade)。
例如:
这个php版本是我升级之前的
yzxu@ubuntu:/tmp/git-2.1.2$ php --version
PHP 5.6.6-1+deb.sury.org~precise+1 (cli)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
Run Code Online (Sandbox Code Playgroud)
在我升级之后:
yzxu@ubuntu:/tmp/git-2.1.2$ php --version
PHP 5.6.10-1+deb.sury.org~precise+1 (cli)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
Run Code Online (Sandbox Code Playgroud)
php版本变了。如果两个版本都没有变化,是不是应该升级?会不会影响产品?
小智 10
apt-get update
Run Code Online (Sandbox Code Playgroud)
刷新存储库并获取有关在线可用包的信息。
apt-get upgrade
Run Code Online (Sandbox Code Playgroud)
为所有已安装的包下载并安装更新——只要它不影响依赖关系(安装新包、删除旧包或跨仓库源(将包从一个仓库切换到另一个))。
apt-get dist-upgrade
Run Code Online (Sandbox Code Playgroud)
与“升级”相同,但在更改依赖项或源时也会升级包(您希望在服务器上避免未经进一步测试的情况)。
总而言之 - 更新可能会破坏事情,但这是必要的!因此,如果您在台式机上,通常应该执行以下操作:
sudo apt-get update && sudo apt-get dist-upgrade
Run Code Online (Sandbox Code Playgroud)
不破坏东西。
大多数时候在服务器上:
sudo apt-get update && sudo apt-get upgrade
Run Code Online (Sandbox Code Playgroud)
应该足够了,并且应该自动安装安全更新(在服务器和台式机上)
更新至 16.04
同时“apt”包装器是 Ubuntu 中的标准方式,所以命令现在是:
sudo apt update #to update the repo-information
sudo apt upgrade #to install all security fixes and changes that doesn't harm the system or change the behaviour
sudo apt full-upgrade #the new "dist-upgrade" that installs newer versions that can break backwards-compatibility
Run Code Online (Sandbox Code Playgroud)
特尔;博士!
是的,您应该在此示例中更新 PHP,因为它是一个安全修复程序(这可以通过 PHP 的版本控制方案看到;它也不会被推送到 Ubuntu 的“升级”频道。)
小智 1
或许。但您应该定期更新您的系统。更新可能有风险,是的。这种风险还取决于我不知道的事情,例如您可能添加或未添加哪些 PPA 或其他来源。但总的来说,让您的系统保持最新状态是个好主意。更新时,您会获得稳定性修复和安全更新。所以我想说,不更新(升级)你的系统是更危险的。
小智 -5
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)
编辑: 升级用于升级未正确安装的软件包。
| 归档时间: |
|
| 查看次数: |
19711 次 |
| 最近记录: |