2012-02-16 19 views
21

Tôi đã phát triển các gói debian và có lỗi cú pháp trong bài đăng/kịch bản trước của tôi (postrm trong trường hợp của tôi). Tôi cài đặt gói thành công, nhưng bây giờ tôi không thể xóa gói này:dpkg: cách bỏ qua lỗi trong các tập lệnh đăng/trước

/var/lib/dpkg/info/blablabla.postrm: 11: Syntax error: ";;" unexpected 
dpkg: error processing blablabla (--remove): 
subprocess installed post-removal script returned error exit status 2 

Làm cách nào có thể bỏ qua và xóa gói hoàn toàn?

Trả lời

26

Vâng, cá nhân tôi cũng không biết gì về điều này. Nếu --force-all không hoạt động, tôi chỉ cần chỉnh sửa /var/lib/dpkg/info/blablabla.postrm để làm đúng. Bạn đang xóa gói nên sẽ không phải lo lắng về tập lệnh sẽ sớm bị xóa, đúng không?

+3

Cảm ơn. Không cố gắng theo cách của bạn, tôi giải quyết nó bằng cách tạo ra gói với cùng tên và sửa kịch bản trống rỗng và cài đặt nó. Trong khi cài đặt dpkg cố gắng để loại bỏ gói xấu của tôi và có lỗi sau đó ông cố gắng sử dụng postrm từ gói mới của tôi và không có lỗi. – Reddy

+0

Trong trường hợp của tôi, nó là '/ var/lib/dpkg/info/blablabla.prerm' –

+0

@JeroenVermeulenBVBA Quy trình gỡ cài đặt là, trước tiên chạy blablabla.prerm, sau đó xóa các tệp khỏi gói và cuối cùng chạy blablabla.postrm. Lệnh này có thể được chứa trong một trong hai tập lệnh, tùy thuộc vào một trong hai nó nên được chạy trước khi loại bỏ các tập tin, hoặc sau khi nó. – wangguoqin1001

Các vấn đề liên quan