本文记录我在 Debian 安装 dotnet 失败,报错信息是 packages-microsoft-prod depends on ca-certificates; however: Package ca-certificates is not installed.

一开始按照官方的以下代码例子进行安装 packages-microsoft-prod.deb 文件,命令如下

sudo dpkg -i packages-microsoft-prod.deb

报错信息如下

(Reading database ... 9939 files and directories currently installed.)
Preparing to unpack packages-microsoft-prod.deb ...
Unpacking packages-microsoft-prod (1.1-debian12) over (1.1-debian12) ...
dpkg: dependency problems prevent configuration of packages-microsoft-prod:
 packages-microsoft-prod depends on ca-certificates; however:
  Package ca-certificates is not installed.

根据网上提供的命令,通过以下命令重新安装 ca-certificates 工具

sudo apt-get install --reinstall ca-certificates

依然提示失败,这次是依赖的 openssl 没有安装,错误提示如下

Reading package lists... Done
Building dependency tree... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 ca-certificates : Depends: openssl (>= 1.1.1) but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution)

解决方法:

先通过 apt --fix-broken install 命令解开错误,输入命令行如下

sudo apt --fix-broken install

运行成功,输出如下

Reading package lists... Done
Building dependency tree... Done
Correcting dependencies... Done
The following additional packages will be installed:
  ca-certificates libssl1.1 openssl
The following NEW packages will be installed:
  ca-certificates libssl1.1 openssl
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 2,573 kB of archives.
After this operation, 6,112 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://mirrors.aliyun.com/debian-security buster/updates/main amd64 libssl1.1 amd64 1.1.1n-0+deb10u6 [1,552 kB]
Get:2 http://mirrors.aliyun.com/debian-security buster/updates/main amd64 openssl amd64 1.1.1n-0+deb10u6 [855 kB]
Get:3 http://mirrors.aliyun.com/debian buster/main amd64 ca-certificates all 20200601~deb10u2 [166 kB]
Fetched 2,573 kB in 3s (930 kB/s)
Preconfiguring packages ...
Selecting previously unselected package libssl1.1:amd64.
(Reading database ... 9939 files and directories currently installed.)
Preparing to unpack .../libssl1.1_1.1.1n-0+deb10u6_amd64.deb ...
Unpacking libssl1.1:amd64 (1.1.1n-0+deb10u6) ...
Selecting previously unselected package openssl.
Preparing to unpack .../openssl_1.1.1n-0+deb10u6_amd64.deb ...
Unpacking openssl (1.1.1n-0+deb10u6) ...
Selecting previously unselected package ca-certificates.
Preparing to unpack .../ca-certificates_20200601~deb10u2_all.deb ...
Unpacking ca-certificates (20200601~deb10u2) ...
Setting up libssl1.1:amd64 (1.1.1n-0+deb10u6) ...
Setting up openssl (1.1.1n-0+deb10u6) ...
Setting up ca-certificates (20200601~deb10u2) ...
Updating certificates in /etc/ssl/certs...
137 added, 0 removed; done.
Setting up packages-microsoft-prod (1.1-debian12) ...
Processing triggers for libc-bin (2.36-9) ...
Processing triggers for ca-certificates (20200601~deb10u2) ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.

接着使用以下命令重新安装 ca-certificates 工具

sudo apt-get --fix-broken install --reinstall ca-certificates

安装成功,输出如下

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
Need to get 166 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://mirrors.aliyun.com/debian buster/main amd64 ca-certificates all 20200601~deb10u2 [166 kB]
Fetched 166 kB in 0s (789 kB/s)
Preconfiguring packages ...
(Reading database ... 10266 files and directories currently installed.)
Preparing to unpack .../ca-certificates_20200601~deb10u2_all.deb ...
Unpacking ca-certificates (20200601~deb10u2) over (20200601~deb10u2) ...
Setting up ca-certificates (20200601~deb10u2) ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Processing triggers for ca-certificates (20200601~deb10u2) ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.

再继续安装 packages-microsoft-prod.deb 使用以下命令

sudo dpkg -i packages-microsoft-prod.deb

执行成功,输出如下

(Reading database ... 10266 files and directories currently installed.)
Preparing to unpack packages-microsoft-prod.deb ...
Unpacking packages-microsoft-prod (1.1-debian12) over (1.1-debian12) ...
Setting up packages-microsoft-prod (1.1-debian12) ...
File /usr/share/keyrings/microsoft-prod.gpg is missing. Installing...

接着执行 sudo apt-get update 命令

sudo apt-get update

执行成功,输出如下

