vòng / phút không có root


12

Có thể sử dụng vòng / phút mà không cần truy cập root?

Câu trả lời:


2

Tùy thuộc vào nội dung của gói, bạn có thể chỉ cần trích xuất nội dung của vòng / phút và sử dụng nó từ một nơi nào đó trong thư mục nhà của bạn. Ngay cả khi nó không được gắn cờ là di dời. Nếu các tệp nhị phân trong gói có đường dẫn được mã hóa cứng hoặc nếu ứng dụng yêu cầu quyền truy cập root thì có thể không thực hiện được.


1
Điều này thực sự không chính xác, bạn thực sự không thể chạy rpmlệnh mà không có quyền truy cập sudo / root.

8

Có rất nhiều câu trả lời gợi ý các gói di dời. Tùy chọn di chuyển dành cho quản trị viên chọn đích (làm cho đích là / opt thay vì / usr / local chẳng hạn) và không thực sự cho phép người dùng.

Mặc dù có thể khắc phục một số vấn đề về quyền sử dụng phương pháp này, nhưng vấn đề MAJOR là khi bạn thực hiện các thao tác vòng / phút, nó đang sửa đổi cơ sở dữ liệu /var/lib/rpm/__db.* được sở hữu root: root. Vì vậy, như JPerkSter đã nói "câu trả lời ngắn = không". Thiết lập sudo để cho phép các nhu cầu cụ thể có thể là đặt cược tốt nhất.


8

Xem xét tất cả các điều trên, liên quan đến các bản dựng có thể di dời, bạn có thể thử làm theo các hướng dẫn được liệt kê ở đây .

rpm --initdb --root /home/username/local --dbpath /home/username/local/lib/rpm
rpm --root /home/username/local --dbpath /home/username/local/lib/rpm \
 --relocate /usr=/home/username/local --nodeps -ivh package.rpm

3

Thông số RPM chứa một tùy chọn gọi là 'di dời'. Nếu vòng / phút được xây dựng với khả năng định vị lại được bật thì nó có thể được cài đặt trong thư mục do người dùng chỉ định bằng tùy chọn '--prefix'. Vì vậy, có lẽ một vòng / phút có thể được cài đặt cục bộ mà không cần truy cập siêu người dùng miễn là có hai điều kiện:

  1. Các gói ban đầu được xây dựng để có thể di dời
  2. Nhị phân 'vòng / phút' không cố gắng thêm gói vào danh mục hệ thống toàn cầu

Nhưng, nói chung, không, bạn cần quyền truy cập siêu người dùng để cài đặt RPM. Trong khi tùy chọn có thể định vị lại tồn tại, tôi gần như chưa bao giờ thấy một gói nào được xây dựng để hỗ trợ nó.


3

Một số gói có thể định vị lại để chúng có thể hoạt động tốt mà không cần root, chỉ cần chỉ định tiền tố khi cài đặt nó: rpm -i my.rpm --prefix = / my / home / thư mục

Nếu gói không thể di chuyển, bạn vẫn có thể trích xuất các tệp từ RPM và thử chạy nó. Bạn có thể trích xuất các tệp RPM bằng cách sử dụng ví dụ:

Sao chép các tệp vào thư mục ~ / của bạn, thêm bất kỳ thư viện phụ thuộc bổ sung nào và hy vọng điều tốt nhất. Không được bảo đảm nhưng bạn có thể nhận được một số gói không thể di chuyển hoạt động theo cách này.


2

Bạn có thể buộc nó cài đặt dưới một thư mục khác bằng cách sử dụng một dbpath khác. Ngoài ra, bạn có thể không nên chạy bất kỳ tập lệnh trực tiếp mà không kiểm tra chúng.

Điều này sẽ đặt một vòng / phút trong thư mục hiện tại và trích xuất các tập lệnh để bạn có thể chỉnh sửa và chạy chúng nếu cần thiết.

rpm --install --badreloc --relocate /=`pwd` -dbpath `pwd`/rpm_db --nodeps --noscripts package.rpm

rpm --query --scripts -p package.rpm > scripts.txt

2

Có, nhưng bạn có thể không muốn. Tôi đã sử dụng các bảng kê khai rối tùy chỉnh và các gói vòng / phút để duy trì phần mềm trên các cụm tính toán mà tôi không có quyền truy cập root. Về lý thuyết, nó đơn giản như

rpm --inittb --root /foo 
rpm --dbpath /foo -i bar.rpm

Tuy nhiên, có những điều kỳ quặc trong cách ứng xử này trên EL4, EL5 và EL6, vì vậy bạn sẽ cần một bộ các bước và tùy chọn khác nhau cho mỗi bước. Tôi không có thông tin đó hữu ích nữa. Những điều kỳ quặc đó, cũng như các vấn đề cơ sở dữ liệu RPM thường xuyên (có lẽ là do NFS), khiến tôi hối hận khi sử dụng vòng / phút.


1

Bạn có thể xây dựng RPM mà không cần quyền truy cập root, chỉ cần làm như vậy bên trong homedirectory của bạn. Theo như cài đặt RPM, tôi sẽ nói câu trả lời ngắn = không.


-2

không có vòng quay không thể của nó với quyền truy cập root, su hoặc sudo

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.