Curl-7.27.0をインストールしましたが、現在動作しているかどうかを確認するためにコマンドの下で実行すると動作しませんが、次のように表示されます:
root @ ubuntu:〜/ curl-7.27.0#curl -V
curl 7.21.6(i686-pc-linux-gnu)libcurl/7.21.6 OpenSSL/1.0.0e zlib/1.2.3.4 libidn/1.22 librtmp/2.3
プロトコル:dictファイルftp ftps Gopher http https imap imaps ldap pop3 pop3s rtmp rtsp smtp smtps telnet tftp
機能:GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz
まずcurl
をsftpサポート付きでコンパイルする必要があります。
Curlソースをダウンロードして解凍します。その後:
sudo apt-get install build-essential debhelper libssh2-1-dev sudo apt-get source libcurl3 sudo apt-get build-dep libcurl3 cd curl-x.xx.x/debian nano rules
「--without-libssh2」を見つけて「--with-libssh2」に置き換えます
cd .. sudo dpkg-buildpackage cd .. Sudo dpkg -i curl_xxxxx .deb Sudo dpkg -i libcurl3_xxxx.deb Sudo dpkg -i libcurl3-gnutls_xxxx.deb
もちろん、適切なバージョンでコマンドを更新してください。詳細 こちら 。
--without-libssh2
に置き換えられる--with-libssh2
が見つからない場合は、--without-ssl
およびappend--with-libssh2
、curlバージョンでテスト済み7.35.0onUbuntu 14.04.2
Frantiqueからのカスタマイズされた回答:
Curlソースをダウンロードして解凍します。その後:
Sudo apt-get install build-essential debhelper libssh2-1-dev
Sudo apt-get source libcurl3
Sudo apt-get build-dep libcurl3
cd curl-*/debian
nano rules
--without-ssl
を検索し、--with-libssh2
を追加します。私の場合、次のようになります。
Before
cd debian/build && dh_auto_configure ${CONFIGURE_ARGS} \
--with-ca-path=/etc/ssl/certs
cd debian/build-gnutls && dh_auto_configure ${CONFIGURE_ARGS} \
--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt \
--without-ssl --with-gnutls
cd debian/build-nss && dh_auto_configure ${CONFIGURE_ARGS} \
--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt \
--without-ssl --with-nss
After
cd debian/build && dh_auto_configure ${CONFIGURE_ARGS} \
--with-ca-path=/etc/ssl/certs --with-libssh2
cd debian/build-gnutls && dh_auto_configure ${CONFIGURE_ARGS} \
--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt \
--without-ssl --with-gnutls --with-libssh2
cd debian/build-nss && dh_auto_configure ${CONFIGURE_ARGS} \
--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt \
--without-ssl --with-nss --with-libssh2
次に、パッケージをビルドします。
cd ..
Sudo dpkg-buildpackage
cd ..
Sudo dpkg -i curl_*.deb
Sudo dpkg -i libcurl3_*.deb
Sudo dpkg -i libcurl3-gnutls_*.deb
これは別の良いチュートリアルです あなたの問題について。
Frantiqueの回答の詳細。
Frantiqueの答えはうまくいきましたが、システムをアップグレードしようとしたときに、パッケージマネージャーがインストールをsftp/scpのないcurlに戻したいと思っていました。
アップグレードのたびにsftp/scpでcurlを再インストールする必要を回避するには:
Sudo aptitude hold libcurl3
Sudo aptitude hold libcurl3-gnutls
Aptを使用する場合は、apt-markを使用します。
このページを読む 特定のパッケージの更新を防止するための詳細情報が必要な場合。
最終的には、保留を解除するまで、将来のアップグレードが続行できない場合があることに注意してください。
偶然PHPを使用しており、curlでsftpが必要な場合は、 phpseclib をチェックアウトする必要があります。
Ubuntu 18.04のlibsslサポートでcurlをビルドする方法は次のとおりです。 LTS:
Sudo apt-get install build-essential debhelper libssh-dev
Sudo apt-get source curl
Sudo apt-get build-dep curl
cd curl-*
パッチをダウンロードし、debian/rules
にパッチを適用します。
wget https://bugs.launchpad.net/ubuntu/+source/curl/+bug/311029/+attachment/5234644/+files/ubuntu_libssl.patch
Sudo patch debian/rules < /ubuntu_libssl.patch
またはalternativファイル内のdebian/rules
を置き換えます:
CONFIGURE_ARGS += --without-libssh2`
と
CONFIGURE_ARGS += --with-libssh2
次に、パッケージをビルドしてインストールします。
Sudo dpkg-buildpackage -uc -us
# -us Do not sign the source package.
# -uc Do not sign the .changes file.
cd ..
Sudo dpkg -i curl_*.deb
Sudo dpkg -i libcurl3-*.deb
Sudo dpkg -i libcurl3-gnutls_*.deb
Sudo apt-mark hold curl
Sudo apt-mark hold libcurl3
Sudo apt-mark hold libcurl3-gnutls
# Sudo apt-mark unhold <package-name>
それが誰かを助けることを願っています。