Tôi hiểu rằng một gói có hai thành phần: configvà datatệp. Trong quá trình nâng cấp gói (tức là nâng cấp bảo mật), datacác tệp có thể bị ghi đè, nhưng configcác tệp phải luôn giữ nguyên. Ngoài ra configcác tập tin thường trong /etcvà datatrong /usr. Đôi khi, tuy nhiên, sự phân biệt bị mờ.
Trong trường hợp của tôi, tôi đã sửa đổi tệp biểu tượng cho Icedove(Thunderbird):
/usr/share/applications/icedove.desktop
Bây giờ, mỗi khi có Icedovebản cập nhật (Thunderbird), các thay đổi của tôi sẽ bị ghi đè bằng tệp mặc định (ngay cả khi nó không thay đổi giữa các bản cập nhật).
Có cách nào để ngăn chặn tập tin cụ thể này bị ghi đè không?
Đặt nó thành bất biến chattr +i icedove.desktopkhông phải là một ý tưởng tốt, vì nó tạo ra lỗi trong quá trình nâng cấp gói.
$XDG_DATA_HOME/applications/icedove.desktop, mặc dù điều này thường mặc định cho đường dẫn tìm kiếm mà bạn đề cập. Các XDG cơ sở mục Đặc điểm kỹ thuật cũng cung cấp một đường dẫn tìm kiếm ở$XDG_DATA_DIRScho ghi đè rộng hệ thống. Một lời giải thích chi tiết hơn về cách áp dụng XDG Base Director trong trường hợp này là trong câu trả lời của tôi .