Исправить поврежденные пакеты в Debian?


12

Я хочу начать исследовать уход от приложений Google, потому что это дорого, и похоже, что в цитадели есть все функции групповой работы, которые мне нужны. Поэтому я пытаюсь установить цитадель с:

apt-get установить citadel-suite

Но это возвращает:

citadel-suite: зависит: citadel-mta, но не будет установлен
E: Невозможно исправить проблемы, у вас есть поврежденные пакеты.

Ну да. Требуется цитадель-мта. Это половина дела. Так почему же он не будет установлен? Какие сломанные пакеты я держал? Почему они сломаны? Почему они проводятся? Я не держал их. Или сломать их, если на то пошло.

Проблема с apt-get заключается в том, что за те 10 лет, что я использовал его, он заимствовал фразу Apple, просто сработал. Теперь, когда это не так, я скорее в растерянности. Я попробовал ключ -f, но это не помогло. Я не сделал никаких изменений в /etc/apt/sources.list, поэтому я не могу отменить их. Что я должен попробовать дальше?


Я был бы рад здесь о вашем опыте с citadel. Вы пытаетесь --fix-missing --fix-broken и другие?
Kiwy

Я предлагаю вам изучить ситуацию с aptitude. Его apt-getсредство для определения зависимостей не так хорошо, как у него , но поскольку это интерактивный инструмент, он значительно облегчает проверку состояния системы.
Badp

Если я его установлю, я дам вам знать. Согласно списку функций, он, кажется, делает все, что мне нужно, кроме двухфакторной аутентификации, и я могу справиться с этим через VPN.
fastfinge

@ Badp: На самом деле, это решатель зависимостей, кажется, лучше. aptitude install citadel-suite предлагает решение. Он хочет удалить виртуальный пакет mail-transport-agent. Я даже не знал, что я установил это, так что удаление, вероятно, хорошо. Почему не просто сделать это?
fastfinge

@fastfinge Да, иногда aptitudeможно выйти из ситуаций apt-get, не начинающих прикасаться, иногда aptitudeначинает идти на север и предлагает удалить половину своей системы, чтобы исправить зависимость с помощью текстовой документации. :)
badp

Ответы:


11

«... но он не будет установлен», как правило, означает, что серьезный конфликт зависимости возникнет, если его допустить.

Попробуйте следующую команду:

aptitude why-not citadel-mta

why-not в основном проверяет зависимости и возвращает причины, по которым он не должен заполнять определенную зависимость автоматически.

В случае моей системы дома:

shadur@leviathan:~$ aptitude why-not citadel-mta
i   exim4-daemon-light Conflicts mail-transport-agent
p   citadel-mta        Provides  mail-transport-agent

Очевидно, citadel-mta является полноценным MTA и поэтому заменит любой пакет mail-transport-agent, который вы в данный момент установили. Явного указания установить и Citadel-MTA должно быть достаточно для выхода из тупика.

ПРИМЕЧАНИЕ . Это означает, что текущее программное обеспечение почтового сервера будет заменено на то, которое поставляется с цитаделью. Сделать очень уверен , что это то , что вы хотите , прежде чем сделать это.


Это тестовый сервер, который используется для изучения того, насколько хорошо сервер Citadel Groupware работает в качестве замены gmail в тестовом домене без пользовательских данных. Так что это именно то, что я хочу. Спасибо!
fastfinge

6

Я обнаружил, что установка, aptitudeа не synapticили в apt-getконечном итоге работает. aptitudeумнее и предложил мне решение проблемы.

Редактировать: мне пришлось пропустить первое предложенное решение, чтобы получить тот, который действительно работал.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.