При установке программного обеспечения через dpkg -i packageA.deb
, будут packageA
ли загружаться и устанавливаться автоматически требуемые зависимости ? Чем это отличается от использования apt-get
или aptitude
?
При установке программного обеспечения через dpkg -i packageA.deb
, будут packageA
ли загружаться и устанавливаться автоматически требуемые зависимости ? Чем это отличается от использования apt-get
или aptitude
?
Ответы:
Нет, dpkg
только устанавливает пакет, поэтому он dpkg -i packageName.deb
установит только этот пакет Deb и уведомит вас о любых зависимостях, которые необходимо установить, но не установит их и не настроит, packageName.deb
потому что хорошо ... зависимости не там.
apt-get
это система управления пакетами , который управляет установкой пакетов DEB на дистрибутивах Linux Debian на базе . Система управления пакетами - это набор инструментов, которые помогут вам легко устанавливать, удалять и изменять пакеты. Так apt-get
похоже на умного dpkg
.
Мне нравится думать о графике времени таким образом (ниже я просто говорю из опыта. Он предназначен только для того, чтобы дать вам представление обо всем этом):
Они придумали способ «хранить» файлы приложения в «пакете», чтобы его можно было легко установить. Итак, пакет Deb ( .deb
файл расширения ) родился.
.deb
Файл содержит файлы , необходимые приложения для работы, а также (я хотел назвать его) «мета-данных» , который содержит другую информацию, такую как имена зависимостей с потребностями конкретного приложения. Если вы хотите просмотреть содержимое.deb
файла, вы можете использовать командуdpkg -c packageName.deb
, а если вы хотите увидеть эту информацию «метаданных», используйте командуdpkg -I pacakgeName.deb
(и если вы хотите видеть только зависимости, сделайтеdpkg -I packageName.deb | grep Depends
).
Им нужен инструмент для установки этих .deb
файлов, поэтому они придумали dpkg
инструмент. Этот инструмент, однако, просто установит .deb
файл, но не установит его зависимости, потому что у него нет этих файлов, и у него нет доступа к «хранилищам», из которых можно извлечь зависимости.
apt-get
, что автоматизирует проблемы в предыдущем пункте. Под капотом, apt-get
в основном dpkg
(мне нравится думать, 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
.
Кроме того, aptitude
не имеет Super Cow Powers.
РЕДАКТИРОВАТЬ: Видимо, это так.
aptitude -v[v[v[v[v]]]] moo
,
aptitude
может быть не установлен по умолчанию. Чтобы установить его, сделайте sudo apt-get install aptitude
или нажмите здесь: aptitude .
Следующая информация на самом деле не дает прямого ответа «В чем разница между dpkg и aptitude / apt-get? », Но она способствует общей картине.
От Карлоса Campderrós ' комментарий ниже :
gdebi
это еще один инструмент, который представляет собой смесь между apt-get
и aptitude
. Когда вы используете его для установки .deb
пакета ( gdebi packageName.deb
), он идентифицирует отсутствующие зависимости, устанавливает их с помощью apt-get
, а затем, наконец, устанавливает и настраивает пакет с помощью dpkg
. Он даже имеет простой и удобный графический интерфейс, который дает вам информацию о .deb
пакете, файлах, включенных в пакет, и какие зависимости необходимо установить. Чтобы увидеть этот графический интерфейс, вы бы сделали gdebi-gtk packageName.deb
. Вы можете gdebi
попробовать, установив его с помощью sudo apt-get install gdebi
или нажав здесь: gdebi .
Я не хочу никого вводить в заблуждение, но просто для того, чтобы дать вам другую часть картины, есть еще один популярный формат пакетов Linux, называемый RPM, и его файлы имеют .rpm
расширение. Этот формат пакета используется в дистрибутивах Linux на основе RPM (таких как Red Hat, CentOS и Fedora). Они используют команду, rpm
чтобы установить пакет, и yum
это интерфейс для него, он умный. Таким образом, их .rpm
файлы - это наши .deb
файлы, их rpm
инструмент - наш dpkg
инструмент, а их yum
наш apt-get
.
Из Пэдди Ландау «s комментарий ниже :
alien
это инструмент, который конвертирует между .rpm
и .deb
пакетами. Поэтому, если вы когда-нибудь попадете в ситуацию, когда у вас есть .rpm
пакет, и вы захотите установить его на свой Ubuntu (или любой другой дистрибутив на основе Debian), вы можете использовать команду, alien rpm_packageName.rpm
чтобы преобразовать его в .deb
, а затем установить его, используя dpkg
. Вы можете сделать обратное (преобразовать .deb
в .rpm
), используя alien -r packageName.deb
.
gdebi
( apt-get install gdebi-core
), который смешивает apt-get
/ aptitude
с dpkg
. Вы вызываете его, gdebi some_package.deb
и он анализирует свои зависимости, вызывает, apt-get
чтобы установить недостающие, и когда все зависимости будут выполнены, затем вызывается, dpkg
чтобы окончательно установить ваш пакет.
alien
конвертирует пакеты между .rpm
и .deb
. Это полезно для пакетов, доступных для RPM, но не для DEB (или наоборот). Например, alien packagename.rpm
чтобы сделать его пригодным для использования в Ubuntu.
aptitude
- не фронтенд для apt-get
. Обе программы являются интерфейсом для libapt-pkg
библиотеки.
Управление пакетами 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>
- Установите зависимости пакетов от пакетов - это означает, что пакеты необходимы для компиляции (или сборки ) пакета с исходным кодом. Например, многие пакеты нужно debhelper
или autotools
нужно собрать, но они не нужны для запуска.
Посетите страницу инструкции aptitude
это инструмент для установки, сборки, удаления и управления пакетами Debian. ссылка
dpkg -i <package.deb>
устанавливает пакет Debian на ваш компьютер. Он не устанавливает никаких зависимостей, насколько я могу узнать из файлов справки.
Для получения подробной информации введите dpkg --help
в окне терминала.
руководство по управлению файлами можно найти здесь
Я думаю, что самое важное, а также разница заключается в том, что вы должны использовать apt-get
инструмент для установки пакетов. ( apt
или aptitude
тоже хорошо).
Это потому, что dpkg
предназначен для установки пакетов без установки зависимых пакетов. Из-за этого просто установка пакета с dpkg
, может привести к более поздней проблеме, когда разрешение зависимостей может привести к поломке системы.
Вы должны использовать командную строку apt-get
или apt
(с 14.04) инструмент для установки пакетов. Эти инструменты используются dpkg
для вас и в то же время имеют механизм разрешения зависимостей внутри.