2013-07-29 279 views
2
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。安裝MariaDB:未滿足的依賴關係,mariadb-server-10.0

我在Ubuntu 12.04 LTS 64位,MariaDB的10.0之前的錯誤

我試圖重新安裝MariaDB的10工作的罰款在過去三個月中,爲解釋有: https://downloads.mariadb.org/mariadb/repositories/

我也嘗試過「sudo易於得到淨化MYSQL * MariaDB的*」,並刪除它,但保持配置文件(如設置屏幕問這樣

我容易的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. 

回答

10

我解決了這個問題,通過以下方式:

創建 「/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的,給它一個很高的優先級。

原因:

甲骨文發佈MySQL的安全更新和Ubuntu與比MariaDB的版本號高分佈甚了最新的MySQL包。 MariaDB(它是MySQL的一個分支)提供了幾個與MySQL相同名稱的二進制文件。因此固定MariaDB存儲庫解決了這個問題。

感謝官方IRC頻道的Jbboin,他向我指出了正確的方向!