更新后提示需要升级firefox-esr

~ sudo apt update
Hit:1 http://mirrors.163.com/debian testing InRelease
Hit:2 http://mirrors.163.com/debian testing-updates InRelease                  
Hit:3 http://security.debian.org stable/updates InRelease                      
Reading package lists... Done
Building dependency tree       
Reading state information... Done
1 package can be upgraded. Run 'apt list --upgradable' to see it.

查看得知:

~ sudo apt list --upgradable -a
Listing... Done
firefox-esr/stable 52.4.0esr-1~deb9u1 amd64 [upgradable from: 52.3.0esr-2]
firefox-esr/testing,now 52.3.0esr-2 amd64 [installed,upgradable to: 52.4.0esr-1~deb9u1]

升级却不无法更新:

~ sudo apt dist-upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

请教各位这是什么原因。

你在混源,所以容易出问题。

请修改 sources.list 解决混源状态之后再进行研究。

我以为安全补丁只有在stable里面才有,查了一下https://wiki.debian.org/DebianTesting,里面提到了:

If you are tracking testing or the next-stable code name, you should always have a corresponding
deb http://security.debian.org <“testing” or codename>/updates main line in your /etc/apt/sources.list .

按照@hosiet的提示,对源做了修改,问题就消失了。感谢hosiet的帮助。

deb http://security.debian.org/ testing/updates main contrib non-free

实际上 testing 的安全更新和没有一样,你之前的理解其实没什么错。