Debian软件包不提供?
问题描述:
我有以下2包(定制):Debian软件包不提供?
**apt-cache show libmysqlclient18**
Package: libmysqlclient18
Section: libs
Installed-Size: 4194
Architecture: amd64
Version: 5.6.27
Depends: mysql-common (>= 5.6.27)
Filename: ./libmysqlclient18.deb
Size: 1167158
MD5sum: cf4a5d292456375c4099b11f5ee6270d
SHA1: e9c4f185bed358e5dda908555686b2884d341772
SHA256: 3092f2af61493bd8e75503568ff622ce1dd81a9ce04aa072d28c336092835e8f
SHA512: e0ffcf7cd48f230225fb48bf5fee8968f1e4006c581529b196a27bff06257fe1da55e80434af0e2e58d2805156da37c44d7994a5af233e8942ecc6d99d680117
Description-en: MySQL database client library
MySQL is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query
language in the world. The main goals of MySQL are speed, robustness and
ease of use.
.
This package includes the client library.
及以下:尝试安装libmysqlclient20时
**dpkg --info libmysqlclient20.deb**
new debian package, version 2.0.
size 1429220 bytes: control archive=909 bytes.
768 bytes, 18 lines control
72 bytes, 1 lines md5sums
268 bytes, 15 lines * postinst #!/bin/bash
139 bytes, 7 lines * postrm #!/bin/sh
45 bytes, 0 lines shlibs
Package: libmysqlclient20
Architecture: amd64
Version: 5.7.9
Section: libs
Depends: mysql-common (>= 5.7.9)
Provides: libmysqlclient15, libmysqlclient18
Conflicts: libmysqlclient15, libmysqlclient18
Replaces: libmysqlclient15, libmysqlclient18
Installed-Size: 4565
Description: MySQL shared client libraries
The MySQL(TM) software delivers a very fast, multi-threaded, multi-user,
and robust SQL (Structured Query Language) database server. MySQL Server
is intended for mission-critical, heavy-load production systems as well
as for embedding into mass-deployed software. MySQL is a trademark of
Oracle. This package contains the shared libraries for MySQL client
applications.
现在,我得到不是有关相关警告的LOT满足:
Reading package lists... Done
Building dependency tree
Reading state information... Done
dovecot-mysql is already the newest version.
libdbd-mysql-perl is already the newest version.
libdbd-mysql-perl set to manually installed.
libmailutils4 is already the newest version.
mailutils is already the newest version.
mailutils set to manually installed.
libqt4-sql-mysql is already the newest version.
libqt4-sql-mysql set to manually installed.
php5-mysql is already the newest version.
php5-mysql set to manually installed.
zabbix-server-mysql is already the newest version.
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
dovecot-mysql : Depends: libmysqlclient18 (>= 5.5.24+dfsg-1)
libdbd-mysql-perl : Depends: libmysqlclient18 (>= 5.5.24+dfsg-1)
libmailutils4 : Depends: libmysqlclient18 (>= 5.5.24+dfsg-1)
libqt4-sql-mysql : Depends: libmysqlclient18 (>= 5.5.24+dfsg-1)
mailutils : Depends: libmysqlclient18 (>= 5.5.24+dfsg-1)
php5-mysql : Depends: libmysqlclient18 (>= 5.5.24+dfsg-1)
zabbix-server-mysql : Depends: libmysqlclient18 (>= 5.5.24+dfsg-1)
Recommends: snmptt but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
我无法理解的是,我没有提供在控制文件中的“提供”头,以及一个“替换” heade河 当我说新软件包提供了libmysqlclient18时,它怎么可能会选择忽略它呢?
(并且当我想要执行apt-get -f install时,它想要删除libmysqlclient20并重新安装libmysqlclient18)。
有人会知道我在这里失踪了吗?
谢谢!
答
A提供字段可以不包含版本号,和混凝土包,它提供了一个特定的虚拟包的版本号将不被视为考虑的依赖关系或冲突的时虚拟包名称。
如果取决于未版本化,则提供将会得到满足,但是总是未版本化的提供永远不能满足版本化的取消。
所以:保持相同的包名称和更高的版本号。
而不是保持相同的包名称,您可以考虑使用虚拟包中的“取决于您的实际包装上的”更高版本号的同名“ –