Я только что рассмотрел этот вопрос , и мне было интересно, есть ли лучший способ воссоздать двоичный файл установленного пакета, который каким-то образом был удален.
Я знаю, что могу переустановить приложение, но переустановка всего пакета не всегда выполнима.
PS: Я говорю об установленном приложении, поэтому, пожалуйста, предположите, что у меня нет исходного кода (он может быть с открытым исходным кодом, но я не хочу приобретать точный исходный код установленной версии).
Ну, пакеты DEB можно извлечь!
Итак, вы можете просто загрузить пакет DEB, извлечь его, взять из него двоичный файл и поместить его туда, где он должен быть внутри вашей системы (это видно из Во всяком случае, структура DEB).
Например, допустим, вам не хватает двоичного файла.
Загрузите пакет DEB, используя этот скрипт:
#!/bin/bash
PACKAGE=$1
URI=$(apt-cache show $PACKAGE | grep "Filename:" | cut -f 2 -d " ")
wget http://archive.ubuntu.com/ubuntu/$URI
Он принимает в качестве аргумента пакет.
Затем вы извлекаете пакет и увидите папку usr
, а внутри нее - папку bin
(обычно там, где устанавливается бинарный пакет). Итак, вы копируете этот двоичный файл в /usr/bin
и все готово.
Будьте осторожны, НЕ загружайте более поздние версии пакета, чем те, которые вы установили в вашей системе, чтобы избежать проблем с несовместимостью! обратите внимание, что если вы уже установили пакет в своей системе, вы можете найти его в /var/cache/apt/archives/
. Хорошая идея взять пакет, потому что вы можете быть уверены в несовместимости.