• ベストアンサー

opensslのrpmインストールとsourceインストールの競合回避について

openssl-0.9.7aがrpmでインストールされた状態で、ソースから全てデフォルトでconfigしたopenssl-0.9.7eをredhat9にインストールしてしまいました。 ディレクトリは以下のように異なっています。 /usr/share/ssl : openssl-0.9.7a /usr/local/ssl : openssl-0.9.7e どのような手順で整合性をとればよいでしょうか? make installでインストールされたファイルの一覧が簡単に分かる方法はありますでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • 10gate
  • ベストアンサー率42% (50/117)
回答No.1

こんにちは。 まず、両方に入っていても競合という問題はないと思いますよ。pathの優先順だけの問題でしょう。 ssl単体で使うのではなく、sshやmod_sslから使われるのでしたら、そちらのconfigureのオプションでsslのディレクトリを指定できると思います。 ./configure --ssl-path=/usr/local/sslみたいな感じです。 ただ、きれいにしておきたいというお気持ちはよくわかりますので、単純なのですが、 1)rpm -eで openssl-0.9.7aをアンインストール 2)0.9.7eをconfigureから新規にやり直し ではダメでしょうか。 > make installでインストールされたファイルの一覧が簡単に分かる方法はありますでしょうか? これはないと思います。一般的かどうかわかりませんが、 make install | tee ./make_install.log みたいに、作業ログを別途取るのがいいかと思います。

helonpa
質問者

補足

ありがとうございます。 rpm -e としたところ、libcrypto.so.4 / libssl.so.4に対して、それぞれ20以上のrpmでis neededとなります。 これに対してはどのように対処すべきでしょうか。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.4

openssl-0.9.7eを/usr/local/sslにrpmで上書きインストール、そしてアンインストール。 ./configure --ssl-path=/usr/share/ssl make clean make checkinstall openssl-0.9.7eを/usr/share/sslにrpm -Fvhで0.9.7aを上書きインストール。 私はいつもインストール前にはrpm qa | grep hoge としてかぶらないようにしてますからこれでうまくいくとは謎ですが・・・

helonpa
質問者

お礼

アンインストールはちょっと怖いので、 /usr/local/ssl に入れて運用する事にします。 どうもありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • 10gate
  • ベストアンサー率42% (50/117)
回答No.3

#1です。 > rpm -e としたところ、libcrypto.so.4 / libssl.so.4に対して、それぞれ20以上のrpmでis neededとなります。 > これに対してはどのように対処すべきでしょうか。 なるほど、依存性を指摘されましたか・・。それはやっかいですね。 そうなると、/usr/share/sslの方を消す事は難しいと思います。 ですのでそちらがある事は忘れて、sslを使う際に/usr/local/sslを 明示的に指定するのがいいのではないでしょうか。 最初にも書きましたが、競合という状態にはなっていないと思います。 私もなるべく無駄なものは入れたくない方ですが、過去の経験から ヘタに消そうとするとあまりいい結果が出ないような気がします。

helonpa
質問者

お礼

参考になりました。 /usr/local/ssl に入れて運用する事にします。 どうもありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

checkinstallを使ってrpmパッケージにしておいてからそのままインストールし直せば、そのまま上書きしてくれますし、後のパッケージ管理も便利かと思います。 私は極力そうしてます。

helonpa
質問者

補足

