Answers:
用这个:
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
有关每个apt
选项的文档可在apt的手册页中找到。这些也可以通过man apt
在终端中运行来获得。
两者的使用upgrade
和full-upgrade
一般不需要在一起,但它可以帮助在某些情况下:看到有关从Debian的9升级Debian的文档。
sudo reboot
之后重新启动吗?
通过键入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'
dist-upgrade
和autoremove
通过apt-get dist-upgrade --auto-remove
。
upgrade
和dist-upgrade
。
dist-upgrade
可以删除软件包。使用upgrade
first可以避免这种情况,例如当新的软件包版本比旧的软件包更容易满足依赖关系时。我不知道在稳定版本的Ubuntu中升级软件包时这有多大帮助,但是在其他情况下建议这样做。就个人而言,我很少dist-upgrade
在Ubuntu中使用,而当我这样做时,我永远不会通过-y
。但是,如果要通过dist-upgrade
并通过-y
,我认为首先执行upgrade
操作是合理的。
--autoremove
与您选择的升级命令链接在一起,但不建议这样做,因为当其中一个软件包出现故障时,它可能以不干净的状态结束。更好autoremove
的方法是在完成更新过程后,在单独的行上单独使用,如果您也想清除旧的配置文件,也可以使用进行链接--purge
。
apt
实现。我认为应该实施它,以免使系统处于不干净的状态。
这是正常现象。
在登录时看到该消息已被附加到服务器状态“消息的最日”,这是唯一的更新每个日历天(或在服务器开机/启动)。看一下内容,使用
cat /etc/motd
运行后仍然看到可用的相同更新
sudo apt-get update && sudo apt-get upgrade
可以预料的。如果您随后重新运行此命令,则仅当发布了更多(较新的)更新时,才会提示您进行任何进一步的更新。
sudo apt-get update && sudo apt-get upgrade
?
登录到服务器后,请运行以下命令。
sudo apt-get upgrade
它应该可以解决问题。也许您只需要重新启动服务器即可。
该脚本非常有用,可以自动执行更新,包括删除不需要的程序包,并且仅在操作系统需要一个
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