Невозможно «apt-get install» ничего из-за конфликта с mariadb [duplicate]

Нет, это не так, если у вас есть данные на другом диске или вы не форматируете свой системный диск.

Но используйте другой ISO для переустановки системы.

35
задан 16 December 2010 в 22:00

48 ответов

Вы можете создать фиктивный пакет .deb с помощью утилиты equivs, он будет обеспечивать зависимость без установки каких-либо файлов. Затем просто замените установленный пакет на фиктивную версию, используя dpkg -i fake.deb.

15
ответ дан 24 July 2018 в 22:24

Вы можете создать фиктивный пакет .deb с помощью утилиты equivs, он будет обеспечивать зависимость без установки каких-либо файлов. Затем просто замените установленный пакет на фиктивную версию, используя dpkg -i fake.deb.

15
ответ дан 1 August 2018 в 01:21

Вы можете создать фиктивный пакет .deb с помощью утилиты equivs, он будет обеспечивать зависимость без установки каких-либо файлов. Затем просто замените установленный пакет на фиктивную версию, используя dpkg -i fake.deb.

15
ответ дан 2 August 2018 в 20:15

Вы можете создать пакет dummy .deb с помощью утилиты equivs , он будет обеспечивать зависимость без установки каких-либо файлов. Затем просто замените установленный пакет на фиктивную версию, используя dpkg -i fake.deb .

15
ответ дан 3 August 2018 в 22:38

Вы можете создать пакет dummy .deb с помощью утилиты equivs , он будет обеспечивать зависимость без установки каких-либо файлов. Затем просто замените установленный пакет на фиктивную версию, используя dpkg -i fake.deb .

15
ответ дан 5 August 2018 в 06:46

Вы можете создать пакет dummy .deb с помощью утилиты equivs , он будет обеспечивать зависимость без установки каких-либо файлов. Затем просто замените установленный пакет на фиктивную версию, используя dpkg -i fake.deb .

15
ответ дан 7 August 2018 в 00:08

Вы можете создать пакет dummy .deb с помощью утилиты equivs , он будет обеспечивать зависимость без установки каких-либо файлов. Затем просто замените установленный пакет на фиктивную версию, используя dpkg -i fake.deb .

15
ответ дан 9 August 2018 в 04:30

Вы можете создать пакет dummy .deb с помощью утилиты equivs , он будет обеспечивать зависимость без установки каких-либо файлов. Затем просто замените установленный пакет на фиктивную версию, используя dpkg -i fake.deb .

15
ответ дан 14 August 2018 в 23:29

Использовать dpkg напрямую, а не apt-get или aptitude:

sudo dpkg -r --force-depends "package"
44
ответ дан 24 July 2018 в 22:24
  • 1
    Правильно, но когда я попытаюсь использовать apt для установки чего-либо, он обнаружит, что пакет, который я удалил с dpkg, отсутствует и переустановит его. Вопрос: Как я могу отказаться от необходимости переустанавливать / игнорировать состояние согласованности? – Maxim Veksler 1 April 2011 в 15:44

AFAIK нет способа удалить пакет с использованием APT, не удаляя также те пакеты, которые зависят от него.

Ссылка: http://www.debian.org/doc/manuals/apt-howto /ch-apt-get.en.html

3
ответ дан 24 July 2018 в 22:24

Я знаю, что это старый пост, но поскольку у меня недавно была аналогичная проблема, я хотел бы поделиться своим решением в надежде, что кто-то в будущем сочтет это полезным.

Если вы установили пакет через aptitude он автоматически присваивает флаги зависимостям (авто), и когда вы пытаетесь удалить свой пакет снова, он пытается удалить все свои зависимости, которые все еще установлены.

Как вы можете видеть в моем случае это zabbix, который я хочу удалить:

uman@mango:~$ sudo aptitude purge zabbix-server-mysql zabbix-frontend-php The following packages will be REMOVED: apache2{u} dbconfig-common{u} fping{u} javascript-common{u} libhtml-template-perl{u} libiksemel3{u} libjs-prototype{u} libjs-scriptaculous{u} libopenipmi0{u} libt1-5{u} mysql-server{u} mysql-server-5.1{u} mysql-server-core-5.1{u} php5{u} php5-gd{u} php5-mysql{u} snmpd{u} wwwconfig-common{u} zabbix-frontend-php{p} zabbix-server-mysql{p} 0 packages upgraded, 0 newly installed, 20 to remove and 0 not upgraded. Need to get 0 B of archives. After unpacking 44.9 MB will be freed. Do you want to continue? [Y/n/?]