openssl-0.9.7eを/usr/local/sslにrpmで上書きインストール、そしてアンインストール。 openssl-0.9.7eを/usr/share/sslにrpmで上書きインストール。 という手順でしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • opensslインストールできない

    はじめまして。 初心者で勉強中なんでが、Googleで調べてもよくわりません。 教えていただけたら幸いです。 現状は、Solaris10で、OpenSSLのインストールをしているんですが エラーになり困っています。 Configure make は、エラーがなしで行きました。 make testでエラーになります。 OpenSSL openssl-0.9.8l ./Configure solaris-x86-gcc shared -fPIC  make make test making all in apps... make[3]: ディレクトリ `/usr/local/src/openssl-0.9.8l/apps' に入ります make[3]: `all' に対して行うべき事はありません. make[3]: ディレクトリ `/usr/local/src/openssl-0.9.8l/apps' から出ます make[2]: ディレクトリ `/usr/local/src/openssl-0.9.8l' から出ます ../util/shlib_wrap.sh ./destest make[1]: *** [test_des] セグメント例外 (コアダンプしました) make[1]: ディレクトリ `/usr/local/src/openssl-0.9.8l/test' から出ます make: *** [tests] エラー 2 よろしくお願いします。

  • OpenSSLについて

    現在、SSL導入に向けて勉強&準備をしています。 CentOS5.5でApache+OpenSSLを使ってSSLを導入しようと考えていまして 認証局はベリサインを利用しようと思っています。 以下のベリサインの導入手順を参考に作業をしています。 https://www.verisign.co.jp/ssl/help/csr/capache_new.html # rpm -qa | grep openssl でOpenSSLが入っていることを確認しましたので 上記手順書の最初の秘密鍵を作成しようとしたのですが /usr/local/ssl/bin というディレクトリがなく、whichコマンドでパスを調べ /usr/bin/にあることがわかり そのディレクトリに読みかえて作業を行い始めましたが、 これで問題ないのでしょうか? ちなみに、この件で色々ぐぐってみるとOpenSSLが既に入っていても ソースからOpenSSLをインストールするような解説を見かけましたので 新たにソースから入れたほうがよいのでしょうか?

  • opensslのソースインストールについて

    ご覧頂きありがとうございます。 表題の件についてですが、 先日公開されたOpneSSLの脆弱性対応(CVE-2016-0800)の対応の為、 openssl-1.0.1sをインストールしたのですが、 インストール後にウェブサーバを再起動しようとしたら以下のエラーが発生しました。 # /usr/local/apache2/bin/apachectl configtest httpd: Syntax error on line 55 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/mod_ssl.so into server: /usr/local/apache2/modules/mod_ssl.so: undefined symbol: SSLv2_client_method httpd.conf 55行目: LoadModule ssl_module modules/mod_ssl.so エラー内容をウェブで検索しましたが有力な情報は得られませんでした。 もしおわかりの方がご教示いただけないでしょうか。 環境: CentOS6.7 Apache 2.2.31 Openssl-1.0.1s 不足情報などありましたらご指摘ください。 よろしくお願いいたします。

  • アプリケーションのインストールについて

    既存のアプリケーション(openssl)のバージョンが古いので、 新しいアプリケーションのインストールをしようと思ったのですが、 何故かうまくいきません。どなたか教えて下さい。 そもそもLinuxは、旧のアプリを残したまま 新のアプリをインストールする事できるのでしょうか? 旧のアプリを"rpm -e openssl"とコマンドを打つと、"xxxのパッケージに必要とされています" と表示され、別のパッケージにリンクされているようでアンインストールするのを 取り止めました。。。。それとも旧から新規に切り替える方法があるのでしょうか?・・ "rpm -Uhv openssl"と打つと、そんなファイルやディレクトリはありませんと返ってきます。 インストール後、パスを通すため、 /etc/ld.so.confに以下を追加 "/usr/local/ssl/lib" /etc/bashrcに以下を追加 "EXPORT PATH=$PATH:/usr/local/ssl/bin" 確認をするため [root@localhost root]# openssl version と打ち込むと、旧が表示されてしまいます。 どうすれば最新のopensslが起動するのでしょうか?・・・・ 恐れ入りますが教えて下さい。。 先週から悩んでいて、困っております。

  • CentOs5.8Apacheのリビルド

    CentOS5.8でSNIを使おうと思っています。 そのためのOpenSSL1.0.1eはインストールできました そのOpensslをApacheに適用させるために既存のApacheのリビルドをしたいと思っています ですが、現在のApacheの設定をそのままにリビルドする方法はありますか? 現在1日はまってしまい、非常に困っています。 下記OpenSSLの更新作業 ===================================================== # wget http://www.openssl.org/source/openssl-1.0.1e.tar.gz # tar zxvf openssl-1.0.1e.tar.gz # cd openssl-1.0.1e # ./config enable-tlsext -fPIC shared # make # make test # make install ※デフォルト/usr/local/ssl/にインストールされるみたいです。 ・まずはパスを認識させます # echo /usr/local/ssl/lib > /etc/ld.so.conf.d/openssl.conf # ldconfig ・既存のopensslの実行ファイルを今回インストールした物と変更します。 # cd /usr/bin # mv openssl openssl.old # ln -s /usr/local/ssl/bin/openssl ・シェアードライブラリが正しくリンクできているか確認 # ldd /usr/local/ssl/bin/openssl linux-vdso.so.1 => (0x00007fff49bf2000) libssl.so.1.0.0 => /usr/local/ssl/lib/libssl.so.1.0.0 (0x00002b5327442000) libcrypto.so.1.0.0 => /usr/local/ssl/lib/libcrypto.so.1.0.0 (0x00002b53276a7000) libdl.so.2 => /lib64/libdl.so.2 (0x0000003f36000000) libc.so.6 => /lib64/libc.so.6 (0x0000003f35400000) /lib64/ld-linux-x86-64.so.2 (0x0000003f34c00000) =================================================================================== 宜しくお願い致します。

  • opensslを削除したい

    Redhat7.1でwebサーバ(apache)を立てています。 apacheをrpmで導入したら、openssl等も組み込まれてしまいました。 Netcraft(http://news.netcraft.com/)で見たら、mod_sslやらOpenSSLやらのバージョンが出てきています。 そこで、単なる素のapacheのサーバなので、セキュリティホールが気になるopensslは外したいのですが...。 そこで、apacheをRPMではなくソースからmakeした場合、 使っていない(と自分では思ってますが...) opensslは削除してしまってよいのでしょうか? それとも、そもそもRPMでの導入時にopenssl等を使わない(Netcraftに出てこない)ようにする方法があるのでしょうか?

  • makeやmake installの結果について

    openssl1.0.0eで最近コンパイルをしました。 ※1のopensslは、tarから展開したものです。 1.  cd /usr/local/src/openssl 2.  ./config --prefix=/usr/local/openssl -openssldir=/usr/local/openssl shared 3   .make && ls 4、  make install && ls 3と4のmakeコマンドの後に、わざとlsをくっつけております。 何が目的かといいますと、 「make中、makeinstall中に、エラーが出てないかを判断したい」 と考えて、&&をつけました。 (&なので、エラーがでたら、きっとlsが走らないだろう。と考えたため) いざ実行すると、make && ls のls部分が走りませんでした。 ・質問 コマンドの実行結果は、何かの環境変数を参照したりすることで 確認できたりするものなのでしょうか? どなたかご存知の方がいらっしゃいましたら ご教授お願いします。

  • openssl

    いつも参考にさせていただいております。 今回、DebianEtchでopenssl-0.9.8hとopenldap-2.4.11を利用しSSL化をしてみたのですが、 LDAPを起動しようとしたところで、 「/usr/local/libexec/slapd: symbol lookup error: /usr/local/libexec/slapd: undefined symbol: SSL_CTX_set_info_callback NG」 のようなメッセージが表示されてしまいます。 1.SSLインストール。(./Configure --prefix=/usr/local --openssldir=/usr/local/stow/openssl-0.9.8i/ssl shared linux-generic32) 2.LDAPインストール(./configure --enable-tls --enable-wrappers --enable-crypt --prefix=/usr/local/stow/openldap-2.4.11 --libdir=/usr/local/lib --sysconfdir=/etc/ldap --includedir=/usr/local/include --enable-monitor=no) をして、 3.SSLで鍵の生成後、slapd.confに鍵設定追加後、 LDAPを起動しようとすると出ました。 そこで、LDAPのTLS設定が有効になっていないのかと思い ./configure --enable-tls --enable-wrappers --with-tls --enable-crypt --prefix=/usr/local/stow/openldap-2.4.11 --libdir=/usr/local/lib --sysconfdir=/etc/ldap --includedir=/usr/local/include --enable-monitor=no tlsを有効にし、再インストールを行いLDAPの起動を行ったところ 「/usr/local/libexec/slapd: symbol lookup error: /usr/local/libexec/slapd: undefined symbol: SSL_CTX_set_info_callback NG」 のメッセージは出なくなり正常に起動したのですが、 サーバを再起動したあともう一回、LDAPを起動しようとしますと 同じエラーメッセージが表示されてしまいます。 どなたか、解決方法をご存知の方がいられましたら ご教授のほうお願いできないでしょうか? よろしくお願いします。

  • Apache脆弱性対策(openssl)

    現在使用しているサーバにてApacheのバージョンが2.2.27で脆弱性があり、2.2.29にバージョンアップをしようとしているのですが、そのサーバにはOpenSSLも設定してあり、こちらはこの作業の前にopenssl0.9.8eの脆弱性対策としてopenssl0.9.8zcを配置し、モジュールをmakeまでしてある状態で、Apacheのバージョンアップの際にmake installを行い、Apacheにも適用させようとしているのですが、ビルドの前にspecファイルに「--with-ssl=/usr/local/ssl/bin」(←opensslモジュールが存在する場所) を追加したのですが、OpenSSLが実際に適用されていません。他に設定などが必要なのでしょうか。また確認の際に、logでバージョン確認をしたのですが、他に確認する方法はありますでしょうか。(openssl versionコマンドであると、表示だけ変わっている状態なので意味ないようです。)

  • RPM のソースパッケージが展開できません

    RPM のソースパッケージが展開できません。 CentOS6.4です。 #rpm -ivh webalizer-2.21_02-3.3.el6.src.rpm 1:webalizer 警告: ユーザ mockbuild は存在しません - root を使用します 警告: グループ mockbuild は存在しません - root を使用します 警告: ユーザ mockbuild は存在しません - root を使用します 警告: グループ mockbuild は存在しません - root を使用します 警告: ユーザ mockbuild は存在しません - root を使用します 警告: グループ mockbuild は存在しません - root を使用します 警告: ユーザ mockbuild は存在しません - root を使用します 警告: グループ mockbuild は存在しません - root を使用します 警告: ユーザ mockbuild は存在しません - root を使用します 警告: グループ mockbuild は存在しません - root を使用します 警告: ユーザ mockbuild は存在しません - root を使用します 警告: グループ mockbuild は存在しません - root を使用します 警告: ユーザ mockbuild は存在しません - root を使用します 警告: グループ mockbuild は存在しません - root を使用します 警告: ユーザ mockbuild は存在しません - root を使用します 警告: グループ mockbuild は存在しません - root を使用します ########################################### [100%] これで展開されているはずなんですが、RPM のソースパッケージが展開されていません。 「RedHat系のOSでは/usr/src/redhatディレクトリや/var/src/rpmディレクトリにRPMをビルドするためのディレクトリが用意されています。」とありましたが、デフォルトではどちらも存在していなかったので # cd /usr/src # mkdir redhat # cd redhat # mkdir BUILD RPMS SOURCES SPECS SRPMS としして自分でディレクトリを新規作成したのち、、もう一度 #rpm -ivh webalizer-2.21_02-3.3.el6.src.rpm を行いましたが /usr/src/redhat/SPECSに何も展開されません。(SPECSは空のまま) やり方が間違っていますか?

このQ&Aのポイント
  • レーザー複合機の液晶ディスプレイが文字を表示しないというトラブルが発生しました。表示されない原因や解決方法を知りたいです。
  • 液晶ディスプレイの文字が出てこないという問題に遭遇しました。その原因と解決策について教えてください。
  • ブラザー製のレーザー複合機の液晶ディスプレイが文字を表示しない現象が起きました。この問題の解決方法についてアドバイスをお願いします。
回答を見る