Tôi hiểu rằng một gói có hai thành phần: config
và data
tệp. Trong quá trình nâng cấp gói (tức là nâng cấp bảo mật), data
các tệp có thể bị ghi đè, nhưng config
các tệp phải luôn giữ nguyên. Ngoài ra config
các tập tin thường trong /etc
và data
trong /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ó Icedove
bả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.desktop
khô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_DIRS
cho 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 .