Câu hỏi Cách dễ nhất để làm lại tập tin nhị phân đã xóa của gói là gì?


Tôi vừa trải qua câu hỏi này và đã tự hỏi liệu có cách nào tốt hơn để tạo lại nhị phân của gói đã cài đặt, đã bị xóa bằng cách nào đó không.

Tôi biết tôi có thể cài đặt lại ứng dụng, nhưng việc cài đặt lại gói hoàn chỉnh không nhất thiết phải khả thi.

P .: Tôi đang nói về một ứng dụng đã cài đặt, vì vậy hãy giả sử rằng tôi không có mã nguồn (nó có thể là mã nguồn mở nhưng tôi không muốn mua mã nguồn chính xác của phiên bản đã cài đặt).


1
2017-11-13 12:34


gốc




Các câu trả lời:


Vâng, các gói DEB có thể trích xuất được!

Vì vậy, bạn có thể chỉ cần tải xuống gói DEB, giải nén nó, lấy nhị phân từ nó và đặt nó vào vị trí bên trong hệ thống của bạn (điều này có thể nhìn thấy được từ cấu trúc của DEB).

Ví dụ: giả sử bạn đang thiếu tệp nhị phân.

Tải xuống gói DEB bằng cách sử dụng tập lệnh này:

#!/bin/bash
PACKAGE=$1
URI=$(apt-cache show $PACKAGE | grep "Filename:" | cut -f 2 -d " ")
wget http://archive.ubuntu.com/ubuntu/$URI

Nó lấy làm đối số gói.

Sau đó, bạn giải nén gói và bạn sẽ thấy usr thư mục và bên trong nó một bin thư mục (thường là nơi mà gói nhị phân đang được cài đặt). Vì vậy, bạn sao chép tệp nhị phân này sang /usr/bin và bạn đã xong.

Cẩn thận KHÔNG tải xuống các phiên bản sau của gói phần mềm mà bạn đã cài đặt trong hệ thống của mình để tránh các sự cố không tương thích!

EDIT: Sau một nhận xét mang tính xây dựng bởi hỗn loạn xin lưu ý rằng nếu bạn đã cài đặt gói trong hệ thống của mình thì bạn có thể tìm thấy nó trong /var/cache/apt/archives/. Lấy gói từ đó là một ý tưởng tốt, bởi vì bạn có thể chắc chắn về các vấn đề không tương thích.


2
2017-11-13 12:58



Nếu đó là một chương trình được cài đặt trước đó, bạn có thể có gói .deb vẫn còn trong /var/cache/apt/archives/ thư mục. Dù sao +1 câu trả lời tốt. - chaos