Làm cách nào để tôi mô phỏng chức năng Thay thế: Thay thế của gói Debian trong RPM?


7

Tôi cần sử dụng NSCD, Daemon Bộ nhớ đệm dịch vụ tên, để giảm tải trên máy chủ LDAP của chúng tôi, trên các hệ thống SLES10 của tôi. Theo kinh nghiệm của tôi, nscd mặc định, được cung cấp như một phần của GNU LibC, là rác và sẽ phá vỡ khủng khiếp cứ sau vài giờ. Do đó, sử dụng thay thế, chẳng hạn như unscd hoặc gnscd là bắt buộc.

Không có gói nào cho một trong hai trong SLES10, vì vậy việc biên dịch gói là bắt buộc. Tuy nhiên, có một vấn đề với AppArmor - trong SLE10, mọi ứng dụng đơn lẻ đều có hồ sơ AppArmor được hợp nhất với nhau thành một gói "hồ sơ ứng dụng" lớn, thay vì để mỗi gói cung cấp hồ sơ riêng - và unscd / gnscd không hoạt động với các hồ sơ trong hồ sơ apparmor.

Khi tạo gói Debian, có thể chỉ định mối quan hệ có tên Thay thế:, có nội dung "Tôi biết tôi bao gồm cùng một tệp với gói khác, nhưng tôi có thể ghi đè lên tệp của họ miễn là phiên bản của họ khớp với kiểm tra này". Kết quả là, tôi có thể nói một cái gì đó như "Thay thế: hồ sơ apparmor (<= 2.0.1-20.20.16)" trong tệp đặc tả của mình và tôi có thể thay thế hoàn toàn bất kỳ tệp nào từ gói cấu hình apparmor.

Làm thế nào tôi có thể làm tương tự với RPM, không biên dịch lại gói hồ sơ apparmor của riêng tôi với tệp đã bị xóa hoặc buộc gói thông qua lệnh rpm (yêu cầu sự cố trong tương lai)?


Bạn không thể đặt một tệp bổ sung trong thư mục apparmor có chứa các cấu hình có hồ sơ của bạn cho [g | n] nscd trong đó?
wzzrd

Các nhị phân Nah, gnscd và unscd cần được gọi là "nscd", vì nhiều lý do bí truyền khác nhau. Không hữu ích, phải không? o_o
directhex

Câu trả lời:


2

Tôi không nghĩ RPM có tính năng tương tự. RPM có tính năng "Obsoletes", nhưng đó là để thay thế một gói bằng một gói khác bằng một tên khác. Bạn có thể có nhiều RPM sở hữu một đối tượng, nhưng phần lớn được sử dụng cho các thư mục, như /etc/bash_completion.d, tùy thuộc vào phân phối bạn sử dụng: tất cả chúng đều có hướng dẫn đóng gói hơi khác nhau.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.