Get:1 https://packages.microsoft.com/debian/12/prod bookworm InRelease [3,617 B]
Hit:2 http://mirrors.aliyun.com/debian buster InRelease
Get:3 https://packages.microsoft.com/debian/12/prod bookworm/main armhf Packages [5,346 B]
Get:4 https://packages.microsoft.com/debian/12/prod bookworm/main amd64 Packages [29.1 kB]
Get:5 https://packages.microsoft.com/debian/12/prod bookworm/main all Packages [342 B]
Get:6 https://packages.microsoft.com/debian/12/prod bookworm/main arm64 Packages [5,932 B]
Get:7 http://mirrors.aliyun.com/debian-security buster/updates InRelease [34.8 kB]
Hit:8 http://mirrors.aliyun.com/debian buster-updates InRelease
Get:9 http://mirrors.aliyun.com/debian buster-backports InRelease [51.4 kB]
Get:10 http://mirrors.aliyun.com/debian-security buster/updates/main Sources [371 kB]
Get:11 http://mirrors.aliyun.com/debian-security buster/updates/main amd64 Packages [586 kB]
Get:12 http://mirrors.aliyun.com/debian-security buster/updates/main Translation-en [318 kB]
Get:13 http://mirrors.aliyun.com/debian buster-backports/main Sources.diff/Index [27.8 kB]
Get:14 http://mirrors.aliyun.com/debian buster-backports/main amd64 Packages.diff/Index [27.8 kB]
Get:15 http://mirrors.aliyun.com/debian buster-backports/main Sources 2024-02-11-0807.14.pdiff [1,391 B]
Get:16 http://mirrors.aliyun.com/debian buster-backports/main Sources 2024-02-11-1408.12.pdiff [33 B]
Get:16 http://mirrors.aliyun.com/debian buster-backports/main Sources 2024-02-11-1408.12.pdiff [33 B]
Get:17 http://mirrors.aliyun.com/debian buster-backports/main amd64 Packages 2024-02-11-1408.12.pdiff [1,249 B]
Get:17 http://mirrors.aliyun.com/debian buster-backports/main amd64 Packages 2024-02-11-1408.12.pdiff [1,249 B]
Fetched 1,464 kB in 2s (684 kB/s)
Reading package lists... Done

接着执行安装 .NET 7 SDK 命令

sudo apt-get install -y dotnet-sdk-7.0

执行成功,输出如下

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  aspnetcore-runtime-7.0 aspnetcore-targeting-pack-7.0 dotnet-apphost-pack-7.0 dotnet-host dotnet-hostfxr-7.0
  dotnet-runtime-7.0 dotnet-runtime-deps-7.0 dotnet-targeting-pack-7.0 libicu63 netstandard-targeting-pack-2.1
The following NEW packages will be installed:
  aspnetcore-runtime-7.0 aspnetcore-targeting-pack-7.0 dotnet-apphost-pack-7.0 dotnet-host dotnet-hostfxr-7.0
  dotnet-runtime-7.0 dotnet-runtime-deps-7.0 dotnet-sdk-7.0 dotnet-targeting-pack-7.0 libicu63
  netstandard-targeting-pack-2.1
