Встановлюючи програмне забезпечення через 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
не має суперкоролівських сил.
EDIT: Мабуть, так і є.
aptitude -v[v[v[v[v]]]] moo
.
aptitude
може не встановлено за замовчуванням. Щоб встановити його, зробіть sudo apt-get install aptitude
або натисніть це: aptitude .
Наступна інформація насправді не відповідає безпосередньо " Яка різниця між dpkg та здатністю / 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 автоматично встановлює пакети при відсутності доступу до файлу. Якщо програма намагається отримати доступ до файлу, який, як відомо, належить до невстановленого пакету, автоматичне встановлення цього пакета встановить за допомогою apt-get
. Ця функція вимагає спритності та судо для роботи.
Відвідайте сторінку інструкцій з влучного отримання
aptitude
забезпечує функціональність dselect
та apt-get
багато додаткових функцій, які не зустрічаються в жодній програмі.
aptitude
має власну оболонку, яка активована клавіатурою чи мишкою та працює у вікні терміналу
aptitude build-dep <package>
- Встановіть залежність збирання пакетів - це означає, що пакети, необхідні для складання (або складання ) його вихідного пакету. Наприклад, багато пакунків потрібно debhelper
або autotools
створити, але вони не потребують їх запуску.
Перейдіть на сторінку інструкцій щодо вміння
це інструмент для встановлення, створення, видалення та управління пакетами Debian. посилання
dpkg -i <package.deb>
встановлює пакет Debian на ваш комп'ютер. Він не встановлює ніяких залежностей, наскільки я можу дізнатися з файлів довідки.
Деталі введіть dpkg --help
у вікно терміналу.
посібник з управління файлами можна знайти тут
Я думаю, що найважливіше, а також відмінність полягає в тому, що ви повинні використовувати apt-get
інструмент для встановлення пакетів. ( apt
або aptitude
також добре).
Це тому dpkg
, що призначена для встановлення пакетів без встановлення залежних пакетів. Через це просто встановлення пакету з dpkg
, може призвести до більш пізньої проблеми, коли розв'язання залежності може закінчитися порушенням системи.
Ви повинні використовувати командний рядок apt-get
або apt
(починаючи з 14.04) інструмент для встановлення пакетів. Ці інструменти використовуються dpkg
для вас і одночасно мають механізм вирішення залежності всередині.