プロが教える店舗&オフィスのセキュリティ対策術

VineLinux 2.6?で Perl5.6.1を使っております。
最初 VineLinux2.5でしたがアップデートして2.6?になっております。

最近、Perl5.8系を使う必要がでてきた為、Perl5.6から Perl5.8に
アップグレードしたいのですが、
運用に支障きたさず、スマートにアップグレードできる方法はあるのでしょうか?

VineLinux3の場合は Perl5.8?が入っている?ので
新規OSインストールすれば、素直ですが 設定に時間がかかるので、
サーバー環境はそのままで、Perl5.8だけアップフレードしたいです。

rpm -qa | grep perlの結果

postgresql-perl-7.2.3-0vl3
groff-perl-1.17.2-0vl4
openssl-perl-0.9.6m-0vl0.26
perl-GD-1.38-1
perl-File-MMagic-1.12-0vl3
perl-Net_SSLeay-1.13-0vl1
perl-SGMLSpm-1.03ii-4vl1
perl-DBI-1.21-0vl1
perl-5.6.1-0vl13

何やらいっぱい出てきて、このあたりの依存関係も注意?かなと
ビクビクしております。


あと、5.6系で、使っていたPerlモジュールも5.8ではもう一度インストールする必要が
出てくると思いますが、5.6系のモジュールを全て表示させるツールはあるのでしょうか?

uname -a
Linux ホスト名 2.4.19-0vl26 #2 2003年 1月 22日 水曜日 03:10:41 JST i686 unknown

Vine Linux 2.6r4 (La Fleur de Bouard)
Kernel 2.4.19-0vl26 on an i686

A 回答 (2件)

>1) /usr/local/srcにソースを入れて、そこからmakeすれば、勝手に /usr/local/binに5.8のperlが


>入るということでしょうか?

make場所はどこでもいいですが、configure時のprefixに/usr/local/binを答えてください。
(具体的なmake方法はgoogleへ「perl make configure prefix」とか投げてみてください)

>2) 5.6のperlは which perlで調べた所、 /usr/bin/perlと表示されました。
> perlは基本的に/usr/binに存在するものと言うことでしょうか?

そうです。
(数年前までは/usr/local/bin/にあることも珍しくなかったですが)

>3) CGIとして用いておりますが、今まで #!/usr/bin/perlとしていた所を、 #!/usr/local/bin/perl
>にすれば、5.8が動作するということでしょうか?

そうです。

>4) コマンドラインでperlとすると /usr/binのperl 5.6が動作し、 /usr/local/bin/perlで5.8が動くということでしょうか?
>which perl で /usr/local/bin/perlとなると心配なので。

設定しだいですが、大抵問題ないはずです。
(which perlは5.6系になるはず)
もし不安な場合、/usr/local/perl/とかを作成して、そこへinstallすれば、which perlで5.8系が優先されることはないでしょう。
(検証目的で、そのうち消すなら、むしろこっちの方がいいかも)
    • good
    • 0

perlは割とあちこちから使われているので、簡単にアップグレードするのはお勧めできません。


とりあえず5.8系はソースからmakeして共存させてみては?
(/usr/local/bin/にでも入れとけば他への影響も少なそうだし)

この回答への補足

>perlは割とあちこちから使われているので、簡単にアップグレードするのはお勧めできません。
>とりあえず5.8系はソースからmakeして共存させてみては?
>(/usr/local/bin/にでも入れとけば他への影響も少なそうだし)

お返事ありがとうございます。
アップグレードする方針は止めて、教えて頂いた共存という方法を選択します。

まだ不慣れで心配な点が4つ程あります。

1) /usr/local/srcにソースを入れて、そこからmakeすれば、勝手に /usr/local/binに5.8のperlが
入るということでしょうか?

2) 5.6のperlは which perlで調べた所、 /usr/bin/perlと表示されました。
  perlは基本的に/usr/binに存在するものと言うことでしょうか?

3) CGIとして用いておりますが、今まで #!/usr/bin/perlとしていた所を、 #!/usr/local/bin/perl
 にすれば、5.8が動作するということでしょうか?

4) コマンドラインでperlとすると /usr/binのperl 5.6が動作し、 /usr/local/bin/perlで5.8が動くということでしょうか?
which perl で /usr/local/bin/perlとなると心配なので。

補足日時:2005/08/11 09:41
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!