0 upgraded, 11 newly installed, 0 to remove and 0 not upgraded.
Need to get 156 MB of archives.
After this operation, 616 MB of additional disk space will be used.
Get:1 https://packages.microsoft.com/debian/12/prod bookworm/main amd64 dotnet-runtime-deps-7.0 amd64 7.0.16-1 [2,890 B]
Get:2 https://packages.microsoft.com/debian/12/prod bookworm/main amd64 dotnet-host amd64 8.0.2-1 [37.6 kB]
Get:3 https://packages.microsoft.com/debian/12/prod bookworm/main amd64 dotnet-hostfxr-7.0 amd64 7.0.16-1 [145 kB]
Get:4 http://mirrors.aliyun.com/debian buster/main amd64 libicu63 amd64 63.1-6+deb10u3 [8,293 kB]
Get:5 https://packages.microsoft.com/debian/12/prod bookworm/main amd64 dotnet-runtime-7.0 amd64 7.0.16-1 [23.2 MB]
Get:6 https://packages.microsoft.com/debian/12/prod bookworm/main amd64 aspnetcore-runtime-7.0 amd64 7.0.16-1 [7,065 kB]
Get:7 https://packages.microsoft.com/debian/12/prod bookworm/main amd64 dotnet-targeting-pack-7.0 amd64 7.0.16-1 [2,568 kB]
Get:8 https://packages.microsoft.com/debian/12/prod bookworm/main amd64 aspnetcore-targeting-pack-7.0 amd64 7.0.16-1 [1,525 kB]
Get:9 https://packages.microsoft.com/debian/12/prod bookworm/main amd64 dotnet-apphost-pack-7.0 amd64 7.0.16-1 [3,523 kB]
Get:10 https://packages.microsoft.com/debian/12/prod bookworm/main amd64 netstandard-targeting-pack-2.1 amd64 2.1.0-1 [1,476 kB]
Get:11 https://packages.microsoft.com/debian/12/prod bookworm/main amd64 dotnet-sdk-7.0 amd64 7.0.406-1 [108 MB]
Fetched 156 MB in 2min 1s (1,291 kB/s)
Selecting previously unselected package libicu63:amd64.
(Reading database ... 10266 files and directories currently installed.)
Preparing to unpack .../00-libicu63_63.1-6+deb10u3_amd64.deb ...
Unpacking libicu63:amd64 (63.1-6+deb10u3) ...
Selecting previously unselected package dotnet-runtime-deps-7.0.
Preparing to unpack .../01-dotnet-runtime-deps-7.0_7.0.16-1_amd64.deb ...
Unpacking dotnet-runtime-deps-7.0 (7.0.16-1) ...
Selecting previously unselected package dotnet-host.
Preparing to unpack .../02-dotnet-host_8.0.2-1_amd64.deb ...
Unpacking dotnet-host (8.0.2-1) ...
Selecting previously unselected package dotnet-hostfxr-7.0.
Preparing to unpack .../03-dotnet-hostfxr-7.0_7.0.16-1_amd64.deb ...
Unpacking dotnet-hostfxr-7.0 (7.0.16-1) ...
Selecting previously unselected package dotnet-runtime-7.0.
Preparing to unpack .../04-dotnet-runtime-7.0_7.0.16-1_amd64.deb ...
Unpacking dotnet-runtime-7.0 (7.0.16-1) ...
Selecting previously unselected package aspnetcore-runtime-7.0.
Preparing to unpack .../05-aspnetcore-runtime-7.0_7.0.16-1_amd64.deb ...
Unpacking aspnetcore-runtime-7.0 (7.0.16-1) ...
Selecting previously unselected package dotnet-targeting-pack-7.0.
Preparing to unpack .../06-dotnet-targeting-pack-7.0_7.0.16-1_amd64.deb ...
Unpacking dotnet-targeting-pack-7.0 (7.0.16-1) ...
Selecting previously unselected package aspnetcore-targeting-pack-7.0.
Preparing to unpack .../07-aspnetcore-targeting-pack-7.0_7.0.16-1_amd64.deb ...
Unpacking aspnetcore-targeting-pack-7.0 (7.0.16-1) ...
Selecting previously unselected package dotnet-apphost-pack-7.0.
Preparing to unpack .../08-dotnet-apphost-pack-7.0_7.0.16-1_amd64.deb ...
Unpacking dotnet-apphost-pack-7.0 (7.0.16-1) ...
Selecting previously unselected package netstandard-targeting-pack-2.1.
Preparing to unpack .../09-netstandard-targeting-pack-2.1_2.1.0-1_amd64.deb ...
Unpacking netstandard-targeting-pack-2.1 (2.1.0-1) ...
Selecting previously unselected package dotnet-sdk-7.0.
Preparing to unpack .../10-dotnet-sdk-7.0_7.0.406-1_amd64.deb ...
Unpacking dotnet-sdk-7.0 (7.0.406-1) ...
Setting up dotnet-host (8.0.2-1) ...
Setting up netstandard-targeting-pack-2.1 (2.1.0-1) ...
Setting up libicu63:amd64 (63.1-6+deb10u3) ...
Setting up dotnet-targeting-pack-7.0 (7.0.16-1) ...
Setting up dotnet-apphost-pack-7.0 (7.0.16-1) ...
Setting up dotnet-hostfxr-7.0 (7.0.16-1) ...
Setting up dotnet-runtime-deps-7.0 (7.0.16-1) ...
Setting up aspnetcore-targeting-pack-7.0 (7.0.16-1) ...
Setting up dotnet-runtime-7.0 (7.0.16-1) ...
Setting up aspnetcore-runtime-7.0 (7.0.16-1) ...
Setting up dotnet-sdk-7.0 (7.0.406-1) ...
Processing triggers for libc-bin (2.36-9) ...

安装完成,输出 dotnet 命令测试一下

dotnet

输出如下代表成功

Usage: dotnet [options]
Usage: dotnet [path-to-application]

Options:
  -h|--help         Display help.
  --info            Display .NET information.
  --list-sdks       Display the installed SDKs.
  --list-runtimes   Display the installed runtimes.

path-to-application:
  The path to an application .dll file to execute.

本文会经常更新,请阅读原文: https://blog.lindexi.com/post/%E4%BF%AE%E5%A4%8D-Debian-%E5%AE%89%E8%A3%85-dotnet-%E5%A4%B1%E8%B4%A5-depends-on-ca-certificates.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

如果你想持续阅读我的最新博客,请点击 RSS 订阅,推荐使用RSS Stalker订阅博客,或者收藏我的博客导航

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系

微软最具价值专家


无盈利,不卖课,做纯粹的技术博客

以下是广告时间

推荐关注 Edi.Wang 的公众号

欢迎进入 Eleven 老师组建的 .NET 社区

以上广告全是友情推广,无盈利