Существует множество пакетов, прямо или косвенно зависящих от libpoppler
илиpoppler-utils
()в настольной установке Ubuntu по умолчанию.
Удаление popple-utils
означает удаление cups-filter
, которое зависит от него.
printer-driver-foo2zjs
зависит от cups-filters | foomatic-filters
, поэтому его можно сохранить, пока вы устанавливаете foomatic-filters
, который не зависит от poppler-utils
.
poppler-utils
recommandscolord
и вы, вероятно, настроили установку recommands автоматически (по умолчанию ). Он также рекомендует poppler-utils
. Вы просили удалить пакет poppler-utils
, но вместо него можно установить его версию для i386.
В конце концов, apt
пытается выполнить ваш запрос, сводя к минимуму ущерб (количество других пакетов, которые нужно удалить ), но в этом случае это приводит к неоптимальному выбору, поскольку вы в конечном итоге получаете тот же пакеты установлены, но в чужой архитектуре.
Существует много других возможных альтернативных способов решения этих проблем с зависимостями.
Я лично всегда использую aptitude
для управления пакетами, потому что это позволяет мне выбирать, как я хочу разрешать конфликты зависимостей.
В aptitude
я установил вид по умолчанию на плоский(в опциях -> предпочтения, также отметьте опцию «перейти к следующей записи» ), тогда вы сможете легче фильтровать пакеты. Например, нажав l(в нижнем регистреL
)до ограничить представление и введя ~i poppler
, вы получите список установленных пакетов, имя которых содержит poppler
.
Затем вы можете удалить(-)или очистить(_)каждый пакет, и при этом вы заметите, что aptitude
помечает конфликт (и некоторые пакеты могут стать красными ). Затем вы можете изучить конфликт(и)и выбрать одно из возможных решений. Вы также можете повлиять на разрешение, одобрив или отклонив индивидуальный выбор (, например удалить этот пакет , установить этот пакет ... ).
Также обратите внимание, что *poppler*
в вашем apt remove *poppler* --autoremove
нужно было брать в кавычки. *poppler*
— шаровидная оболочка. Если бы, например, в текущем каталоге был файл popplering
, он был бы расширен оболочкой, поэтому в итоге вы бы запустили apt remove popplering --autoremove
.
Некоторые оболочки, такие как csh, tcsh, fish, zsh (или bash -O failglob
), позволили бы вам осознать свою ошибку в вашем случае, сообщив об ошибке No match
.
Будущие читатели, будьте осторожны:В этом вопросе предлагается объединить два каталога, содержащих множество подкаталогов -. Это не следует использовать для обычных операций git. Для этого вам обычно следует использовать файл .gitignore
или подмодули git .
Если вы хотите объединить два каталога в одном месте, даже если есть перекрывающиеся файлы, вы можете использовать простое монтирование overlayfs. В контексте, о котором вы спрашиваете, это лучше всего сделать как оверлейные -только для чтения. Если бы он был предназначен для чтения/записи, он поместил бы все измененные файлы в отдельный каталог. Маловероятно, что вы ищете это.
Чтобы создать оверлей только для чтения, вы не указываете upper
илиworkdir
:
mount -t overlay overlay -o lowerdir=specialRepos1/vendor/:specialRepos2/vendor/ repoDirs1/vendor/
В Archlinux есть хорошее описание этой функции здесь: