Thêm tập lệnh cài đặt .deb


17

Vì vậy, tôi đang xây dựng một .debvà tôi cần thực hiện một vài lệnh sau khi cài đặt (liên kết các đường dẫn thư viện và một vài thứ khác).

Có cách nào để có nó để khi bạn thực hiện một sudo dpkg -i <pacakage-name>.debđoạn script chạy không?

Câu trả lời:


21

Bạn có thể thực thi các lệnh sau khi cài đặt bằng cách sử dụng tập lệnh shell postinst nằm trong thư mục debian trong nguồn.

Đây là một tập lệnh shell bình thường chứa tất cả các lệnh sẽ được thực thi (theo thứ tự) sau khi cài đặt gói. dpkg sẽ chạy này tự động. Vì vậy, tất cả những gì bạn cần làm là tạo một tập lệnh shell trước khi đóng gói gói nguồn của bạn vào một gói nhị phân, đặt tên là 'postinst' và đặt nó vào thư mục debian.

Để biết thêm thông tin, hãy truy cập Hướng dẫn đóng gói Ubuntu .


Trang này không còn tồn tại nữa ...
Ionică Bizău

2
Trang tồn tại, liên kết chỉ sai (nó có một bản sao '/ html' ở cuối). Liên kết chính xác là bao bì.ubfox.com / html . Nhưng có lẽ trang đã thay đổi, vì tôi thấy bao bì.ubfox.com/html/packaging-new-software.html sẽ hữu ích hơn.
K từ

Hãy cẩn thận, postinst không được thực thi sau khi "cài đặt gói" nó được thực thi sau khi "giải nén các tệp từ gói deb", quá trình cài đặt có thể thất bại và postinst vẫn đang được thực thi.
Miguel Ortiz

Không có @Miguel, nếu quá trình cài đặt gặp lỗi trước khi postinstchạy thì postinstkhông được thực thi.
Stephen Kitt

@StephenKitt Tôi hiện đang làm việc với gói gỡ lỗi không đáp ứng được các phụ thuộc và thực sự đã thực hiện postinst. Tôi sẽ cố gắng cập nhật câu trả lời của tôi với thông tin phòng thí nghiệm.
Miguel Ortiz
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.