88 packages can be updated.
80 updates are security updates
我尝试了
apt-get update
,然后尝试了apt-get upgrade
,但是每次登录时,我仍然看到有关更新的消息。如何安装它们?#1 楼
使用以下命令:易于。也可以通过在终端上运行sudo apt update # Fetches the list of available updates
sudo apt upgrade # Installs some updates; does not remove packages
sudo apt full-upgrade # Installs updates; may also remove some packages, if needed
sudo apt autoremove # Removes any old packages that are no longer needed
来获得这些功能。 />评论
我是否应该始终使用sudo reboot重新启动?
–地狱男爵
2015年4月9日下午5:47
我需要添加-y使其起作用。 Ubuntu 17.10
– T04435
18年2月24日在21:21
@hellboy不需要每次。它通常会通知您是否需要重新启动。
–空手道小子
6月12日2:15
只是指出apt完全升级与apt-get dist-upgrade具有相同的功能,如果像我一样,您正在将命令与该问题中的其他答案进行比较。
–kas
7月31日15:35
#2 楼
通过一次键入sudo
来执行所有命令:sudo -- sh -c 'apt-get update; apt-get upgrade -y; apt-get dist-upgrade -y; apt-get autoremove -y; apt-get autoclean -y'
或:
sudo -s -- <<EOF
apt-get update
apt-get upgrade -y
apt-get dist-upgrade -y
apt-get autoremove -y
apt-get autoclean -y
EOF
或更短的for循环中(感谢@dessert!):
sudo bash -c 'for i in update {,dist-}upgrade auto{remove,clean}; do apt-get $i -y; done'
有关更多详细信息,请参阅带有APT维护命令的软件包管理文档。
评论
您可以通过apt-get dist-upgrade --auto-remove组合dist-upgrade和autoremove。
– jarno
19年7月22日在8:01
无需同时运行升级和dist-upgrade。
– jarno
19年7月22日在8:22
@jarno dist-upgrade可以删除软件包。首先使用升级可以避免这种情况,例如当新软件包版本比旧软件包更容易满足依赖关系时。我不知道在稳定版本的Ubuntu中升级软件包时这有多大帮助,但是在其他情况下建议这样做。就个人而言,我很少在Ubuntu中使用dist-upgrade,当我这样做时,我从不通过-y。但是,如果要运行dist-upgrade并通过-y,我认为先执行升级操作是合理的。
– Eliah Kagan
19年7月22日在11:36
@jarno虽然可以将--autoremove与您选择的升级命令链接在一起,但不建议这样做,因为当其中一个软件包出现故障时,它可能以不洁的状态结束。更好的方法是在完成更新过程后在单独的一行上单独使用自动删除,如果您也想清除旧的配置文件,也可以使用--purge进行链接。
– Videonauth
19年7月22日在12:18
@Videonauth哦,这取决于apt的实现方式。我认为应该实施它,以免使系统处于不干净的状态。
– jarno
19年7月22日在12:38
#3 楼
这是正常现象。登录时看到的消息已附加到服务器状态“ Message-Of-The-Day”,该状态仅在每个日历日(或在服务器启动/启动时更新) )。使用
cat /etc/motd
查看内容,运行后仍然看到可用的相同更新
sudo apt-get update && sudo apt-get upgrade
是可以预期的。如果您随后重新运行此命令,则仅当发布了更多(较新的)更新时,才会提示您进行任何进一步的更新。
评论
我注意到整个系统中的任何文件更改都不会显示到下一个日历日,是否有办法像“刷新”一样立即开始查看更改?
– aljuaid86
16年2月11日在7:24
您是说要更新当天消息的内容,还是在运行sudo apt-get update && sudo apt-get upgrade之后没有得到想要的内容?
– david6
16-2-11在7:35
在16.04上不再如此。在“ apt-get dist-upgrade”和重新启动之后,我看到“可以升级0个软件包”。
– Bogdan Calmac
16年6月24日在18:27
上面的“ ..或服务器重新启动..”语句确实涵盖了这一点。
– david6
16年6月24日在20:29
cat:/ etc / motd:没有这样的文件或目录
– xApple
17年1月26日在19:17
#4 楼
登录到服务器后,请运行以下命令。sudo apt-get upgrade
它应该可以解决问题。也许您只需要重新启动服务器即可。
评论
感谢您的回答,但我确实尝试了sudo apt-get upgrade。重新启动服务器是不可能的,因为我上面有站点。
–马林鱼
2012年10月5日14:04
如果您安装了直接影响内核的更新,驱动程序更新或重要安全更新,则需要重新启动服务器。
– Evandro Silva
2012年10月5日14:11
也许您应该考虑一分钟的错误503。您知道这是哪种更新吗?
– NorTicUs
2012年10月5日15:09
如果服务器离线,如何给出503?
–mcont
2015年1月12日下午13:58
#5 楼
就我而言,我在/etc/apt/sources.list中有一个错误或无法访问的URL。删除此URL之后,我能够成功更新所有软件包。
sudo vi /etc/apt/sources.list
sudo apt-get update && sudo apt-get upgrade
#6 楼
我的(真的很晚,我喜欢死灵法师徽章:-))解决方案:安装Wajig(一次):
sudo apt-get install wajig
当您想完全更新/升级系统时,
wajig dailyupgrade
(如果需要,它将要求输入密码,并进行所有更新,升级,远程升级和自动删除步骤)。
#7 楼
您可能还需要执行此操作-sudo touch /etc/motd.tail
来自-Ubuntu告诉我我有在不使用时可以升级的软件包
它起作用了对我来说14.04
#8 楼
如果在完成apt-get update
之后再次运行apt-get upgrade
,则ssh登录时的那些消息应消失。#9 楼
该脚本非常方便,可以自动执行更新,包括删除不需要的程序包,并且仅在操作系统希望在本地计算机上运行它时才执行重新启动。做ssh
这是我保存在〜/ .bashrc中的别名
remote_user=usernamehere
remote_host=example.com
ssh -A -n -o StrictHostKeyChecking=no ${remote_user}@${remote_host} && \
sudo apt-get update && \
sudo apt-get -f install -y && \
sudo apt-get -o Dpkg::Options::="--force-confnew" -yy dist-upgrade -y && \
sudo apt-get autoremove -y && \
[ -f /var/run/reboot-required ] && \
echo "sudo reboot now" && \
sudo reboot now
然后在终端上,我只是发出
doit
评论
您是否首先尝试过此方法:sudo apt-get clean这应该清除缓存。