LinuxでPerlのバージョンアップ方法と注意点

このQ&Aのポイント
  • LinuxでPerlのバージョンアップをスマートに行う方法について解説します。
  • VineLinux3ではPerl5.8が入っているので、新規OSインストールせずにアップグレードできます。
  • Perl5.6からPerl5.8にバージョンアップする場合、依存関係に注意が必要です。
回答を見る
  • ベストアンサー

皆さんは、LinuxでPerlのバージョンアップはどのようにしていますか?

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

  • Perl
  • 回答数2
  • ありがとう数3

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

  • ベストアンサー
  • zebedeer
  • ベストアンサー率66% (80/121)
回答No.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系が優先されることはないでしょう。 (検証目的で、そのうち消すなら、むしろこっちの方がいいかも)

その他の回答 (1)

  • zebedeer
  • ベストアンサー率66% (80/121)
回答No.1

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

kounesi
質問者

補足

>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となると心配なので。

関連するQ&A

  • VineLinux用の Tk-800.024バージョンを取得したい。

    VineLinuxの環境で、Perl5.6.1で Tkを使おうと考えておりますが、 Tkがインストールできなくて困っております。 perl -MCPAN -e shellで cpan>install Tk としたら、Tk-804.027がダウンロードされて、これをmakeしようとして失敗しております。 この Tk-804.027はPerl 5.7.0以上でないと動作しないので、 エラーが出ているみたいです。 uname -aで次のように表示されました。 Linux 2.4.19-0vl26 #2 2003年 1月 22日 水曜日 03:10:41 JST i686 unknown Windowsでは Perl5.6.1でTk-800.024がインストールされて動作していたので、 VineLinuxの環境でも Tk-800.024をインストールしたいのですが、 ダウンロード先が見つかりません。 探すのが下手でどこを見に行けば良いのでしょうか?

    • ベストアンサー
    • Perl
  • Perlについて教えてください。

    Perlについて教えてください。 私はPerl、Linux(FreeBSD,CentOS)について初心者の為よくわからないので2点質問させてください。 ネットでPerlについて調べたところ 1. WindowsでのPerl開発 = Active Perl(ActiveState社) WindowsでのPerl開発 = OSに最初から組み込まれているもの(違っていたらすみません) との記述がありますが、ActiveState社のHPに行くとWindows,Mac,Linux,SunのActive Perl がありますがActive PerlはそれそれのOSで同じソースががつかえるのでしょうか? 2. Windows XPにActive Perlをインストールしたところ「Perl package Manager」もインストール されていたので、起動してみるとインストールされている(インストールできる)PPMが表示されますが PPM(Perl Package Modeule)=Win32用Perlモジュール CPANのPerlモジュール=Linux用のPerlモジュールと考えていたのですが 両方とも表示されています。 CPANで入手できるPerlモジュールはWindows環境下のActive Perlでもしようできるのですか? 馬鹿な質問と思うのかもしれませんが是非教えてください。

    • ベストアンサー
    • Perl
  • VineLinux2.6でPerl5.6.13から Perl5.8にするには

    VineLinux2.6でPerl5.6を使っています。 apt-get upgrade perlで簡単にアップグレードできると思っていましたが、Perl 5.6.13にアップグレードしただけで、5.8までできませんでした。rpm -eでアンインストールしてから行おうとしましたが、たくさん依存関係がでました。また、ActivePerl5.8用のrpmも存在していますが、これを単に rpm -Uvhでインストールしても 依存関係で問題ないでしょうか?

    • ベストアンサー
    • Perl
  • Vine Linuxの"apt-get upgrade"の不具合

    Vine4.1を使っています。 "apt-get upgrade"で次の現象が出ていますが、解決策がわかりませんでしょうか。 2008年1月12日 # apt-get update # apt-get upgrade パッケージリストを読みこんでいます... 完了 依存情報ツリーを作成しています... 完了 以下のパッケージがアップグレードされます: kernel-doc kernel-source 以下のパッケージが新たにインストールされます: kernel-devel#2.6.16-0vl76.28 kernel-module-madwifi#0.9.3.3_2.6.16_0vl76.28-0vl0.42.1 kernel-module-ndiswrapper#1.27_2.6.16_0vl76.28-0vl2 アップグレード: 2 個, 新規インストール: 3 個, 削除: 0 個, 保留: 0 個 E: 問題を解決することができません。こわれたパッケージがあるようです。 $ uname -a Linux vine.myhome 2.6.16-0vl76.3 #1 SMP Sun Jun 17 14:32:18 JST 2007 i686 athlon i386 GNU/Linux $ rpm -qa | grep -e kernel-doc -e kernel-source -e kernel-devel -e kernel-module-madwifi -e kernel-module-ndiswrapper kernel-doc-2.6.16-0vl76.3 kernel-source-2.6.16-0vl76.3 kernel-devel-2.6.16-0vl68 kernel-devel-2.6.16-0vl76.3 kernel-module-madwifi-0.9.3_2.6.16_0vl68-0vl2.r1770 kernel-module-madwifi-0.9.3_2.6.16_0vl76.3-0vl4.r1770 kernel-module-ndiswrapper-1.27_2.6.16_0vl68-0vl2 kernel-module-ndiswrapper-1.27_2.6.16_0vl76.3-0vl2 以上

  • XAMPPでperlからMySQL

    XAMPPを使ってローカルのマシンで開発を行おうとしているのですが、perlのDBIモジュールがなくエラーとなってしまいます。phpからはmysqlに接続・操作はできるので、とりあえずモジュールを入れればいいとおもうのですが、検索してもインストールの方法がわかりませんでした。ご存知の方おられますでしょうか?

  • perl5.8.8でのDBI及びDBD_mysqlモジュールのダウンロード、インストールの手順について

    表題の通りなのですが、perl5.8.8で、DBIとDBD_mysqlモジュールをダウンロード、また、インストールするにはどのようにすればいいでしょうか。 perl5.6では、PPMを使ってダウンード、インストールが出来たのですが、perl5.8だとPPMを使って出来ないようなのです。 どなたか分かる方いらっしゃいましたら、ご教授よろしくお願いします。

    • ベストアンサー
    • Perl
  • perl5.88で、DBI及びDBD-mysqlモジュールがインストールできない。

    質問があるのですが、よろしくお願いします。 perl5.8.8を導入し、ppmでDBIモジュールとDBD-mysqlモジュールをインストールしようと思ったのですが、コマンドラインから ppm install DBI としても Downloading ActiveState Package Repository Packlist...not modified No missing packeages to install というエラーが出てしまい、全くインストール出来ません。 ppm install DBD-mysql とした時も同様です。 どうしてこのようなエラーがでるのか、またどうすればDBI、DBD-mysqlモジュールがインストール出来るか、わかる方いらっしゃたらご教授頂けると幸いです。よろしくお願いしますm(_ _)m

  • DBIについて質問です

    perl内でDBIのモジュールを使うには何かインストールしなければいけないのですか? CGIモジュールのようにデフォでperlに入ってるものだと思っていたのですが、DBにアクセス出来てないっぽいのです。 もしDBIモジュールについて判りやすく説明されているHPや、教えて下さる方が居ましたらよろしくお願いします。

  • Perl モジュールのアンインストールの仕方

    ソースからインストールしたPerlモジュールと CPANからインストールしたPerlモジュールの アンインストール方法を探しています。 ■環境 OS:RedHat Linux ES4 Perl:5.8.8 ※perldoc perllocalにインストール履歴が残ります。 インターネットで検索してみますと、Linuxは慣習的に 一度インストールしたものは削除しないように感じます。 自分で、インストールしたファイルをrmコマンドで消していくしかないのでしょうか。

    • ベストアンサー
    • Perl
  • perlでpostgresを使えるようにしたい

    今までwindows2000でperl5.6とpostgresでDBIの構築をしていました。 昨今のセキュリティ事情を鑑みて、windowsXPにOSを入れなおし、Perlも5.10.0.1005にし、posgresも8.4.0にしようと思い立ちました。 perlはActivePerlです。 ActivePerlもpostgresもインストールしました。 ネットで検索したところ両者をつなぐにはDBIのモジュールが必要だとありました。 (2000の時は会社の人からファイルをもらってコピーしたので何も考えなくてもできました。その人とも疎遠になってしまって質問もできない状態です) モジュールを入れようと、binフォルダにあるppmをコマンドプロンプトから叩くと、エラーが出ます。 ppm gui failed: DBI connect('dbname=C:\DOCUME~1\ランカ~1\LOCALS~1\APPLIC~1/ActiveState/ActivePerl//ppm-MSWin32-x86-multi-thread-5_8.db','',...) failed: unable to open database file というエラーです。 すでにどこから手をつけていいのか、何をまずすべきかがわからなくなってしまいました。 ご教授いただければ幸いです。 よろしくお願いいたします。

    • ベストアンサー
    • Perl

専門家に質問してみよう