Chào mừng bạn đến với Lỗi Máy chủ. Nói chung loại câu hỏi này không phải là chủ đề ở đây. Người ta hy vọng rằng hầu hết các sysadins sẽ phải đối mặt với vấn đề này trước khi họ trở thành một sysadmin thông qua việc mày mò với các máy trạm của riêng họ. Tuy nhiên, các sysadins đến từ nền Windows có thể không phải đối mặt với điều này, vì vậy đây là một số điều cần xem xét:
Tại sao không sử dụng trình quản lý gói để cài đặt phần mềm trên máy chủ của bạn?
Quản lý gói như yum
hoặc apt
xử lý các phụ thuộc này cho bạn. Ngoài ra, chúng cũng có thể được sử dụng để quản lý các bản cập nhật của phần mềm trên máy chủ của bạn. Hầu hết các hương vị của * nix sẽ có trình quản lý gói được cài đặt theo mặc định, đặc biệt là trên VPS đi kèm với hệ điều hành được cài đặt sẵn. Nếu bạn thực sự chưa quen với điều này, hãy sử dụng một trong những thứ này trên hệ thống sản xuất của bạn và lưu lại những cuộc phiêu lưu trong việc biên dịch hoặc cài đặt RPM cạnh chảy máu cho môi trường thử nghiệm của bạn.
Nhưng tôi bắt buộc phải sử dụng gói cập nhật hơn so với những gì có sẵn trong trình quản lý gói của tôi!
Hầu hết các trình quản lý gói có thể được cấu hình để sử dụng các kho lưu trữ khác nhau - bạn có thể thấy rằng có một kho cung cấp phiên bản của gói mà bạn cần và vẫn cho phép bạn tận dụng các chức năng của trình quản lý gói.
Gói tôi cần không có sẵn thông qua bất kỳ repos hoặc người quản lý gói
Trong trường hợp đó bạn có thể làm cần phải tìm ra các phụ thuộc (hoặc hút nó lên và sử dụng một ổn định hơn / phiên bản phổ biến của phần mềm). Bạn có thể nên làm như sau trong một môi trường thử nghiệm và ghi chú cẩn thận về những gì bạn làm:
- Đảm bảo đọc tài liệu cho phần mềm bạn đang cài đặt - điều này có thể sẽ liệt kê những gì bạn cần cài đặt trước, nhưng không phải là những gì cần thiết cho phần mềm đó .
- Sử dụng trình quản lý gói của bạn để cài đặt những thứ được yêu cầu - trong hầu hết các trường hợp, những thứ này sẽ có sẵn.
- Một khi bạn đã hoàn thành điều này, hãy thử cài đặt.
- Nếu bạn vẫn thấy thông báo về các phụ thuộc bị thiếu, hãy ghi lại tất cả chúng, và một lần nữa cố gắng cài đặt càng nhiều càng tốt bằng cách sử dụng trình quản lý gói của bạn.
- Nếu không tìm thấy một phụ thuộc, bạn phải coi nó là một nhiệm vụ con và xử lý đệ quy (tìm tarball nguồn, tìm phụ thuộc, cài đặt).
- Đó là một quá trình lặp đi lặp lại.
Tôi vẫn đang gặp vấn đề!
Nếu bạn đã làm theo tất cả các bước trên và vẫn gặp sự cố thì có thể bạn đã gặp phải một số vấn đề kỳ lạ mà các Máy chủ lỗi khác có thể sẵn lòng giúp đỡ. Tạo một câu hỏi mới, cung cấp chi tiết về phần mềm bạn đang cố cài đặt, phiên bản nào và thông báo lỗi chính xác mà bạn đang thấy.
Tư vấn cụ thể cho các hệ thống quản lý gói lớn
Quản lý gói RPM (RHEL / Fedora và bản sao) và DEB (Debian / Ubuntu và bản sao)
- yum whatprovides tên tệp là một cách tuyệt vời để tìm gói cung cấp một tệp hoặc thư viện cụ thể trên hệ thống loại RHEL.
- Đừng dùng
./configure && make && make install
mù quáng nếu có thể! Quản lý gói được phát minh vì lý do này để ngăn chặn sự lộn xộn và không thể nhầm lẫn do kết quả của việc cài đặt nhiều tệp xung đột không thể kiểm soát được.
- Nhiều thư viện được chia thành hai phần: nhị phân (ví dụ đối tượng chia sẻ) và phát triển (tiêu đề). Vì vậy, bạn cần cả hai
libfoo
và libfoo-devel
(hoặc -dev
) gói.
- Cân nhắc sử dụng
fpm
( https://github.com/jordansissel/fpm ) để chuyển đổi tarball thành RPM và DEB gọn gàng
- Nếu bạn đang triển khai các gói của riêng mình, BẠN là người chịu trách nhiệm cho các cập nhật, kiểm tra và bảo trì của họ. Nếu bạn không có cơ sở hạ tầng cho điều đó, bạn chắc chắn đang nhắm mục tiêu quá cao.
Tìm phụ thuộc theo tên tệp cho RPM
http://rpmfind.net là một nơi tốt để tìm tên của các gói nếu bạn biết tên của tệp mà quy trình cài đặt đang phàn nàn. Mặc dù vậy, việc kết hợp và trộn các gói từ các bản phân phối khác nhau không được khuyến nghị.