И если мы посмотрим на пакет Apache, это выглядит как

uman@mango:~$ aptitude search ^apache2 i A apache2 - Apache HTTP Server metapackage <snip>

, первый флаг «i» сообщает нам, что apache установлен. Следующий флаг «A» означает автоматическое установление

Итак, чтобы исправить это и не удалить apache, mysql и php, мы можем просто удалить автоматический флаг с помощью aptitude следующим образом:

uman@mango:~$ sudo aptitude unmarkauto apache2 mysql-server php5 No packages will be installed, upgraded, or removed. 0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B of archives. After unpacking 0 B will be used.

Теперь это выглядит при удалении пакета zabbix:

uman@mango:~$ sudo aptitude purge zabbix-server-mysql zabbix-frontend-php The following packages will be REMOVED: dbconfig-common{u} fping{u} javascript-common{u} libiksemel3{u} libjs-prototype{u} libjs-scriptaculous{u} libopenipmi0{u} libt1-5{u} php5-gd{u} wwwconfig-common{u} zabbix-frontend-php{p} zabbix-server-mysql{p} 0 packages upgraded, 0 newly installed, 12 to remove and 0 not upgraded. Need to get 0 B of archives. After unpacking 16.6 MB will be freed. Do you want to continue? [Y/n/?]

Пожалуйста, посмотрите man-страницу для aptitude для более подробной информации

12
ответ дан 24 July 2018 в 22:24

Чтобы выполнить ответ Жоао Пинто, вы можете использовать мой маленький скрипт для исправления сломанного пакета, этот скрипт создаст фиктивный пакет с equivs и установит его.

Или прямо на мой блог на французском .

Чтобы использовать его:

$ ./gen-dummy-package.sh --install|i [packageName]+ # e.g. : $ ./gen-dummy-package.sh -i rfkill nome-bluetooth bluez
0
ответ дан 24 July 2018 в 22:24

Это именно то, что apt-mark hold для.

apt-mark hold package_name

Из документации:

hold используется для маркировки пакета как сдержанного , что предотвратит автоматическую установку, обновление или удаление пакета. Команда является только оберткой вокруг dpkg -set-selections, и поэтому состояние

Чтобы отменить пакет:

apt-mark unhold package_name

9
ответ дан 24 July 2018 в 22:24
  • 1
    Для моей ситуации, это Рекомендуемый подход. – Paulo Coghi 10 January 2016 в 10:05
  • 2
    К сожалению, это не позволяет удерживать зависимости. То есть если я устанавливаю пакеты A и B, и они имеют общую зависимость X, то удерживание A не будет содержать X, а удаление B с ошибкой «E: Ошибка, pkgProblemResolver :: Разрешить генерируемые разрывы, это может быть вызвано удерживаемыми пакетами». ; – MSalters 26 October 2017 в 15:30

Использовать dpkg напрямую, а не apt-get или aptitude:

sudo dpkg -r --force-depends "package"
44
ответ дан 1 August 2018 в 01:21
  • 1
    Правильно, но когда я попытаюсь использовать apt для установки чего-либо, он обнаружит, что пакет, который я удалил с dpkg, отсутствует и переустановит его. Вопрос: Как я могу отказаться от необходимости переустанавливать / игнорировать состояние согласованности? – Maxim Veksler 1 April 2011 в 15:44

AFAIK нет способа удалить пакет с использованием APT, не удаляя также те пакеты, которые зависят от него.

Ссылка: http://www.debian.org/doc/manuals/apt-howto /ch-apt-get.en.html

3
ответ дан 1 August 2018 в 01:21

Я знаю, что это старый пост, но поскольку у меня недавно была аналогичная проблема, я хотел бы поделиться своим решением в надежде, что кто-то в будущем сочтет это полезным.

Если вы установили пакет через aptitude он автоматически присваивает флаги зависимостям (авто), и когда вы пытаетесь удалить свой пакет снова, он пытается удалить все свои зависимости, которые все еще установлены.

Как вы можете видеть в моем случае это zabbix, который я хочу удалить:

uman@mango:~$ sudo aptitude purge zabbix-server-mysql zabbix-frontend-php The following packages will be REMOVED: apache2{u} dbconfig-common{u} fping{u} javascript-common{u} libhtml-template-perl{u} libiksemel3{u} libjs-prototype{u} libjs-scriptaculous{u} libopenipmi0{u} libt1-5{u} mysql-server{u} mysql-server-5.1{u} mysql-server-core-5.1{u} php5{u} php5-gd{u} php5-mysql{u} snmpd{u} wwwconfig-common{u} zabbix-frontend-php{p} zabbix-server-mysql{p} 0 packages upgraded, 0 newly installed, 20 to remove and 0 not upgraded. Need to get 0 B of archives. After unpacking 44.9 MB will be freed. Do you want to continue? [Y/n/?]

И если мы посмотрим на пакет Apache, это выглядит как

uman@mango:~$ aptitude search ^apache2 i A apache2 - Apache HTTP Server metapackage <snip>

, первый флаг «i» сообщает нам, что apache установлен. Следующий флаг «A» означает автоматическое установление

Итак, чтобы исправить это и не удалить apache, mysql и php, мы можем просто удалить автоматический флаг с помощью aptitude следующим образом:

uman@mango:~$ sudo aptitude unmarkauto apache2 mysql-server php5 No packages will be installed, upgraded, or removed. 0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B of archives. After unpacking 0 B will be used.

Теперь это выглядит при удалении пакета zabbix:

uman@mango:~$ sudo aptitude purge zabbix-server-mysql zabbix-frontend-php The following packages will be REMOVED: dbconfig-common{u} fping{u} javascript-common{u} libiksemel3{u} libjs-prototype{u} libjs-scriptaculous{u} libopenipmi0{u} libt1-5{u} php5-gd{u} wwwconfig-common{u} zabbix-frontend-php{p} zabbix-server-mysql{p} 0 packages upgraded, 0 newly installed, 12 to remove and 0 not upgraded. Need to get 0 B of archives. After unpacking 16.6 MB will be freed. Do you want to continue? [Y/n/?]

Пожалуйста, посмотрите man-страницу для aptitude для более подробной информации

12
ответ дан 1 August 2018 в 01:21

Чтобы выполнить ответ Жоао Пинто, вы можете использовать мой маленький скрипт для исправления сломанного пакета, этот скрипт создаст фиктивный пакет с equivs и установит его.

Или прямо на мой блог на французском .

Чтобы использовать его:

$ ./gen-dummy-package.sh --install|i [packageName]+ # e.g. : $ ./gen-dummy-package.sh -i rfkill nome-bluetooth bluez
0
ответ дан 1 August 2018 в 01:21

Это именно то, что apt-mark hold для.

apt-mark hold package_name

Из документации:

hold используется для маркировки пакета как сдержанного , что предотвратит автоматическую установку, обновление или удаление пакета. Команда является только оберткой вокруг dpkg -set-selections, и поэтому состояние

Чтобы отменить пакет:

apt-mark unhold package_name

9
ответ дан 1 August 2018 в 01:21
  • 1
    Для моей ситуации это рекомендуемый подход. – Paulo Coghi 10 January 2016 в 10:05
  • 2
    К сожалению, это не позволяет удерживать зависимости. То есть если я устанавливаю пакеты A и B и они имеют общую зависимость X, то удерживание A не будет удерживать X, а удаление B с ошибкой «E: Ошибка, pkgProblemResolver :: Разрешить генерируемые разрывы, это может быть вызвано удерживаемыми пакетами». ; – MSalters 26 October 2017 в 15:30

использовать dpkg напрямую, а не через apt-get и aptitude:

sudo dpkg -r --force-depends "package"
44
ответ дан 2 August 2018 в 20:15
  • 1
    Правильно, но когда я попытаюсь использовать apt для установки чего-либо, он обнаружит, что пакет, который я удалил с dpkg, отсутствует и переустановит его. Вопрос: Как я могу отказаться от необходимости переустанавливать / игнорировать состояние согласованности? – Maxim Veksler 1 April 2011 в 15:44

AFAIK нет способа удалить пакет с использованием APT, не удаляя также те пакеты, которые зависят от него.

Ссылка: http://www.debian.org/doc/manuals/apt-howto /ch-apt-get.en.html

3
ответ дан 2 August 2018 в 20:15

Я знаю, что это старый пост, но поскольку у меня недавно была аналогичная проблема, я хотел бы поделиться своим решением в надежде, что кто-то в будущем сочтет это полезным.

Если вы установили пакет через aptitude он автоматически присваивает флаги зависимостям (авто), и когда вы пытаетесь удалить свой пакет снова, он пытается удалить все свои зависимости, которые все еще установлены.

Как вы можете видеть в моем случае это zabbix, который я хочу удалить:

uman@mango:~$ sudo aptitude purge zabbix-server-mysql zabbix-frontend-php The following packages will be REMOVED: apache2{u} dbconfig-common{u} fping{u} javascript-common{u} libhtml-template-perl{u} libiksemel3{u} libjs-prototype{u} libjs-scriptaculous{u} libopenipmi0{u} libt1-5{u} mysql-server{u} mysql-server-5.1{u} mysql-server-core-5.1{u} php5{u} php5-gd{u} php5-mysql{u} snmpd{u} wwwconfig-common{u} zabbix-frontend-php{p} zabbix-server-mysql{p} 0 packages upgraded, 0 newly installed, 20 to remove and 0 not upgraded. Need to get 0 B of archives. After unpacking 44.9 MB will be freed. Do you want to continue? [Y/n/?]

И если мы посмотрим на пакет Apache, это выглядит как

uman@mango:~$ aptitude search ^apache2 i A apache2 - Apache HTTP Server metapackage <snip>

, первый флаг «i» сообщает нам, что apache установлен. Следующий флаг «A» означает автоматическое установление

Итак, чтобы исправить это и не удалить apache, mysql и php, мы можем просто удалить автоматический флаг с помощью aptitude следующим образом:

uman@mango:~$ sudo aptitude unmarkauto apache2 mysql-server php5 No packages will be installed, upgraded, or removed. 0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B of archives. After unpacking 0 B will be used.

Теперь это выглядит при удалении пакета zabbix:

uman@mango:~$ sudo aptitude purge zabbix-server-mysql zabbix-frontend-php The following packages will be REMOVED: dbconfig-common{u} fping{u} javascript-common{u} libiksemel3{u} libjs-prototype{u} libjs-scriptaculous{u} libopenipmi0{u} libt1-5{u} php5-gd{u} wwwconfig-common{u} zabbix-frontend-php{p} zabbix-server-mysql{p} 0 packages upgraded, 0 newly installed, 12 to remove and 0 not upgraded. Need to get 0 B of archives. After unpacking 16.6 MB will be freed. Do you want to continue? [Y/n/?]

Пожалуйста, посмотрите man-страницу для aptitude для более подробной информации

12
ответ дан 2 August 2018 в 20:15

Чтобы выполнить ответ Жоао Пинто, вы можете использовать мой маленький скрипт для исправления сломанного пакета, этот скрипт создаст фиктивный пакет с equivs и установит его.

Или прямо на мой блог на французском .

Чтобы использовать его:

$ ./gen-dummy-package.sh --install|i [packageName]+ # e.g. : $ ./gen-dummy-package.sh -i rfkill nome-bluetooth bluez
0
ответ дан 2 August 2018 в 20:15

Это именно то, что apt-mark hold для.

apt-mark hold package_name

Из документации:

hold используется для маркировки пакета как сдержанного , что предотвратит автоматическую установку, обновление или удаление пакета. Команда является только оберткой вокруг dpkg -set-selections, и поэтому состояние

Чтобы отменить пакет:

apt-mark unhold package_name

9
ответ дан 2 August 2018 в 20:15
  • 1
    Для моей ситуации это рекомендуемый подход. – Paulo Coghi 10 January 2016 в 10:05
  • 2
    К сожалению, это не позволяет удерживать зависимости. То есть если я устанавливаю пакеты A и B, и они имеют общую зависимость X, то удерживание A не будет содержать X, а удаление B с ошибкой «E: Ошибка, pkgProblemResolver :: Разрешить генерируемые разрывы, это может быть вызвано удерживаемыми пакетами». ; – MSalters 26 October 2017 в 15:30

Использовать dpkg напрямую, а не apt-get или aptitude:

  sudo dpkg -r --force-depends "package"  
44
ответ дан 3 August 2018 в 22:38

Чтобы выполнить ответ Жоао Пинто, вы можете использовать мой маленький скрипт для исправления сломанного пакета, этот скрипт создаст фиктивный пакет с equivs и установит его.

Или прямо на gist code .

Чтобы использовать его: [ ! d5]

  $ ./gen-dummy-package.sh --install | i [имя_пакета] + # eg  : $ ./gen-dummy-package.sh -i rfkill nome-bluetooth bluez  
0
ответ дан 3 August 2018 в 22:38

Это именно то, что удержание метки apt для.

apt-mark hold имя_пакета

Из документации:

hold используется для маркировки пакета как сдержанного, что предотвратит автоматическую установку, обновление или удаление пакета. Команда - это только обертка вокруг dpkg -set-selection, и поэтому состояние

