Коли ви використовуєте apt
для установки пакета, під кришкою, яку він використовує dpkg
. Встановлюючи пакет за допомогою apt, він спочатку створює список усіх залежностей і завантажує його з сховища.
Після завершення завантаження він вимагає dpkg
встановити всі ці файли, задовольняючи всі залежності.
Тож якщо у вас є .deb
файл:
Ви можете встановити його за допомогою:
sudo dpkg -i /path/to/deb/file
sudo apt-get install -f
Ви можете встановити його за допомогою sudo apt install ./name.deb
(або sudo apt install /path/to/package/name.deb
).
Зі старими apt-get
версіями потрібно спочатку перемістити деб-файл у /var/cache/apt/archives/
каталог. Для обох, виконавши цю команду, вона автоматично завантажить свої залежності.
Встановіть gdebi
і відкрийте .deb файл за допомогою нього ( клацніть правою кнопкою миші -> Відкрити за допомогою ). Він встановить ваш .deb пакет з усіма його залежностями.
( Примітка : APT підтримує індекс пакетів, який є базою даних доступних пакетів, доступних у репо, визначених у /etc/apt/sources.list
файлі та в /etc/apt/sources.list.d
каталозі. Усі ці методи не зможуть задовольнити програмну залежність, якщо в індексі пакетів відсутні залежності, необхідні дебютом. .)
Навіщо використовувати sudo apt-get install -f
післяsudo dpkg -i /path/to/deb/file
(згаданий у першому способі)?
Від man apt-get
:
-f, --fix-broken
Fix; attempt to correct a system with broken dependencies in place.
Коли dpkg
встановлюється пакет, і залежність пакета не задовольняється, він залишає пакет у "неконфігурованому" стані, і цей пакет вважається порушеним.
sudo apt-get install -f
команда намагається виправити цей зламаний пакет, встановивши відсутність залежності.
aptitude
що видаляє непотрібні пакунки.