Cài đặt gói .deb trong thư mục nhà


31

Có thể cài đặt một .debgói hoàn toàn trong thư mục nhà của tôi tại debian?


Bạn có thể xây dựng một gói deb cài đặt ở bất cứ đâu. Nhưng vì sao bạn lại muốn có nó? Các gói được cho là sẽ được cài đặt vào hệ thống.
Faheem Mitha

5
@Faheem Mitha - Tất cả chúng ta đều không có quyền truy cập root vào các hộp Unix mà bạn biết, tôi chắc chắn không phải là nơi tôi làm việc. Nếu chúng tôi cần một gói (RPM trong trường hợp của tôi) để sử dụng một số phần mềm, sẽ thật tuyệt nếu chúng tôi có thể cài đặt nó trong không gian người dùng thay vì phải nói chuyện với CNTT và yêu cầu họ cài đặt gói trên hệ thống cho chúng tôi.
Đánh dấu gian hàng

@FaheemMitha Một điều nữa là thử nghiệm phiên bản mới của gói. Nếu tôi muốn cung cấp một gói cụ thể cho một người dùng thì tôi không tiếp tục cài đặt nó trên toàn hệ thống.
Erathiel

@Erathiel Vâng, đó thực sự là một trường hợp sử dụng cho một máy ảo.
Faheem Mitha

@FaheemMitha Có thể có hoặc không;) Trường hợp sử dụng của tôi là một cỗ máy phát triển với một số người dùng phục vụ như môi trường phát triển. Tôi cần phải chuyển gói sang phiên bản mới chỉ cho một người dùng cụ thể để chúng tôi có thể kiểm tra phiên bản mới hoạt động như thế nào. Nhưng bản thân máy chủ là một máy ảo, vì vậy bạn có phần đúng;)
Erathiel

Câu trả lời:


19

Nó phụ thuộc vào những gì bạn có nghĩa là "cài đặt". Có thể trích xuất nội dung tệp của tệp .deb bằng cách sử dụng dpkg-deb -x <filename.deb>, nhưng liệu bạn có thực sự có thể sử dụng phần mềm sau khi giải nén cục bộ hay không phụ thuộc vào cách viết. Rất nhiều phần mềm Linux sẽ chờ đợi để tìm các file tài nguyên của mình tại các địa điểm tiêu chuẩn quy định tại thời gian biên dịch, chẳng hạn như /usr/sharehay /usr/lib, mà sẽ thất bại nếu phần mềm không được cài đặt ở vị trí bình thường. Ngoài ra, bất kỳ tệp cấu hình nào trên toàn hệ thống được cài đặt bởi gói, chẳng hạn như .desktopcác tệp tạo các mục trong menu bắt đầu, sẽ không hoạt động như dự định nếu được cài đặt ở vị trí sai.


3
nó nên làdpkg-deb -x app.deb /path/to/target/dir/
qed

hoặc chỉ dpkg -x app.deb / path / to / target / dir /
Erik Aronesty

5

Cảm ơn tất cả các ý kiến ​​của bạn một câu trả lời. Đó là một phần mềm tự đóng gói, nơi tôi muốn thực hiện một số kiểm tra cơ bản nếu bao bì của tôi là chính xác. Tôi đã root trên máy tính của mình nhưng tôi không muốn thực hiện cài đặt thực sự ở đó và cũng không muốn sử dụng hình ảnh ảo vào lúc này. Tôi đã đưa ra giải pháp này: https://serverfault.com/questions/23734/is-there-any-way-to-get-apt-to-install-packages-to-my-home-directory Điều này hoàn toàn phù hợp với tôi atm


5
@Ivogel hỏi "Trang bạn liên kết đến có nhiều bài đăng và tôi không thể biết trang nào là giải pháp phù hợp với bạn. Bạn có thể vui lòng chỉ định không?"
drs

4

Lưu ý rằng việc sử dụng hệ thống gói Debian yêu cầu quyền truy cập root. Vì vậy, cài đặt gói deb trong thư mục nhà của người dùng yêu cầu quyền truy cập root. Nếu bạn có quyền truy cập root, thì sẽ có ý nghĩa hơn khi chỉ cài đặt vào hệ thống như bình thường.

Nếu bạn không có quyền truy cập root, bạn không thể sử dụng hệ thống đóng gói Debian. Bạn chắc chắn có thể giải nén một tệp deb vào các phần thành phần của nó và dán nó vào thư mục chính của bạn, nhưng làm như vậy sẽ không có ý nghĩa gì với imo. Tôi đề nghị bạn đi với một cài đặt địa phương. Tùy thuộc vào phần mềm bạn đang cài đặt, phần mềm có thể có một số loại hệ thống quản lý gói nội bộ mà bạn có thể sử dụng.


Tôi không biết nếu nó được thêm vào thì câu trả lời này đã được tạo nhưng dpkg có tùy chọn - Force-non-root có thể được sử dụng để khắc phục điều này.
Bruce Adams

@BruceAdams Tôi không thấy tùy chọn này được liệt kê trên trang người đàn ông. Bạn có thể cung cấp một tài liệu tham khảo?
Faheem Mitha

Nếu bạn chạy dpkg - hãy giúp nó đề cập đến - Force-thing. Nếu bạn chạy dpkg - lực lượng trợ giúp, nó sẽ cung cấp thêm chi tiết. Xem ví dụ: Askubfox.com/questions/193695/ khăn
Bruce Adams

@BruceAdams Ok, tôi hiểu rồi, nhưng tôi không biết nó sẽ hoạt động như thế nào : not-root Try to (de)install things even when not root.
Faheem Mitha

Xem câu hỏi stackoverflow.com/questions/47099045/ của tôi Tuy nhiên, tại thời điểm viết bài này vẫn chưa có câu trả lời. Vì vậy, tôi cũng không có ý tưởng.
Bruce Adams
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.