我试图弄清楚为什么检测不到apt-get
较新版本的chromium-browser
。
这是在 Ubuntu 16.04.3 LTS 上。
首先,这是的输出sudo apt update
:
Hit:1 http://lu.archive.ubuntu.com/ubuntu xenial InRelease
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.
这是输出apt-cache policy chromium-browser
:
chromium-browser:
Installed: 73.0.3683.86-0ubuntu0.16.04.1
Candidate: 73.0.3683.86-0ubuntu0.16.04.1
Version table:
*** 73.0.3683.86-0ubuntu0.16.04.1 100
100 /var/lib/dpkg/status
49.0.2623.108-0ubuntu1.1233 500
500 http://lu.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
它显示我安装的版本73
是最新版本,并且与候选版本匹配,因此不会更新任何内容。
如果我尝试使用模拟安装apt-get install -s chromium-browser
,我会得到:
chromium-browser is already the newest version (73.0.3683.86-0ubuntu0.16.04.1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
78
但是,在 Universe 存储库中有一个较新的版本,位于以下文件夹中:
http://lu.archive.ubuntu.com/ubuntu/pool/universe/c/chromium-browser/
以下是我所考虑的实际 .deb 的链接: http://lu.archive.ubuntu.com/ubuntu/pool/universe/c/chromium-browser/chromium-browser_78.0.3904.108-0ubuntu0.16.04.1_amd64.deb
当上述链接失效时,以下是该文件夹的屏幕截图,以供未来的读者查看:
另请注意,如果我添加这个ppa
...
sudo add-apt-repository ppa:canonical-chromium-builds/stage
...则输出apt-cache policy chromium browser
如下:
chromium-browser:
Installed: 73.0.3683.86-0ubuntu0.16.04.1
Candidate: 78.0.3904.108-0ubuntu0.16.04.1
Version table:
78.0.3904.108-0ubuntu0.16.04.1 500
500 http://ppa.launchpad.net/canonical-chromium-builds/stage/ubuntu xenial/main amd64 Packages
*** 73.0.3683.86-0ubuntu0.16.04.1 100
100 /var/lib/dpkg/status
49.0.2623.108-0ubuntu1.1233 500
500 http://lu.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
现在它确实将新版本视为候选版本78
。
然而我的问题是为什么它检测不到78
来自 Universe 存储库的版本,为什么我甚至需要添加 ppa,因为我上面已经证明 .deb 存在。
注意:我不是在询问如何更新软件包的说明 - 我知道如何安装 .deb 文件。相反,我试图了解 apt 工具是如何工作的。
答案1
总结
您必须启用xenial-更新和xenial-安全在您的/etc/apt/sources.list
或软件和更新的更新选项卡中(software-properties-gtk
)。
看来你错误地理解了水池文件夹结构。它包含所有版本的所有软件包。
你应该去https://packages.ubuntu.com并运行搜索chromium 浏览器软件包 amd64确定您当前版本的正确版本。
然后你将获得以下内容赛尼尔和xenial-更新:
xenial (16.04LTS) (网络):Chromium 网络浏览器,Chrome 的开源版本 [宇宙]
78.0.3904.108-0ubuntu0.16.04.1 [安全]: amd64
xenial-updates (web): Chromium 网络浏览器,Chrome 的开源版本 [宇宙] 78.0.3904.108-0ubuntu0.16.04.1:amd64
因此你可以从宇宙口袋:
78.0.3904.108-0ubuntu0.16.04.1:amd64
在我完全更新的系统上,输出如下:
$ apt-cache policy chromium-browser chromium-browser: Installed: 78.0.3904.108-0ubuntu0.16.04.1
Candidate: 78.0.3904.108-0ubuntu0.16.04.1 Version table: *** 78.0.3904.108-0ubuntu0.16.04.1 500
500 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages 500 http://archive.ubuntu.com/ubuntu xenial-security/universe amd64 Packages 100 /var/lib/dpkg/status 49.0.2623.108-0ubuntu1.1233 500 500 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
就你的情况而言xenial-更新您的文件中缺少此更新/etc/apt/sources.list
。您需要从终端或通过访问“软件和更新”的“更新”选项卡 ( ) 重新启用它software-properties-gtk
。
另外我需要注意的是,当前的 Ubuntu 16.04 LTS 版本是 16.04.6 LTS。
因此你确实需要启用xenial-更新,xenial-安全,然后使用 更新软件包列表,sudo apt-get update
并使用 安装所有最新的依赖项sudo apt-get dist-upgrade
。这将解决许多与安全和更新相关的问题。
答案2
点击数:1http://lu.archive.ubuntu.com/ubuntuxenial 发布中
您仅查找“xenial”?
这是 xenial 发布时的状态,xenial-updates 包含后来发布的版本。
http://lu.archive.ubuntu.com/ubuntu/dists/xenial/
显示Contents-amd64.gz 2016-04-21 08:04
同时http://lu.archive.ubuntu.com/ubuntu/dists/xenial-updates/
有Contents-amd64.gz 2019-12-11 05:57
此文件包含信息,哪些包在哪个版本中可用,并且所有包都可以从“池”树中下载。
在“xenial”文件中你只能找到Version: 49.0.2623.108-0ubuntu1.1233
所以你必须将其添加xenial-updates
到你的 sources.list 并且应该能够更新。