У меня есть пакет deb для установки.
Должен ли я установить dpkg -i my.deb
, или по apt?
Будут ли оба хорошо решать проблему зависимости от программного обеспечения?
Если по apt, как я могу установить с deb по apt?
У меня есть пакет deb для установки.
Должен ли я установить dpkg -i my.deb
, или по apt?
Будут ли оба хорошо решать проблему зависимости от программного обеспечения?
Если по apt, как я могу установить с deb по apt?
aptitude
который удаляет ненужные пакеты, а также.dpkg
. В случае одиночного deb, используйте gdebi, а в случае нескольких deb - локальный репозиторий APT .dpkg
что не разрешает зависимости.Ответы:
Когда вы используете
apt
для установки пакета, под капотом он используетdpkg
. Когда вы устанавливаете пакет с помощью apt, он сначала создает список всех зависимостей и загружает его из репозитория.Как только загрузка завершена, он вызывает
dpkg
установку всех этих файлов, удовлетворяющих всем зависимостям.Итак, если у вас есть
.deb
файл:Вы можете установить его используя:
Вы можете установить его, используя
sudo apt install ./name.deb
(илиsudo apt install /path/to/package/name.deb
).В старых
apt-get
версиях вы должны сначала переместить файл deb в/var/cache/apt/archives/
каталог. Для обоих после выполнения этой команды она автоматически загрузит свои зависимости.Установите
gdebi
и откройте файл .deb, используя его ( щелкните правой кнопкой мыши -> Открыть с помощью ). Он установит ваш пакет .deb со всеми его зависимостями.( Примечание : APT поддерживает индекс пакета, который является базой данных доступных пакетов, доступных в репозитории, заданном в
/etc/apt/sources.list
файле и в/etc/apt/sources.list.d
каталоге. Все эти методы не смогут удовлетворить программную зависимость, если зависимости, требуемые deb, отсутствуют в индексе пакета .)Зачем использовать
sudo apt-get install -f
послеsudo dpkg -i /path/to/deb/file
(упоминается в первом методе)?От
man apt-get
:Когда
dpkg
устанавливается пакет и зависимость пакета не удовлетворяется, он оставляет пакет в «ненастроенном» состоянии, и этот пакет считается поврежденным.sudo apt-get install -f
Команда пытается исправить этот поврежденный пакет, установив отсутствующую зависимость.источник
apt-cache search <package name>
. Вы также можете использоватьapt-cache policy <package name>
, что даст дополнительную информацию.apt-get install /path/to/package/name.deb
. Было бы здорово, если бы автор этого ответа решил интегрировать это. Если нет, я добавлю этот ответ когда-нибудь, когда у меня будет достаточно повторенийУстановите ваш
foo.deb
файл с помощьюdpkg -i foo.deb
. Если есть ошибки с неразрешенными зависимостями, запустите ихapt-get install -f
позже.источник
Unable to locate package
попробовал этот путь и озадачился. Я использовал как в Windows просто имя пакета после переключения в папку архива. Должно быть./<file name>
для Unix, если в текущей папке или полный путь. То есть еслиdeb
нет в папке присутствует вPATH
.Вот лучший способ установить
.deb
файл в Ubuntu из командной строки:Если вы еще не
gdebi
установили, установите его, используяsudo apt install gdebi-core
.Почему гдеби?
gdebi
будет искать все зависимости.deb
файла и установит их, прежде чем пытаться установить.deb
файл. Я считаю это гораздо предпочтительнее, чемsudo dpkg -i skype.deb && sudo apt install -f
. Последний слишком стремится удалить зависимости в определенных ситуациях. Например, когда я пытался установить Skype, он попытался удалить 96 (!) Пакетов, включая такие пакеты, какcompiz
иunity
!gdebi
дал гораздо более четкое сообщение об ошибке:( Кстати, вот решение этой конкретной проблемы .)
источник
Вы можете установить локальный пакет .deb:
Убедитесь, что вы указали локальный относительный или абсолютный путь (
./
если он находится в текущем каталоге), иначе он будет искатьfoo.deb
в удаленных репозиториях и потерпит неудачу.источник
./
передdeb
файлом.Проверьте зависимости с
dpkg -I my.deb
иapt-get install
ранееdpkg -i my.deb
.Может быть , вы можете скопироватьНе работает,my.deb
в систему/var/cache/apt/archives
и установить его непосредственно ,apt-get
но я никогда не пробовал.apt-get
иdpkg
ищет пакеты, перечисленные в архивах.источник
apt-get install my.deb
подapt-get install
? Это установить из файла deb? Зачем намdpkg -i my.deb
после этого?.deb
s сdpkg -i
, я понимаю, чтоapt
не могу установить их, кроме каталога, в/var/cache/...
который загружаются (я могу ошибаться)apt-get install ./my.deb
будет делать, потому что он выводит много вещей. Что оно делает?-f
Самый простой ответ - использовать dpkg при запуске
dpkg -i packagename.deb
. Затем вы можете удалить его, запустивdpkg -r packagename.deb
.apt-get
это установщик более высокого уровня, основанный на dpkg, и, как таковой, вы можетеapt-get install packagename.deb
.Было бы полезно добавить его в каталог apt-get archives (
/var/cache/apt/archives
), чтобы вы могли ссылаться на него как на пакет с зависимостями, а не на отдельный архив .deb.Кроме того, добавив его в свой каталог архивов apt-get, у вас есть возможность использовать зависимости с
apt-get install packagename
. Это позволит вам установить его с любыми добавленными зависимостями вместо автономной системы на основе архива dpkg.источник
Современный apt-get может быть использован для простой установки пакета
apt-get install /path/to/package/name.deb
.(должно быть сделано как правка для верхнего ответа, но оно было отклонено - см. https://unix.stackexchange.com/posts/159114/edit )
источник
apt 1.0.9.8.4 for amd64 compiled on Dec 11 2016 09:48:19
Это очень просто, если я хочу установить Chrome.
Установите файл Chrome как:
Иногда существует вероятность получения ошибок зависимости, таких как:
Таким образом, чтобы решить вышеупомянутые проблемы, вам нужно добавить зависимости; дать следующую команду:
После выполнения вышеуказанной команды на ваш компьютер будут добавлены зависимости, и ваш
.deb
файл пакета ( ) Debian будет установлен.источник