Próbowałem już wszystkiego, aby zainstalować MariaDB na tej czystej instalacji Ubuntu, ale wciąż pojawia się ten błąd,
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-5.5 (= 5.5.33a+maria-1~saucy)
but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Postępowałem zgodnie z tym przewodnikiem, aby go zainstalować, http://www.unixmen.com/install-lemp-server-nginx-mysql-mariadb-php-ubuntu-13-10-server/
I postępowałem zgodnie z „oficjalnym” przewodnikiem na stronie pobierania MariaDB dla 13.10 https://downloads.mariadb.org/mariadb/repositories/
Ale wydaje się, że nic nie działa.
Edytuj 1
Próbowałem obu. Jak rozwiązać niezaspokojone zależności po dodaniu PPA? i jak zainstalować MariaDB? ale nadal daje mi błąd, który opublikowałem powyżej.
Jest to świeża instalacja Ubuntu, w której prawie nic nie jest zainstalowane.
Edytuj 2
Wszystkie pola wyboru są biletami w Aktualizacjach. Prowadziłem:
sudo apt-get update && sudo apt-get -f install mariadb-server-5.5"=5.5.33a+maria-1~saucy"
I dał mi ten błąd:
The following packages have unmet dependencies:
mariadb-server-5.5 : Depends: mariadb-client-5.5 (>= 5.5.33a+maria-1~saucy)
but it is not going to be installed
Depends: mariadb-server-core-5.5 (>= 5.5.33a+maria-1~saucy)
but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
źródło
sudo apt-get update && sudo apt-get -f install mariadb-server-5.5"=5.5.33a+maria-1~saucy"
Upewnij się, że zaznaczyłeś wszystkie pola wyboru w zakładce Aktualizacje w Źródłach oprogramowania . Aby to sprawdzić, uruchom:sudo software-properties-gtk
aby otworzyć Źródła oprogramowania . Jeśli pojawi się jakikolwiek błąd / komunikat w poleceniu, o którym wspomniałem powyżej, opublikuj go w swoim pytaniu.sudo apt-get -f install mariadb-server-5.5"=5.5.33a+maria-1~saucy mariadb-client-5.5"=5.5.33a+maria-1~saucy" mariadb-server-core-5.5"=5.5.33a+maria-1~saucy"
Złap wzorzec, co robię, więc jeśli otrzymasz więcej pakietów do zainstalowania, umieść to w tym samym wierszu, co po tym samym tupie. Wiem, że byłoby to trudne, ale mam nadzieję, że ci to pomoże. Odpowiadać.libmariadbclient18 : Depends: libmysqlclient18 (= 5.5.33a+maria-1~saucy) but 5.5.34-0ubuntu0.13.10.1 is to be installed
Odpowiedzi:
Zobacz niezgodność wersji między repozytoriami Mariadb a Ubuntu Debian
Taka jest sytuacja w tym piśmie, ponieważ numery wersji są pokazane jako:
Strona MariaDB zawiera dwa rozwiązania.
Pierwsze rozwiązanie: określenie wersji pakietu
który jest
UWAGA: Zaktualizuj do wersji 5.5.34, aby odzwierciedlić bieżącą wersję z 2014.01.28 [RealPariah] Po instalacji musisz wstrzymać pakiety, dopóki numery wersji nie zsynchronizują się.
Skąd mam wiedzieć, kiedy numery wersji znów się zgadzają?
Możesz śledzić numer wersji MariaDB, zapisując się do powiadomienia e-mail o nowych wydaniach na MariaDB.org . Według strony jest to
low-traffic announce-only list
.Ponadto, gdy wersje pakietów zostaną ponownie zsynchronizowane, powinieneś przestać widzieć komunikat w apt, że będą przechowywane tylko 2 wstrzymane pakiety, ale że wszystkie pakiety mariadb będą przechowywane:
Oznacza to, że numery pakietów są ponownie zsynchronizowane, co można również sprawdzić w narzędziach synaptycznych lub podobnych.
Drugie rozwiązanie: Przypinanie repozytorium MariaDB
Zamień
<mirror-domain>
na nazwę domeny lustra MariaDB, którego używasz. Na przykładftp.osuosl.org
. Po umieszczeniu pliku pin paczki z repozytorium MariaDB będą miały pierwszeństwo przed paczkami z repozytoriów systemowych.Nazwę lustra, której używasz, możesz znaleźć w Ustawieniach systemu >> Oprogramowanie i aktualizacje lub jeśli używasz innego smaku Ubuntu, Synaptic >> Ustawienia >> Repozytoria lub
cat /etc/apt/sources.list
.W
Pin-Priority
tym przypadku wartość musi być większa lub równa 1000, cocauses a version to be installed even if this constitutes a downgrade of the package
(Zobacz
man 5 apt_preferences
więcej informacji na temat opcji w innych przypadkach.)Nazywanie pliku preferencji przypinania
Note that the file in the /etc/apt/preferences.d directory are parsed in alphanumeric ascending order and need to obey the following naming convention:
The files have either no or "pref" as filename extension and only contain alphanumeric, hyphen (-), undescore (_), and period (.) characters. Otherwise APT will print a notice that it has ignored a file...
(Źródło:
man 5 apt_preferences
)Więc sama nazwa nie ma znaczenia, ale dobre imię byłoby coś w rodzaju
50_mariadb
. To identyfikuje zaangażowany pakiet i umożliwia łatwe umieszczenie innych plików preferencji przypinania przed lub po tym pliku w kolejności przetwarzania.źródło
Miałem podobny problem w aktualizacji Ubuntu 14.10 z MySQL do Maria DB. Mianowicie utknęłbym
Po zastosowaniu się do tych sugestii bezskutecznie, następujące pomogły mi bardzo: Jak zamienić MySQL na MariaDB w Ubuntu Server przez JournalXtra.
Edycja / var / lib / dpkg / status i usunięcie dwóch instancji libmysqlclient18 w następujący sposób:
MySQL jest szybkim, stabilnym i prawdziwie wielowątkowym serwerem baz danych SQL. SQL (Structured Query Language) to najpopularniejszy język zapytań do baz danych na świecie. Głównymi celami MySQL są szybkość, solidność i łatwość użycia. . Ten pakiet zawiera bibliotekę klienta. Strona domowa: http://dev.mysql.com/ Original-Maintainer: Debian MySQL Maintainers
Pozwoliło mi płynnie zainstalować MariaDB.
Uwaga : Dostałem się tutaj po wielu próbach usunięcia libmariadbclient18 i libmysqlclient18, zanim to rozwiązanie zadziałało. Nie mogłem ominąć problemów z apt-get, dopóki te dwa nie zostały usunięte, ponieważ zgłoszono je jako uszkodzone pakiety, zanim mogłem spróbować wykonać jakąkolwiek inną naprawę.
źródło