Cài đặt openssl-dev trên máy chủ Ubuntu


44

Để biên dịch NGinx cần cài đặt opensslopenssl-dev(Tôi đang làm theo hướng dẫn về sách ).

Vì vậy, tôi đang làm điều này:

sudo apt-get install openssl openssl-dev

Nhưng tôi gặp một lỗi nói với tôi rằng không thể tìm thấy openssl-dev. Ngoài ra sau một số googling, có vẻ như libssl-devlà bằng openssl-dev, điều đó có đúng không? ( apt-gettìm thấy libssl-devtrên máy chủ của tôi)

Đây là phiên bản máy chủ của tôi: 2.6.32-22-server

Bất kỳ trợ giúp chào mừng!

Câu trả lời:


36

Nếu khả năng phụ thuộc vào phiên bản của gói phát hành Ubuntu (hoặc các sắp xếp có nguồn gốc Debian khác) giống như phiên bản dành cho phiên bản bạn đang cố gắng xây dựng, bạn có thể chạy apt-get build-dep nginxhoặc aptitude build-dep nginx- điều này sẽ không cài đặt gói nginx nhưng thay vào đó sẽ cài đặt tất cả những thứ được liệt kê là phụ thuộc (và phụ thuộc của chúng, như thường lệ) bao gồm libssl-dev(gói mà bạn hiện đang tìm kiếm).

Trong hầu hết các trường hợp, điều này sẽ cho phép việc xây dựng phiên bản khác (có lẽ mới hơn) được hoàn thành thành công và nó giúp bạn tự cài đặt từng thư viện và các tệp tiêu đề của nó. Ngay cả khi có các phụ thuộc mới trong phiên bản khác mà bạn đang cố gắng xây dựng, build-dep <package>vẫn là một nơi tốt để bắt đầu vì điều đó có nghĩa là bạn chỉ phải cài đặt thủ công các phụ thuộc mới.

Ví dụ, kết quả trên một trong các máy chủ của tôi là:

user@host:~$ sudo aptitude build-dep nginx
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initialising package states... Done
The following NEW packages will be installed:
  autotools-dev cvs{a} debhelper gettext{a} html2text{a} intltool-debian{a}
  libcroco3{a} libmail-sendmail-perl{a} libpcre3-dev libpcrecpp0{a}
  libssl-dev libsys-hostname-long-perl{a} po-debconf{a} zlib1g-dev
0 packages upgraded, 14 newly installed, 0 to remove and 19 not upgraded.
Need to get 7,217kB of archives. After unpacking 22.9MB will be used.
Do you want to continue? [Y/n/?]

Nó đang có ý định cài đặt một số thư viện và tiêu đề, để cho phép xây dựng nginx, nhưng bản thân nginx thì không.

Một điều cần lưu ý là nếu bạn đang biên dịch bản sao của riêng mình vì bạn muốn các tùy chọn xây dựng khác nhau thay vì cần một phiên bản khác vì một lý do nào đó, bạn có thể biên dịch từ nguồn của kho lưu trữ cho gói hơn là sử dụng trực tiếp các nguồn ngược dòng. Câu hỏi SO này là trang hữu ích đầu tiên xuất hiện trong một tìm kiếm nhanh, mặc dù bạn có thể dễ dàng tìm thấy các hướng dẫn chi tiết hơn nếu bạn cần điều đó.

Một điều nhỏ khác cần lưu ý: các gói được cài đặt là kết quả apt-get build-depsẽ được đánh dấu là cài đặt thủ công như thể bạn đã thực hiện việc này bằng tay như bạn hiện đang làm. Điều đó có nghĩa là bạn không thể xóa tất cả chúng trong một lần (không có apt-get unintall-dephoặc tương tự) - mặc dù điều đó không khác với tình huống bạn sẽ nhận được từ cài đặt thư viện / tiêu đề thủ công (dù sao tôi chỉ đề cập đến thực tế như một số người mong đợi ở đó là một cách một bước để hoàn tác một build-dephoạt động, và không có).



11

Tôi đến đây vào tháng 9 năm 2018. Vấn đề tương tự trên Ubuntu 18.04.

Đã giải quyết:

sudo apt install libssl1.0-dev
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.