将dotnet从1.0.3迁移到2.1.2的deb文件

时间:2018-07-16 16:31:56

标签: linux .net-core migration packaging deb

摘要: 我想将依赖于.Net 1.0.3的deb程序包“ mypackage”迁移到新的.Net运行时2.1.2,即依赖项“ dotnet-runtime-2.1”。 我的问题是,我无法声明依赖项“ dotnet-runtime-2.1”。 一旦开始升级过程,我将得到:

apt-get upgrade mypackage
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 mypackage : Depends: dotnet-runtime-2.1 but it is not installed
E: Unmet dependencies. Try using -f.

apt-get工具可以访问dotnet-runtime-2.1和相关软件包,例如: apt-cache取决于dotnet-runtime-2.1 dotnet-runtime-2.1   取决于:dotnet-runtime-deps-2.1   取决于:dotnet-hostfxr-2.1

apt-get拒绝安装dotnet-runtime-2.1的原因显然是在系统上安装了dotnet 1.0.3:

dpkg -l | grep dotnet
ii  dotnet-dev-1.0.3                                   1.0.3-1  amd64  .NET Core SDK 1.0.3
ii  dotnet-host                                        2.1.2-1  amd64 Microsoft .NET Core Host - 2.1.2
ii  dotnet-hostfxr-1.0.1                               1.0.1-1  amd64  Microsoft .NET Core 1.0.0 - Host FX Resolver 1.0.1
ii  dotnet-hostfxr-1.1.0                               1.1.0-1  amd64 Microsoft .NET Core 1.1.0 - Host FX Resolver 1.1.0
ii  dotnet-sharedframework-microsoft.netcore.app-1.0.4 1.0.4-1  amd64  Microsoft .NET Core 1.0.4 - Runtime Microsoft.NETCore.App 1.0.4
ii  dotnet-sharedframework-microsoft.netcore.app-1.1.1 1.1.1-1  amd64  Microsoft .NET Core 1.1.1 - Runtime Microsoft.NETCore.App 1.1.1

如果我要手动删除所有旧的dotnet软件包和旧的mypackage,则安装具有dotnet-runtime-2.1依赖关系的新mypackage没问题。

但是我想在一个单独的deb文件中完成。 在脚本中删除旧的deb软件包(例如preinst)将失败,因为apt-get命令会阻止其他apt-get命令。 在升级mypackage deb文件时,也许有一个摆脱“旧安装”的技巧。

我使用“冲突:”和“替换:”进行了一些失败的实验 例如我的“控制”文件看起来像

Package: mypackage
Version: 1.0.1
Section: web
Priority: optional
Architecture: amd64
Depends: dotnet-runtime-2.1 (= 2.1.2)
Conflicts: mypackage, dotnet-dev-1.0.3, dotnet-host, dotnet-hostfxr-1.0.1, dotnet-hostfxr-1.1.0, dotnet-sharedframework-microsoft.netcore.app-1.0.4, dotnet-sharedframework-microsoft.netcore.app-1.1.1
Replaces: mypackage, dotnet-dev-1.0.3, dotnet-host, dotnet-hostfxr-1.0.1, dotnet-hostfxr-1.1.0, dotnet-sharedframework-microsoft.netcore.app-1.0.4, dotnet-sharedframework-microsoft.netcore.app-1.1.1
Homepage: http://www.myhomepage.com
Maintainer: MyCompany Ltd
Description: the description
 .
 detailed description
 .

0 个答案:

没有答案