Gần đây tôi đã bắt đầu xây dựng các gói Ubuntu cho phần mềm của mình trên Launchpad. Chúng khá đơn giản; hầu hết trong số chúng chỉ chứa một số tệp và tập lệnh được chuyển qua các tệp .install .preinst .postinst .prerm và .postrm. Cài đặt và gỡ bỏ có vẻ hoạt động tốt. Tuy nhiên, nâng cấp từ phiên bản này sang phiên bản tiếp theo là khó khăn.
Điều gì chính xác xảy ra khi một gói đang được nâng cấp? Có phải nó giống như gỡ cài đặt phiên bản trước và cài đặt phiên bản mới? Có phải tất cả các tệp từ các gói trước đã bị xóa và được thay thế bằng các tệp trong danh sách .install từ gói mới không? Có phải tất cả các tập lệnh .prerm, postrm, preinst, postinst được thực thi không? Làm cách nào để phân biệt những thứ chỉ nên xảy ra trong khi 'cài đặt mới' và nâng cấp?