Вопрос Каков самый простой способ переделать удаленный двоичный файл пакета?


Я просто прошел этот вопрос и задавался вопросом, есть ли лучший способ воссоздать двоичный файл установленного пакета, который каким-то образом удалился.

Я знаю, что я могу переустановить приложение, но повторная установка полного пакета не всегда возможна.

P.S .: Я говорю об установленном приложении, поэтому, пожалуйста, предположите, что у меня нет исходного кода (он может быть открытым, но я не хочу получать точный исходный код установленной версии).


1
2017-11-13 12:34


происхождения




ответы:


Ну, пакеты 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 и все готово.

Будьте внимательны, НЕ загружайте более поздние версии пакета, чем тот, который был установлен в вашей системе, чтобы избежать проблем с несовместимостью!

EDIT: после конструктивного комментария хаос обратите внимание, что если вы уже установили пакет в своей системе, вы можете найти его в /var/cache/apt/archives/, У вас есть хорошая идея, потому что вы можете быть уверены в проблемах несовместимости.


2
2017-11-13 12:58



Если это ранее установленная программа, у вас может быть пакет .deb все еще в /var/cache/apt/archives/ папка. В любом случае +1 хороший ответ. - chaos