Это ни в коем случае не является полным или исчерпывающим ответом - постеры передо мной уже дали очень хорошие оценки, я просто хотел бы добавить свои 2 цента. Другое дело - я никогда не привык к apt / dpkg. Это всегда казалось мне слишком сложным, я действительно чувствую себя комфортно с ням / об / мин.
Пакет pacman очень прост в использовании - это «за» и «против» - вы можете научиться использовать его (помимо сборки пакетов) за один день - он использует в основном интуитивно понятные и полные функции управления пакетами, но - и это большое, но - это чрезвычайно негибко.
Если дизайнеры не подумали о какой-то функции заранее, вы облажались.
Несколько примеров: в pacman нет собственных версий. Если вы хотите понизить версию пакета - вам нужно скачать эту конкретную версию пакета и использовать опцию -U (обновление) для установки из файла. Он очень ориентирован на постоянное использование новейших пакетов в вашей системе.
Нет реальной очистки внутреннего кеша / полной перестройки. Если (из-за проблем с сетью) загрузка пакета была повреждена, например, во время -Syu, сообщение об ошибке, хотя и точное, не принесет особой пользы - оно не будет точно определять поврежденный пакет даже при «полной» детализации и включенной отладке. и никакое количество -Syyc не будет действительно очищать кеш и перезагружать пакеты. Хорошая новость заключается в том, что -Sc сообщит вам, где находятся загруженные пакеты, так что вы можете просто удалить один из нарушающих (если вы сможете выяснить, какой именно) или все из них и перезапустить -Syu.
Интеграция pacman с dkms также несколько проблематична - при установке нового ядра у меня постоянно возникали ошибки от dkms. Использование dkms build && dkms install против нового ядра работало без сбоев, но pacman не предоставил бы никакой информации, почему dkms потерпел неудачу во время обновления ядра (я подозреваю, что он никогда не проходил правильный путь нового ядра, и просто позволил dkms использовать значение по умолчанию). (текущее работающее) ядро, но с неверной версией).
Еще один анекдот о его негибкости - как уже говорилось, я привык к rpm / yum. Если у меня есть файл в моей системе, и я хочу знать, какому пакету принадлежит он, я могу запустить yum обеспечивает / path / to / file и получить ВСЕ пакеты, которые могут поместить его туда, даже если ни один из них не установлен. Если файл был помещен вручную, и теперь я хочу установить пакет - он переименует новый (добавит расширение .rpmnew) и позволит выбрать, что использовать.
pacman просто выдает ошибку, что файл уже существует, но с совершенно несущественным сообщением об ошибке - он жалуется на конфликты между «истинным» владельцем файла и текущим установленным пакетом «файловых систем», как будто он также является владельцем того же файла. Кроме того, он в основном ориентирован на локально установленную информацию - попытка получить информацию (такую как списки файлов и владельцы) о еще не установленных пакетах менее интуитивна.
Проще говоря - он не такой зрелый, как yum, и, вероятно, dpkg, что объясняется простотой его использования, является относительной негибкостью.