【问题标题】:MariaDB: Installing MariaDB: unmet dependencies, mariadb-server-10.0MariaDB:安装 MariaDB:未满足的依赖项,mariadb-server-10.0
【发布时间】:2013-07-29 18:29:25
【问题描述】:
 ubuntu:~$ sudo apt-get install mariadb-server
 Reading package lists... Done
 Building dependency tree
 Reading state information... Done
 Some packages could not be installed. This may mean that you have
 requested an impossible situation or if you are using the unstable
 distribution that some required packages have not yet been created
 or been moved out of Incoming.
 The following information may help to resolve the situation:

 The following packages have unmet dependencies:
  mariadb-server : Depends: mariadb-server-10.0 (= 10.0.3+maria-1~precise) but it 
                   is not going to be installed
 E: Unable to correct problems, you have held broken packages.

我想做一个“sudo apt-get upgrade”,出现以下内容(见下文)。我想将 MariaDB 更新到最新的 10.0.3 并在https://askubuntu.com/a/18694 上阅读,因为使用“sudo aptitude”更容易。虽然,我按错了键,但它完成了升级并破坏了 MariaDB。

我使用的是 Ubuntu 12.04 LTS x64,MariaDB 10.0 在出错前的最后三个月运行良好

我尝试再次安装 MariaDB 10,如下所述: https://downloads.mariadb.org/mariadb/repositories/

我还尝试了“sudo apt-get purge mysql* mariadb*”并将其删除但保留了配置文件(正如设置屏幕所要求的那样。

我的 apt sources.list 包含在底部:

 # MariaDB 10.0 repository list - created 2013-07-29 19:06 UTC
 # http://mariadb.org/mariadb/repositories/
 deb http://ftp.osuosl.org/pub/mariadb/repo/10.0/ubuntu precise main
 deb-src http://ftp.osuosl.org/pub/mariadb/repo/10.0/ubuntu precise main

有人在使用 MariaDB 5.5 时遇到了类似的问题: Installing MariaDB - Unmet dependencies, mariadb-server-5.5

在错误之前记录(尽管如上所述,但还是有能力的错误):

The following packages have been kept back:
  libmariadbclient18 libmysqlclient18 linux-headers-virtual
  linux-image-virtual linux-virtual mariadb-client-10.0
  mariadb-client-core-10.0 mariadb-server mariadb-server-10.0
  mariadb-server-core-10.0
The following packages will be upgraded:
  apt apt-transport-https apt-utils bind9-host binutils curl dnsutils
  hiphop-php libapt-inst1.4 libapt-pkg4.12 libbind9-80 libcurl3
  libcurl3-gnutls libdns81 libdrm-intel1 libdrm-nouveau1a libdrm-radeon1
  libdrm2 libisc83 libisccc80 libisccfg82 libldap-2.4-2 liblwres80
  libpython2.7 libssl-dev libssl-doc libssl1.0.0 libxml2 libxml2-dev
  linux-firmware linux-libc-dev openssl python python-minimal python2.7
  python2.7-minimal
36 upgraded, 0 newly installed, 0 to remove and 10 not upgraded.
Need to get 54.8 MB of archives.

【问题讨论】:

    标签: ubuntu ubuntu-12.04 apt-get mariadb


    【解决方案1】:

    我通过以下方式解决了这个问题:

    在“/etc/apt/preferences.d/”中创建名为“mariadb”的新文件:

    Package: *
    Pin: origin ftp.osuosl.org
    Pin-Priority: 1000
    

    详情:https://kb.askmonty.org/en/installing-mariadb-deb-files/#pinning-the-mariadb-repository

    这会固定 MariaDB 存储库并为其赋予高于 999 优先级的非常高的优先级,这意味着它甚至会降级软件包以安装 MariaDB。

    原因:

    Oracle 正在为 MySQL 发布安全更新,而 Ubuntu 正在分发版本号比 MariaDB 更高的最新 MySQL 软件包。 MariaDB(它是 MySQL 的一个分支)提供了几个与 MySQL 同名的二进制文件。所以固定 MariaDB 存储库解决了这个问题。

    感谢 IRC 官方频道的 Jbboin 为我指明了正确的方向!

    【讨论】:

      【解决方案2】:

      检查您的 /etc/apt/sources.list ,可能会有一些以前安装的剩余物导致依赖错误。只需将其删除即可。

      然后

      apt update 
      apt install mariadb-server mariadb-client
      

      【讨论】:

        【解决方案3】:

        我在 ubuntu 20 中安装 mariadb-server 时遇到了同样的问题。我按照以下步骤解决。它奏效了。

        1. sudo apt-get 升级
        2. sudo apt-get dist-upgrade
        3. sudo apt-get 更新
        4. sudo apt-get install -f
        5. sudo apt 自动删除
        6. sudo apt-get install mariadb-server`

        【讨论】:

        • 虽然此代码可能会解决问题,including an explanation 关于如何以及为什么解决问题将真正有助于提高您的帖子质量,并可能导致更多的赞成票。请记住,您正在为将来的读者回答问题,而不仅仅是现在提问的人。请edit您的回答添加解释并说明适用的限制和假设。
        【解决方案4】:

        我在 Ubuntu 18.04 上尝试设置 MariaDB 时遇到了同样的问题:

        我收到以下错误:

        以下包具有未满足的依赖关系: mariadb-server:取决于:mariadb-server-10.1 (>= 1:10.1.48-0ubuntu0.18.04.1) 但不会安装 E: 无法纠正问题,您持有破损的包裹

        我是这样解决的

        首先,检查是否存在现有的 MariaDB 包并将其删除:

        sudo apt purge mariadb-server
        sudo apt autoremove
        

        注意:我设置的MariaDB版本是MariaDB 10.3,您可以使用下面参考中的链接查看最新版本版本。

        接下来,运行以下命令以在您的 Ubuntu 系统上从 MariaDB 存储库安装 MariaDB 10.3

        sudo apt-get install software-properties-common
        sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
        sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] https://mirror.netcologne.de/mariadb/repo/10.3/ubuntu bionic main'
        

        导入密钥并添加存储库后,您可以从 MariaDB 存储库安装 MariaDB 10.3

        sudo apt update
        sudo apt install mariadb-server
        

        参考Setting up MariaDB Repositories

        就是这样

        【讨论】:

          猜你喜欢
          • 2013-04-19
          • 2015-05-11
          • 2020-03-19
          • 2018-06-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-03-10
          • 1970-01-01
          相关资源
          最近更新 更多