2013-01-24 29 views
19

Tôi đang phát xung quanh với lệnh rpm -upgrade và nhận thấy rpm có các cách khác nhau để xử lý các tệp cấu hình đã sửa đổi để nó không bị mất trong quá trình nâng cấp. Từ những gì tôi hiểu, nếu một tập tin cấu hình đã được sửa đổi và gói được nâng cấp với rpm -U, rpm sẽ đổi tên tập tin thuộc tính ban đầu là {file} .rpmsave và cài đặt tệp cấu hình mới với tên tệp gốc {file}.Rpm nâng cấp xử lý các tệp cấu hình

Tuy nhiên, khi tôi cố gắng chạy rpm -U với gói tôi đã tạo, những gì tôi thực sự thấy là tệp cấu hình gốc bị xóa và tệp cấu hình mới được đổi tên thành {file} .rpmsave. Đây có phải là hành vi dự định không? Trong kịch bản cài đặt của tôi, tôi cũng sửa đổi một số văn bản trong tập tin cấu hình với "sed". Điều này có thể can thiệp vào cách rpm xử lý tệp cấu hình trong khi nâng cấp không?

+0

Bạn đã làm gì cho lệnh sed? Sửa đổi tệp rpmnew? – GrkEngineer

Trả lời

20

Đây là hành vi dự định. Nếu bạn muốn tệp cấu hình không bao giờ bị ghi đè (và được chuyển tới .rpmsave), hãy sử dụng %config(noreplace) thay vì %config trong tệp .spec rpm và tệp sẽ không được thay thế. Thay vào đó, tệp mới từ gói rpm sẽ được tạo dưới dạng .rpmnew và tệp có một mình.

+0

Có cách nào để giữ lại tệp gốc hoặc tôi có phải đổi tên tệp .rpmnew về tên tệp gốc có thể trong cài đặt% bài đăng không? – user459811

+0

Xin lỗi nếu tôi không rõ ràng; các tập tin ban đầu vẫn (không được thay thế), và tập tin cấu hình "mới" từ rpm được tạo ra như .rpmnew. –

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