Tại sao việc xây dựng RPM là root?


11

Đây trang chứa một cảnh báo đáng chú ý:

Quan trọng

Không bao giờ xây dựng RPMS là root.

Tại sao việc xây dựng RPM là root? Có khả năng ghi đè một số tập tin? Có vấn đề quyền tập tin?

Câu trả lời:


22

Các tệp RPM .spec được viết sai (hoặc thậm chí các tệp được viết tốt bằng một lỗi đánh máy) có thể làm những việc không chính xác như:

  • Cài đặt trực tiếp vào hệ thống đang chạy thay vì vào hộp cát
  • Để lại rác trên hệ thống tập tin
  • Vô tình chạy các lệnh khó chịu như: rm -rf ${RPM_BUILD_ROOT}

Không có một phần nào trong quá trình xây dựng RPM thực sự cần quyền truy cập root. Vì vậy, chúng ta nên tuân theo quy trình chuẩn "Nếu không cần quyền root, thì nó không chạy dưới quyền root" khi xây dựng RPM.

Điều này tránh những tai nạn khó chịu và bất ngờ.


4

Mock cho fedora là khá tốt đẹp, quá. Nếu nó sẽ được xây dựng trong giả, rất có thể đó là một RPM khá sạch.


FWIW, đã từng làm việc với Red Hat trước đây, tôi biết họ yêu cầu RPM xây dựng trong Mock trước khi họ chấp nhận nó vào môi trường xây dựng của họ. Tôi nghĩ điều tương tự cũng áp dụng cho Dự án Fedora.
EmmEff

3

Nói chung, bạn không bao giờ nên sử dụng người dùng root ngoại trừ bạn thực sự cần các quyền. Nhưng bạn đã đúng, vấn đề chính là 'rpmbuild' sẽ thực thi gần như mọi thứ bạn đã viết vào một tệp spec. (ghi đè tệp, tạo người dùng, xóa tệp, v.v.).

Biên tập:

Như một lưu ý phụ, tôi sẽ đề nghị xem qua Dịch vụ xây dựng openSUSE , giúp cho việc xây dựng rpms cho các bản phân phối khác nhau thực sự dễ dàng. (Nó cũng có thể được thiết lập như một thể hiện cục bộ.)


-1

Khi tôi đang tìm kiếm trên INTERNET, tôi có lý do cho câu hỏi của bạn trong liên kết sau http://pmc.ucsc.edu/~dmk/notes/RPMs/Creating_RPMs.html

Đó là chiến tranh chỉ để tránh những sai lầm vô tình hoặc những thứ vô ý.


1
Chào mừng bạn đến với Lỗi Máy chủ! Nói chung, chúng tôi thích câu trả lời trên trang web để có thể tự đứng vững - Liên kết rất tuyệt, nhưng nếu liên kết đó bị hỏng, câu trả lời sẽ có đủ thông tin để vẫn hữu ích. Vui lòng xem xét chỉnh sửa câu trả lời của bạn để bao gồm chi tiết hơn. Xem FAQ để biết thêm.
slm
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.