我正在试验 VPN,所以我想安装 pptpd。
john@desktop:~$ sudo apt-get install pptpd
[sudo] password for john:
<snip>
The following extra packages will be installed:
bcrelay
The following NEW packages will be installed:
bcrelay pptpd
0 upgraded, 2 newly installed, 0 to remove and 11 not upgraded.
Need to get 90.5 kB of archives.
After this operation, 442 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
一切都运行良好,直到我到达这里:
WARNING: The following packages cannot be authenticated!
bcrelay pptpd
Install these packages without verification [y/N]? n
E: Some packages could not be authenticated
没有身份验证?我不是安全专家,但我相当肯定这是一件坏事。所以我检查包裹来自哪里。
john@desktop:~$ apt-cache policy pptpd
pptpd:
Installed: (none)
Candidate: 1.3.4-3ubuntu1
Version table:
1.3.4-3ubuntu1 0
500 http://us.archive.ubuntu.com/ubuntu/ natty/main i386 Packages
john@desktop:~$ apt-cache policy bcrelay
bcrelay:
Installed: (none)
Candidate: 1.3.4-3ubuntu1
Version table:
1.3.4-3ubuntu1 0
500 http://us.archive.ubuntu.com/ubuntu/ natty/main i386 Packages
它们来自 Ubuntu.com,但未经过正确身份验证?这是怎么回事?
答案1
apt-key 实用程序
apt-key 用于管理 apt 用来验证软件包的密钥列表。使用这些密钥验证过的软件包将被视为受信任。使用 Ubuntu 存档密钥的密钥环更新本地密钥环,并从密钥环中删除不再有效的存档密钥。
$ sudo apt-key update
$ sudo apt-get update
尝试安装一些东西...
答案2
sudo apt-get update
足以帮我解决这个问题。
答案3
我在 Ubuntu 12.10 (Quantal Quetzal) 上遇到了这个问题。如果我尝试使用 Synaptic 包管理器 GUI,也会出现同样的问题。
事实证明,我的系统仍设置为使用代理服务器,因为我不再连接到该网络,因此无法再使用。一旦我禁用代理服务器,apt
就能够正确验证软件包。
为了禁用 Ubuntu 12.10(Quantal Quetzal)上的代理,请按照以下步骤操作:
- 按极好的键盘上的按钮(又称 Windows 徽标按钮)
- 类型网络然后按 Enter 键
- 选择网络代理
- 将方法更改为没有任何
- 点击应用系统范围
apt
现在应该能够验证包
答案4
警惕企业代理!
我在使用代理时获取了WARNING: The following packages cannot be authenticated!
(openjdk-7-jdk
以及其他软件包)。即使使用代理配置了“/etc/apt/apt.conf”和“Settings->NetworkSettings”,也无法验证或安装软件包。
已尝试(在代理之后):
$ sudo apt-key update $ sudo apt-get update
密钥未更新,apt-get update
更新了一些东西,没有警告或错误。但我仍然无法安装openjdk-7-jdk
。
解决方案:
- 直接连接到网络(即避免使用公司代理)
- 在“设置”中关闭代理配置,然后
/etc/apt/apt.conf
sudo apt-key update
sudo apt-get update
sudo apt-get install openjdk-7-jdk
软件包已经过验证、下载并安装。