아파치, Mysql, 커널 버전업 시켜줘야 할것 같은데 겁이 나네요.

overhaul의 이미지

안녕하세요.

리눅스쪽 시스템을 대략 1년정도 운영하고 있습니다.
기본적으로 리눅스 설치, 아파치 및 MySQL 설치 및 운영, PHP코딩등 기본적인 작업은 이제 어느정도는 익숙해 진듯 합니다.

그런데 한각지 걱정이 지금 운영중인 웹, DB서버가 약 2년전에 세팅된 상태에서 현재 까지 운영하였고 그로인해 아차피, Mysql을 비롯 커널등도 버전업이 전혀 되지 않은 상태입니다.

이 시점에서 어떻게든 한번 하고는 싶은데...
한번도 해보지 않은 작업이고 또 버전업 이후에 이것저것 에러를 발생시키지 않을까 하는 두려움이 앞섭니다.

그렇다고 계속 미룬다는 것도 관리자 입장에서 왠지 불안한 심정입니다.

위에서 말씀드린 커널, Mysql, PHP, 아파치 모두를 업데이트 하려고 하는데 업데이트 후 크게 문제가 생기지는 않을까요?
이뿐만 아니라 보안관련하여 기타 업데이트가 필요한 경우 찾아서 해 주려고 하는데.....

테스트 서버로 먼저 시험해 보고는 싶지만 테스트 서버는 그래도 최근에 세팅한거라 버전들이 리얼서버 보다는 최신버전들입니다.

그래서 환경 자체가 조금은 차이가 있는지라 테스트 서버에서 제대로 성공하였다 하더라도 리얼서버에서 문제가 없을지는 모르겠습니다.

이 같은 상황일때 어떻해야 할까요?

님들의 조언 부탁드립니다.

bloodntear의 이미지

일단 커널 , 아파치 등은 거의 아무런 문제가 없습니다.
그러나 php 의 경우 기존 버젼이 4.1.x, 4.2.x 이라면 4.3.x 또는 5.0.x 로 업그레이드시 함수변형로 인해 문제가 발생 할 수 있습니다.
대표적인 예로 setcookie 함수 에러를 들수 있습니다.
그러니까 웹 프로그램 소스수정이 있어야 될지도 모릅니다.
MySQL 의 경우 역시 3.23.x 에서 4.0.x 와 4.1.x 으로 업그레이드 의 경우 문제가 발생 할수 있습니다.
3.23.x 와 4.0.x 의 가장 큰 차이점은 MySQL DB (user,db table)
의 컬럼 차이입니다.
이 경우는 설치 위치 (prefix) bin 디렉토리 안에 있는 mysql_fix_privilege_tables 을 이용 하시면 됩니다.

그리고 4.0.x 와 4.1.x의 큰 차이점은 패스워드값입니다. 4.1.x 의 경우 패스워드 값의 자리가 매우 커졌습니다.
이 부분은 아마 my.cnf 에 old-passwords 라는 옵션을 넣어 극복할수 있는걸로 알고 있습니다.

이상 위 예는 소스 컴파일 로 애플리케이션을 업그레이드 하는것이고 만일 레드햇 리눅스이고 yum 등으로 rpm 업그레이드 하는것이라면
해당 애플리케이션의 마이너 버젼정도로 업그레이드 되므로 별 지장 없을겁니다.

도움이 되시길 바랍니다.

비명은 지르지마라 , 달콤한 고통을 음미 못할수 있으니 ... 흐흐흐

mazikonn의 이미지

소규모 서버로 비슷한 작업을 몇 번 해봤던 경험으로 말씀을 드리자면 (일반적인 리눅스 배포본을 사용하시고 배포본에서 제공하는 패키지를 사용하신다는 가정 하에) 패키지의 업그레이드 과정 자체는 문제가 될 것이 없습니다. 단지, 대부분 패키지 설치 후에 설정 파일을 변경하기 마련이고, 이전에 사용하던 설정 파일을 새 패키지에 그대로 적용할 경우 문제가 발생하는 경우는 있습니다.

따라서 업그레이드 전에 미리 설정 파일들을 백업해 두시고 패키지 업그레이드 후에 사용하던 설정 파일로 동작을 시켜 보세요. 만약 문제가 생기면 업그레이드된 패키지에서 제공하는 설정 파일에 사용하던 설정 파일의 내용을 하나씩 적용하는 방법을 사용하시면 됩니다. 조금 번거로운 방법이긴 하지만 저는 이 방법보다 더 좋은 방법을 모르겠습니다.

간혹 bloodntear 님이 언급하신 것처럼 패키지 자체의 특성이 크게 변화해서 문제가 생기는 경우도 있습니다. 특히 메이저 버전이 바뀌는 경우에는 더욱 그럴 가능성이 높죠. 잠시도 꺼 놓을 수 없는 중요한 서버라면 사용하던 패키지와 업그레이드될 패키지의 버전을 확인해서 문제가 발생할 수 있는지 꼼꼼히 확인해 본 후에 업그레이드를 하셔야 할 것이고 한두 시간쯤은 괜찮은 서버라면 일단 업그레이드를 시도하고 문제가 생기면 수습하는 것도 괜찮다고 생각합니다. 개인적으로 저는 후자를 선호합니다. 일단 지르고 보는 스타일이라서... :)

一切唯心造

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.