Ubuntu 中apt update和upgrade 的区别

本文详细解释了Ubuntu系统中apt update与apt upgrade的区别及其用法。apt update仅检查已安装软件包是否有可用更新并提供汇总报告;而apt upgrade则会实际执行更新过程。文中还提到了使用这些命令时需要注意的问题,尤其是在维护依赖关系复杂的环境中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ubuntu 中apt update和upgrade 的区别

 

简要说明:

apt update:只检查,不更新(已安装的软件包是否有可用的更新,给出汇总报告)

用法:sudo apt update

 

apt upgrade:更新已安装的软件包

用法:sudo apt upgrade 软件包名

 

附图:

0、ubuntu16.04版本的更新提示,以及执行apt update的过程,有129个包可以升级。

 

本机采用ubuntu16.04系统,已使用sudo apt update && sudo apt upgrade -y将系统更新到最新的ubuntu 16.04.03。再使用阿里源,单独安装Docker v1.12.3版本的软件,执行如下操作,对比两个命令的差别。

1sudo apt update只检查是否有可用更新,给出汇总报告和提示信息

使用sudo apt list --upgradable查看可升级的软件信息

sudo apt list --upgradable -a查看可升级的软件的全部版本信息

 

2、使用apt upgradeDocker1.12.3升级到1.13.1的过程

 

3、重启Docker服务,再次查看可用的更新

 

 

注意事项:不能随意使用sudo apt upgrade -y命令

Ubuntu总是认为:最新的软件就是最好的软件,建议用户安装使用。直接使用sudo apt update && sudo apt -y upgrade,就会将本机已安装的软件全部更新到最新!

但是在实际工作中并不总是这样,K8S v1.6.6版本只支持Docker v1.12.3版本,即K8S依赖于某一特定版本的Docker,不支持最新版本的Docker。因此要想在Docker上部署K8S v1.6.6就不能ubuntu系统中随意使用sudo apt upgrade -y 命令。

 

 

参考链接:

Linux中的updateupgrade分别是更新什么

https://zhidao.baidu.com/question/1704598542300109180.html

 

ubuntu sudo updateupgrade的作用及区别

http://www.baiyuxiong.com/?p=529 

Qt中的智能指针主要有三种:QSharedPointer、QWeakPointerQScopedPointer。它们都是用来管理动态分配的对象的指针,并且能够自动释放内存,避免内存泄漏。 1. QSharedPointer QSharedPointer是一个线程安全的智能指针,它允许多个指针共享同一个对象,并且能够在最后一个指针离开作用域时自动释放对象。以下是一个简单的示例: ```cpp QSharedPointer<QString> ptr1(new QString("Hello")); QSharedPointer<QString> ptr2 = ptr1; QSharedPointer<QString> ptr3 = ptr2; qDebug() << *ptr1; // 输出"Hello" qDebug() << *ptr2; // 输出"Hello" qDebug() << *ptr3; // 输出"Hello" ``` 2. QWeakPointer QWeakPointer是一个弱引用智能指针,它可以引用由QSharedPointer管理的对象,但不会增加对象的引用计数。当最后一个QSharedPointer离开作用域时,如果没有其他QSharedPointer引用该对象,则该对象被自动释放。以下是一个简单的示例: ```cpp QSharedPointer<QString> ptr1(new QString("Hello")); QWeakPointer<QString> weakPtr1 = ptr1; QWeakPointer<QString> weakPtr2 = weakPtr1; qDebug() << weakPtr1.data(); // 输出"Hello" qDebug() << weakPtr2.data(); // 输出"Hello" ptr1.clear(); qDebug() << weakPtr1.data(); // 输出nullptr qDebug() << weakPtr2.data(); // 输出nullptr ``` 3. QScopedPointer QScopedPointer是一个非共享的智能指针,它在离开作用域时自动释放对象。它不能被复制或共享,因此可以避免由于多个指针共享一个对象而引起的问题。以下是一个简单的示例: ```cpp QScopedPointer<QString> ptr(new QString("Hello")); qDebug() << *ptr; // 输出"Hello" ``` 以上是Qt中三种智能指针的详细介绍及代码示例。使用智能指针可以避免内存泄漏悬空指针等问题,提高代码的健壮性可靠性。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值