14.04 --> 16.04 失败;apt (>= 1.0.1ubuntu2.13)' 未安装

Sha*_*mar 58 updates dependencies 14.04 16.04

(此问题未解决。由于时间限制,计算机已恢复到出厂设置。)

我试图从 14.04 升级到 16.04,但apt抛出了这个错误:

The required dependency 'apt (>= 1.0.1ubuntu2.13)' is not installed.
Run Code Online (Sandbox Code Playgroud)

这是什么意思,我该如何解决?

当我输入命令 apt-cache policy apt

Shageenth@shageenth-Inspiron-3451:~$ apt-cache policy apt apt:
Installed: 1.0.1ubuntu2.11
Candidate: 1.0.1ubuntu2.11
Version table:
*** 1.0.1ubuntu2.11 0
100 /var/lib/dpkg/status
1.0.1ubuntu2 0
500 http://us.archive.ubuntu.com/ubuntu/ trusty/main amd64 
Packages
Run Code Online (Sandbox Code Playgroud)

当我运行命令时发生错误:

sudo do-release-upgrade -d
Run Code Online (Sandbox Code Playgroud)

它产生以下内容:

Checking for a new Ubuntu release
Get:1 Upgrade tool signature [198 B]
Get:2 Upgrade tool [1,265 kB]
Fetched 1,265 kB in 0s (0 B/s)
authenticate 'xenial.tar.gz' against 'xenial.tar.gz.gpg'
extracting 'xenial.tar.gz'

Reading cache

Checking package manager
Reading package lists... Done
Building dependency tree
Reading state information... Done
Building data structures... Done

Required depends is not installed

The required dependency 'apt (>= 1.0.1ubuntu2.13)' is not installed.
Run Code Online (Sandbox Code Playgroud)

cnx*_*oft 49

我今天遇到了完全相同的问题。升级前请确保您的版本是最新的 Ubuntu 14.04 版本。(此时 Ubuntu 14.04.4)

由于镜像不好,我的卡在 Ubuntu 14.04.3 上。

所以首先运行:

sudo apt update
sudo apt dist-upgrade
Run Code Online (Sandbox Code Playgroud)

确保版本现在是 Ubuntu 14.04.4(2016 年 9 月更新:Ubuntu 14.04.5)。

cat /etc/lsb-release

并使用以下命令启动 Ubuntu 16.04 安装

sudo do-release-upgrade -d
Run Code Online (Sandbox Code Playgroud)

  • 次要版本(参见 14.04 之后的 .3 和 .4)是重点。如果您已经拥有 14.04.4,那么 apt 和 dpkg 将是正确的版本。 (8认同)
  • 如果答案中的命令对您不起作用,请确保在“软件和更新”管理器中选中“重要安全更新”和“推荐更新”。 (2认同)

Ter*_*nce 11

最好始终通过以下正常程序进行更新:

sudo apt update
sudo apt dist-upgrade
Run Code Online (Sandbox Code Playgroud)

如果上述操作失败,则您可以手动执行以下操作。这个问题已经过时了,但您可以更改版本号,因为链接应该仍然相同。

要从apt终端窗口升级您的版本,请键入以下内容:

sudo apt-get download apt
Run Code Online (Sandbox Code Playgroud)

如果上述方法不起作用,您还可以wget通过运行以下行来下载它:

wget http://security.ubuntu.com/ubuntu/pool/main/a/apt/apt_1.0.1ubuntu2.17_amd64.deb
Run Code Online (Sandbox Code Playgroud)

然后输入

sudo dpkg -i apt*.deb
Run Code Online (Sandbox Code Playgroud)

刚刚在我的系统上试过这个。这是输出:

terrance@terrance-VirtualBox:~$ sudo apt-get download apt
[sudo] password for terrance: 
Get:1 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main apt amd64 1.0.1ubuntu2.17 [954 kB]
Fetched 954 kB in 0s (1,127 kB/s)
terrance@terrance-VirtualBox:~$ ls
apt_1.0.1ubuntu2.17_amd64.deb  Documents  examples.desktop  Pictures  Templates
Desktop                        Downloads  Music             Public    Videos
terrance@terrance-VirtualBox:~$ sudo dpkg -i apt*.deb
(Reading database ... 168376 files and directories currently installed.)
Preparing to unpack apt_1.0.1ubuntu2.17_amd64.deb ...
Unpacking apt (1.0.1ubuntu2.17) over (1.0.1ubuntu2.11) ...
Setting up apt (1.0.1ubuntu2.17) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Processing triggers for libc-bin (2.19-0ubuntu6.7) ...
Run Code Online (Sandbox Code Playgroud)

如果在描述的步骤之后您看到由于缺少 dpkg 依赖项而失败,您可以通过重复 dpkg 和 ..

wget http://security.ubuntu.com/ubuntu/pool/main/d/dpkg/dpkg_1.18.24ubuntu1_amd64.deb
sudo dpkg -i dpkg_1.18.24ubuntu1_amd64.deb
Run Code Online (Sandbox Code Playgroud)

可以在此处找到 Ubuntu 可用的所有软件包:

http://security.ubuntu.com/ubuntu/pool/main/