При установке программного обеспечения через 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? », Но она способствует общей картине.
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.
alienэто инструмент, который конвертирует между .rpmи .debпакетами. Поэтому, если вы когда-нибудь попадете в ситуацию, когда у вас есть .rpmпакет, и вы захотите установить его на свой Ubuntu (или любой другой дистрибутив на основе Debian), вы можете использовать команду, alien rpm_packageName.rpmчтобы преобразовать его в .deb, а затем установить его, используя dpkg. Вы можете сделать обратное (преобразовать .debв .rpm), используя alien -r packageName.deb.
Это было очень полезно и именно то, что я искал. Tx!
Аникет Тхакур
4
Также вы можете использовать gdebi( apt-get install gdebi-core), который смешивает apt-get/ aptitudeс dpkg. Вы вызываете его, gdebi some_package.debи он анализирует свои зависимости, вызывает, apt-getчтобы установить недостающие, и когда все зависимости будут выполнены, затем вызывается, dpkgчтобы окончательно установить ваш пакет.
Карлос Кампдеррос
2
@Alaa В разделе Extra вы также можете упомянуть, что alienконвертирует пакеты между .rpmи .deb. Это полезно для пакетов, доступных для RPM, но не для DEB (или наоборот). Например, alien packagename.rpmчтобы сделать его пригодным для использования в Ubuntu.
@edwardtorvalds AskUbuntu - это сайт вопросов и ответов. Ищите свой ответ здесь на сайте среди тысяч старых вопросов, и, если вы его не найдете, задайте свой вопрос, надеюсь, ответят и более опытные люди, чем я.
Алаа Али
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 для работы.
aptitudeобеспечивает функциональность dselectи apt-get, а также множество дополнительных функций , которых нет ни в программе.
aptitude имеет собственную оболочку, которая активируется клавиатурой или мышью и работает в окне терминала
aptitude build-dep <package> - Установите зависимости пакетов от пакетов - это означает, что пакеты необходимы для компиляции (или сборки ) пакета с исходным кодом. Например, многие пакеты нужно debhelperили autotoolsнужно собрать, но они не нужны для запуска.
Я думаю, что самое важное, а также разница заключается в том, что вы должны использовать apt-getинструмент для установки пакетов. ( aptили aptitudeтоже хорошо).
Это потому, что dpkgпредназначен для установки пакетов без установки зависимых пакетов. Из-за этого просто установка пакета с dpkg, может привести к более поздней проблеме, когда разрешение зависимостей может привести к поломке системы.
Вы должны использовать командную строку apt-getили apt(с 14.04) инструмент для установки пакетов. Эти инструменты используются dpkgдля вас и в то же время имеют механизм разрешения зависимостей внутри.
Ответы:
Нет,
dpkg
только устанавливает пакет, поэтому онdpkg -i packageName.deb
установит только этот пакет Deb и уведомит вас о любых зависимостях, которые необходимо установить, но не установит их и не настроит,packageName.deb
потому что хорошо ... зависимости не там.apt-get
это система управления пакетами , который управляет установкой пакетов DEB на дистрибутивах Linux Debian на базе . Система управления пакетами - это набор инструментов, которые помогут вам легко устанавливать, удалять и изменять пакеты. Такapt-get
похоже на умногоdpkg
.Мне нравится думать о графике времени таким образом (ниже я просто говорю из опыта. Он предназначен только для того, чтобы дать вам представление обо всем этом):
Они придумали способ «хранить» файлы приложения в «пакете», чтобы его можно было легко установить. Итак, пакет Deb (
.deb
файл расширения ) родился.Им нужен инструмент для установки этих
.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
может быть не установлен по умолчанию. Чтобы установить его, сделайтеsudo apt-get install aptitude
или нажмите здесь: aptitude .дополнительный
От Карлоса 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-получить
Управление пакетами
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
Dpkg
это инструмент для установки, сборки, удаления и управления пакетами Debian. ссылка
dpkg -i <package.deb>
устанавливает пакет Debian на ваш компьютер. Он не устанавливает никаких зависимостей, насколько я могу узнать из файлов справки.Для получения подробной информации введите
dpkg --help
в окне терминала.руководства
руководство по управлению файлами можно найти здесь
источник
Я думаю, что самое важное, а также разница заключается в том, что вы должны использовать
apt-get
инструмент для установки пакетов. (apt
илиaptitude
тоже хорошо).Это потому, что
dpkg
предназначен для установки пакетов без установки зависимых пакетов. Из-за этого просто установка пакета сdpkg
, может привести к более поздней проблеме, когда разрешение зависимостей может привести к поломке системы.Вы должны использовать командную строку
apt-get
илиapt
(с 14.04) инструмент для установки пакетов. Эти инструменты используютсяdpkg
для вас и в то же время имеют механизм разрешения зависимостей внутри.источник