Чтобы удалить пакет:

apt-mark unhold имя_пакета [ ! d2]

9
ответ дан 3 August 2018 в 22:38

AFAIK нет способа удалить пакет с использованием APT, не удаляя также те пакеты, которые зависят от него.

Ссылка: http://www.debian.org/doc/manuals/ APT-HOWTO / ч-кв-get.en.html

3
ответ дан 3 August 2018 в 22:38

Я знаю, что это старый пост, но поскольку у меня недавно была аналогичная проблема, я хотел бы поделиться своим решением в надежде, что кто-то в будущем посчитает это полезным.

Если вы установили пакет через aptitude он автоматически присваивает флаги зависимостям (авто), и когда вы пытаетесь удалить свой пакет снова, он пытается удалить все свои зависимости, которые все еще установлены.

Как вы можете видеть в моем случае это zabbix, который я хочу удалить:

  uman @ mango: ~ $ sudo aptitude purge zabbix-server-mysql zabbix-frontend-php Следующие пакеты будут удалены: apache2 {u} dbconfig-  common {u} fping {u} javascript-common {u} libhtml-template-perl {u} libiksemel3 {u} libjs-prototype {u} libjs-scriptaculous {u} libopenipmi0 {u} libt1-5 {u} mysql-  server {u} mysql-server-5.1 {u} mysql-server-core-5.1 {u} php5 {u} php5-gd {u} php5-mysql {u} snmpd {u} wwwconfig-common {u} zabbix-  frontend-php {p} zabbix-server-mysql {p} Обновлено 0 пакетов, 0 вновь установлено, 20 для удаления и 0 не обновлено  д.  Нужно получить 0 B архивов.  После распаковки будет освобождено 44,9 МБ.  Вы хотите продолжить?  [Y / n /?]  

И если мы посмотрим на пакет Apache, это выглядит так

  uman @ mango: ~ $ aptitude search ^ apache2  i Apache2 - метапакет HTTP-сервера Apache & lt; snip & gt;   

первый флаг «i» сообщает нам, что apache установлен. Следующий флаг «A» означает автоматически установленный

Итак, чтобы исправить это и не иметь apache , mysql и php uninstalled, мы можем просто удалить автоматический флаг с aptitude следующим образом:

  uman @ mango: ~ $ sudo aptitude unmarkauto apache2 mysql-server php5 Пакеты не будут установлены, обновлены,  или удалены.  0 пакетов обновлено, 0 вновь установлено, 0 удалено и 0 не обновлено.  Нужно получить 0 B архивов.  После распаковки будет использоваться 0 B.   

Теперь это выглядит при удалении пакета zabbix:

  uman @ mango: ~ $ sudo aptitude purge zabbix-server-mysql zabbix-frontend-  php Следующие пакеты будут удалены: dbconfig-common {u} fping {u} javascript-common {u} libiksemel3 {u} libjs-prototype {u} libjs-scriptaculous {u} libopenipmi0 {u} libt1-5 {u}  php5-gd {u} wwwconfig-common {u} zabbix-frontend-php {p} zabbix-server-mysql {p} 0 обновлен, 0 вновь установлен, 12 для удаления и 0 не обновлен.  Нужно получить 0 B архивов.  После распаковки будет освобождено 16,6 МБ.  Вы хотите продолжить?  [Y / n /?]  

Подробнее см. Man-страницу для aptitude

12
ответ дан 3 August 2018 в 22:38

Это именно то, что удержание метки apt для.

apt-mark hold имя_пакета

Из документации:

hold используется для маркировки пакета как сдержанного, что предотвратит автоматическую установку, обновление или удаление пакета. Команда - это только обертка вокруг dpkg -set-selection, и поэтому состояние

Чтобы удалить пакет:

apt-mark unhold имя_пакета [ ! d2]

9
ответ дан 5 August 2018 в 06:46

Чтобы выполнить ответ Жоао Пинто, вы можете использовать мой маленький скрипт для исправления сломанного пакета, этот скрипт создаст фиктивный пакет с equivs и установит его.

Или прямо на gist code .

Чтобы использовать его: [ ! d5]

  $ ./gen-dummy-package.sh --install | i [имя_пакета] + # eg  : $ ./gen-dummy-package.sh -i rfkill nome-bluetooth bluez  
0
ответ дан 5 August 2018 в 06:46

Другие вопросы по тегам:

Похожие вопросы: