В чем разница между dpkg и aptitude / apt-get?

112

При установке программного обеспечения через dpkg -i packageA.deb будут автоматически загружены и установлены зависимости, требуемые packageA ? Как это отличается от использования apt-get или aptitude ?

    
задан Aniket Thakur 17.06.2013 в 07:08
источник

2 ответа

150

Нет, dpkg устанавливает только пакет, поэтому dpkg -i packageName.deb будет устанавливать этот пакет Deb только и будет уведомлять вас о любых зависимостях, которые необходимо установить, но это будет не , и он будет не настроить packageName.deb , потому что хорошо ... зависимостей там нет.

apt-get - система управления пакетами , которая обрабатывает установку пакетов Deb на дистрибутивах на базе Debian . Система управления пакетами - это набор инструментов, которые помогут вам легко установить, удалить и изменить пакеты. Итак, apt-get похоже на умный dpkg .

Мне нравится думать о временной шкале таким образом (следующее, это только то, что я говорю из опыта. Это предназначено только для того, чтобы дать вам представление обо всем этом):

  • Они придумали способ "хранить" файлы приложения в "пакете", чтобы его можно было легко установить. Таким образом, появился пакет Deb (% файла расширения co_de% ).

      

    Файл .deb содержит файлы, необходимые для запуска приложения, а также (мне нравится называть его) "метаданные", содержащие другую информацию, такую ​​как имена зависимостей, которые требует приложение. Если вы хотите увидеть содержимое файла .deb , вы можете использовать команду .deb , и если вы хотите увидеть эту информацию о метаданных, используйте команду dpkg -c packageName.deb (и если вы хотите только см. зависимости, do dpkg -I pacakgeName.deb ).

  • Им понадобился инструмент для установки этих файлов dpkg -I packageName.deb | grep Depends , поэтому они придумали инструмент .deb . Однако этот инструмент просто установит файл dpkg , но не будет устанавливать его зависимости, потому что у него нет этих файлов, и у него нет доступа к "репозиториям", чтобы вытащить зависимости из.

  • Затем они придумали .deb , который автоматизирует проблемы в предыдущей точке. Под капотом apt-get в основном apt-get (мне нравится думать, что dpkg является front-end для apt-get ), но умный, который будет искать зависимости и устанавливать их. Он даже смотрит на установленные в настоящее время зависимости и определяет те, которые не используются никакими другими пакетами, и сообщит вам, что их можно удалить.

dpkg , затем появился. Он использует библиотеки aptitude использует и фактически имеет интерактивный интерфейс (пользовательский интерфейс) , Если вы хотите увидеть этот пользовательский интерфейс, просто наберите apt-get в терминале. Это aptitude . Он использует библиотеки для предоставления дополнительных опций и привилегий, чем aptitude . Например, apt-get автоматически удалит подходящие пакеты, а aptitude потребуется отдельная команда для этого. Но, в конце концов, выполнение apt-get должно по крайней мере быть таким же, как sudo aptitude install packageName.deb . Там и там могут быть тонкие различия, о которых я не знаю, но они будут искать зависимости и делать все это. Вы можете прочитать ответ здесь для получения дополнительной информации о различиях между sudo apt-get install packageName.deb и aptitude .

Кроме того, apt-get не обладает полномочиями Super Cow.

  

EDIT: По-видимому, это так. % Co_de%.

aptitude не может быть установлен по умолчанию. Чтобы установить его, сделайте aptitude -v[v[v[v[v]]]] moo или щелкните по нему: aptitude .

Extra

  

Следующая информация на самом деле не отвечает напрямую " В чем разница между dpkg и aptitude / apt-get? ", но это способствует большой картине.

Из Карлоса Кампэрроша ' ниже :

aptitude - еще один инструмент, который представляет собой смесь между sudo apt-get install aptitude и gdebi . Когда вы используете его для установки пакета apt-get ( aptitude ), он будет идентифицировать недостающие зависимости, установить их с помощью .deb , а затем окончательно установить и настроить пакет, используя gdebi packageName.deb . Он даже имеет простой и аккуратный графический интерфейс, который дает вам информацию о пакете apt-get , файлы, входящие в пакет, и какие зависимости нужно установить. Чтобы увидеть этот GUI, вы будете делать dpkg . Вы можете дать .deb попробовать, установив его с gdebi-gtk packageName.deb или щелкнув по этому адресу: gdebi .

Я не хочу никого путать, но для того, чтобы дать вам еще одну часть изображения, есть еще один популярный формат пакета Linux под названием RPM, а его файлы имеют расширение gdebi . Этот формат пакета используется в дистрибутивах Linux на основе RPM (таких как Red Hat, CentOS и Fedora). Они используют команду sudo apt-get install gdebi для установки пакета, а .rpm - это интерфейс для нее, это умный. Таким образом, их файлы rpm являются нашими файлами yum , их инструмент .rpm - это наш инструмент .deb , а их rpm - наш dpkg .

Из Пэдди Ландау комментарий ниже :

yum - это инструмент, который преобразует пакеты apt-get и alien . Поэтому, если вы когда-нибудь попадаете в ситуацию, когда у вас есть пакет .rpm , и вы хотите установить его на свой Ubuntu (или любой другой дистрибутив на основе Debian), вы можете использовать команду .deb , чтобы преобразовать ее в .rpm , а затем установите его, используя alien rpm_packageName.rpm . Вы можете сделать обратное (конвертировать .deb в dpkg ), используя .deb .

    
ответ дан Alaa Ali 17.06.2013 в 07:30
источник
5

APT-получить

Управление пакетами с помощью apt-get работает рука об руку с файлом /etc/apt/sources.list.

apt-get install <package_name> устанавливает на ваш компьютер новый пакет.

apt-get build-dep <package_name> Эта команда выполняет поиск в репозиториях и устанавливает зависимости для сборки. Если пакет не находится в репозиториях, он вернет ошибку.

apt-get install <package1_name> <package2_name> <package3_name> apt-get позволяет установить несколько пакетов. разделить пакеты с пробелом.

auto-apt run <command_string> При вызове команда auto-apt автоматически устанавливает пакеты при отсутствии доступа к файлам. Если программа пытается получить доступ к файлу, который, как известно, принадлежит к удаленному пакету, auto-apt установит этот пакет с помощью apt-get. Для этой функции требуется apt и sudo.

Посетите страницу инструкции apt-get

уместность

aptitude предоставляет функциональные возможности dselect и apt-get , а также множество дополнительных функций, не найденных ни в одной из программ.

aptitude имеет собственную оболочку, которая активирована клавиатурой или мышью и запускается в окне терминала

aptitude build-dep <package> - установить зависимости от сборки пакетов - это означает, что пакеты, необходимые для компиляции (или build ), поставляются в исходном пакете. Например, для многих пакетов требуется debhelper или autotools для создания, но им не нужно их запускать.

Посетите страницу инструкции aptitude

Dpkg

- это инструмент для установки, сборки, удаления и управления пакетами Debian. ссылка

dpkg -i <package.deb> устанавливает пакет Debian на ваш компьютер. Он не устанавливает никаких зависимостей, насколько я могу узнать из файлов справки.

Подробности введите dpkg --help в окно терминала.

Руководства

руководство по управлению файлами можно найти здесь

    
ответ дан SimplySimon 17.06.2013 в 07:29

Ознакомьтесь с другими вопросами по меткам