sta*_*bra 5 updates package-management apt ppa repository
我想弄清楚为什么没有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.
Run Code Online (Sandbox Code Playgroud)
这是输出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
Run Code Online (Sandbox Code Playgroud)
它显示我安装的版本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.
Run Code Online (Sandbox Code Playgroud)
但是,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
Run Code Online (Sandbox Code Playgroud)
...然后输出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
Run Code Online (Sandbox Code Playgroud)
现在它确实将较新版本视为候选78
。
但是,我的问题是为什么它没有检测到78
来自 Universe 存储库的版本,为什么我什至需要添加 ppa,因为我在上面证明了 .deb 存在。
注意:我不是在询问如何更新软件包的说明 - 我知道如何安装 .deb 文件。相反,我试图了解 apt 工具是如何工作的。
TL; 博士
您必须在您的或在软件和更新 ( ) 的更新选项卡上启用xenial-updates和xenial-security。/etc/apt/sources.list
software-properties-gtk
您似乎错误地理解了池文件夹结构。它包含所有版本的所有包。
您应该访问https://packages.ubuntu.com并运行搜索chromium-browser package amd64以确定当前版本的正确版本。
然后你会得到以下xenial和xenial-updates:
xenial (16.04LTS) (web):Chromium 网络浏览器,Chrome 的开源版本 [ Universe ]
78.0.3904.108-0ubuntu0.16.04.1 [安全]:amd64
xenial-updates (web):Chromium 网络浏览器,开源Chrome [宇宙] 78.0.3904.108-0ubuntu0.16.04.1 版本:amd64
所以你可以从Universe Pocket获取最新的可能的包版本:
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-updates/etc/apt/sources.list
。您需要从终端或访问软件和更新 ( software-properties-gtk
) 的更新选项卡重新启用它。
另外我需要注意的是,当前的 Ubuntu 16.04 LTS 版本是 16.04.6 LTS。
因此,您确实需要启用xenial-updates、xenial-security,然后sudo apt-get update
使用sudo apt-get dist-upgrade
. 这将解决许多与安全和更新相关的问题。