perl 5.8.8을 설치했는데, 이걸 되돌리고 싶은데요 ㅠ,.ㅠ

raymundo의 이미지

서버호스팅을 받아서 저와 후배가 root권한을 가지고 있는 서버가 있는데요, 이 서버에서 펄을 가지고 뭘 하는 사람이 주로 저라서, 뭔 모듈이 더 필요하다 하면 제가 root로 cpan을 실행시켜서 모듈을 설치하곤 합니다.

근데 cpan 에서 제공하는 명령어 중에 upgrade (모든 모듈을 최신 버전으로) 라는 게 있길래 실행해봤더니만, 몇몇 모듈은 "이 모듈 최신 버전은 펄5.8.8에 딸려 있는 거니까, 설치하고 싶으면 펄부터 업그레이드하라"고 나오더군요. (기존에는 5.8.5가 설치되어 있었습니다. /usr/lib/perl5 아래에는 5.8.0 부터 5.8.5까지 디렉토리가 있었고요)

사실 굳이 펄5.8.8로 넘어갈 필요는 없었는데, 최근에 모듈 몇 개가 문제를 일으키는 게 혹시 버전업이 되면 해결되려나 싶어서 어제 밤에 시키는데로
cpan> install 어쩌고저쩌고5.8.8어쩌고
해서 펄 자체를 업그레이드를 시도했습니다. (아 내가 왜 그랬을까...)

계속 이런 질문 저런 질문 나오는데 설명 쓱 읽어보고 거의 그냥 default 값으로 제시된 걸 선택했지요. 그랬더니만...

그 왜, 설치될 때 보면 아키텍처에 의존성이 있는 것들은 따로 아키텍처이름으로 된 디렉토리 아래에 설치가 되는데... 기존 서버에는

/usr/lib/perl5/5.8.5
/usr/lib/perl5/5.8.5/i386-linux-thread-multi/

이런 식으로 되어 있었는데, 제가 설치한 펄5.8.8에서는

/usr/lib/perl5/5.8.8
/usr/lib/perl5/5.8.8/i686-linux/

이렇게 아키텍처 이름이 "i686-linux"가 되어 버렸습니다. (설치과정에서 thread 쓰겠냐 할 때 n으로 했고, multi는 무슨 질문에 대한 답인지 모르겠네요.)

펄 스크립트에서 @INC 를 출력해보면 아래와 같이 나오는데

/usr/lib/perl5/5.8.8/i686-linux
/usr/lib/perl5/5.8.8
/usr/lib/perl5/site_perl/5.8.8/i686-linux
/usr/lib/perl5/site_perl/5.8.8
/usr/lib/perl5/site_perl/5.8.5
/usr/lib/perl5/site_perl/5.8.4
/usr/lib/perl5/site_perl/5.8.3
/usr/lib/perl5/site_perl/5.8.2
/usr/lib/perl5/site_perl/5.8.1
/usr/lib/perl5/site_perl/5.8.0
/usr/lib/perl5/site_perl

예전에 제가 cpan을 써서 설치한 모듈 중에 /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/ 에 설치한 것들이 죄다 쓸 수 없는 상태가 된 거죠. =.=;;;;;

확인된 건 없지만, 만일 이 서버에 세들어 살고 있는 사람들 중에 거기 있는 모듈을 쓰고 있는 홈페이지 같은 게 있다면 지금 다 작동불능상태일 듯 합니다. OTL

이 일을 어찌할까나 생각해봤는데,

1) 시스템의 @INC 에 강제로 i386-linux-thread-multi 디렉토리를 넣어준다 => 어디 가서 바꿔야 하는지도 모르겠고, 이미 perl 바이너리 자체가 다른 설정으로 컴파일되어 설치된 건데 이 상태에서 저 디렉토리의 모듈을 바로 쓰게 하는 건 좋은 생각 같지가 않더군요.

2) 이런 모듈들을 찾아서 전부 다시 설치해서 site_perl/5.8.8/i686-linux/ 에 깔리게 한다. => 차선책으로 생각하고 있습니다.

3) 5.8.8 깔았던 걸 일단 다 지워버리고 어제 저녁의 상태로 되돌린다. 그리고 5.8.8을 새로 설치하되, 정확히 i386-linux-thread-multi 라는 아키텍처명으로 설치되게 한다. => 이걸 하고 싶습니다.

근데 5.8.8을 제거하고 싶어도 이게 무슨 rpm으로 설치하거나 한 것도 아니고 cpan을 써서 한 거다보니... 어떻게 할 수 있을지를 모르겠습니다. /usr/lib/perl5 아래에 5.8.8 에 해당하는 디렉토리들을 다 지워버릴까 싶기도 했는데, 이미 /usr/bin/perl 을 비롯해서 바이너리들이 새로 깔린 마당에 그런 짓을 했다가 더 큰 문제가 생길지 몰라서 못 그러고 있고요.

이 난관을 어떻게 해결할 수 있을까요?

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.