如何通过命令行安装更新?

当我通过SSH登录我的Web服务器时,我看到了以下信息:

88 packages can be updated. 80 updates are security updates 

我尝试了apt-get update然后apt-get upgrade但每次登录时我仍然会看到有关更新的消息。 我该如何安装它们?

试试这个:

 sudo apt-get update # Fetches the list of available updates sudo apt-get upgrade # Strictly upgrades the current packages sudo apt-get dist-upgrade # Installs updates (new ones) 

有关每个apt-get选项的文档可以在apt-get 的手册页中找到 。 这些也可以通过在您的计算机上运行man apt-get

这是正常行为。

您在登录时看到的消息已附加到服务器状态“每日消息”,该状态仅在每个日历日(或在服务器启动/启动时)更新。 看看内容,使用

 cat /etc/motd 

在运行之后仍然可以看到相同的更新

 sudo apt-get update && sudo apt-get upgrade 

是可以预料的。 如果您重新运行此命令,则只有在发布更新(更新)更新时才会提示您进行任何进一步更新。

键入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 -- < 

甚至更短的for循环(谢谢@dessert)

 sudo bash -c 'for i in update {,dist-}upgrade auto{remove,clean}; do apt-get $i -y; done' 

登录服务器后,运行以下命令。

 sudo apt-get upgrade 

它应该做的伎俩。 也许你只需要重新启动服务器。

就我而言,我在/etc/apt/sources.list中有一个不正确或无法访问的URL 删除此URL后,我能够成功更新所有包。

命令:

 sudo vi /etc/apt/sources.list sudo apt-get update && sudo apt-get upgrade 

我(真的很晚了,我喜欢死灵法师徽章:-))解决方案:

  1. 安装wajig (一次):

     sudo apt-get install wajig 
  2. 当您想要完全更新/升级系统时

     wajig dailyupgrade 

    (如果需要,它会询问密码,并为您执行所有更新,升级,dist-upgrade和autoremove步骤)。

您可能还需要这样做 –

 sudo touch /etc/motd.tail 

从 – Ubuntu告诉我,当我没有时,我有包升级

它在14.04对我有用

此脚本可以自动执行更新,包括删除不需要的软件包并仅在操作系统需要时才执行重新启动

 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 

要在你的本地盒子上运行,只需要离开第一行做ssh

这是我保存在〜/ .bashrc中的别名

 alias doit='echo; kill $( ps -eafww|grep update-manager|grep -v grep | grep update-manager | tr -s " " |cut -d" " -f2 ) > /dev/null 2>&1; echo "sudo apt-get update && sudo apt-get dist-upgrade && [ -f /var/run/reboot-required ] && echo && echo reboot required && echo";echo;sudo apt-get update && sudo apt-get dist-upgrade && [ -f /var/run/reboot-required ] && echo && echo reboot required && echo ' 

然后在终端我发布doit

如果在apt-get upgrade结束后再次运行apt-get update ,则ssh登录时的那些消息应该消失。

你可以尝试所有这些:

 sudo apt-get install software-center (gets the software center) sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade