yum과 컴파일중 어떤게 더 나은지?

darkhi의 이미지

서버구축시에 yum을 이용한 apm 설치때와 컴파일 방식으로 했을 경우

왠만하면 APM 설치시 기존 패키지를 사용하지 마시고 소스파일을 가져다가 컴파일하셔서 설치하세요.
그래야 나중에 APM업그레이드하기가 좋습니다

라는 말이 있어서 궁금해졌습니다.

yum같은경우 업데이트도 지원되는데 추후 관리하기에도 yum이 더 용의하지 않을까요
아니면 yum이 업데이트르 지원한다고 해도 의존성 등의 문제로 컴파일이 추후 관리하기에 더 용의한건가요?

만일 서버관리자라면 컴파일을 하실껀가요 yum을 이용하실껀가요?

academic의 이미지

yum 같은 경우는 rpm기반 시스템에서 바이너리 패키지를 업데이트/설치/삭제를 해주는 프로그램이므로 컴파일과 직접적으로 비교할 수는 없겠고...

바이너리 패키지 설치랑 소스 컴파일 설치 중에 어떤 것이 더 좋은가 하는 질문이 되겠네요.

"왠만하면 APM 설치시 기존 패키지를 사용하지 마시고 소스파일을 가져다가 컴파일하셔서 설치하세요.
그래야 나중에 APM업그레이드하기가 좋습니다"라는 말에는 동의할 수 없습니다.

일반적으론 바이너리 패키지가 제공되지 않는다거나, 제공된다고 해도 커스터마이징하는 작업이 너무 힘들다면 소스 컴파일이 좋고,

그렇지 않은 경우는 바이너리 패키지를 설치하는 것이 좋다고 봅니다.

그 기준에 맞춰 보면 APM 같은 경우는 물어볼 필요도 없이 바이너리 패키지가 더 좋겠죠.

APM 같은 경우는 워낙 많이 쓰이니까 커스터마이징이 필요없게끔 패키지가 잘 만들어지고,

행여 커스터마이징한다고 해도 소스 패키지 가지고 얼마든지 가능합니다.

보통 소스로 컴파일해서 설치하게 되면 /usr/local 밑에 설치하는데,

path, man path 등도 추가적으로 잡아줘야 하고,

startup script 등도 기존과 다르기 때문에 따로 기억해야 하고... (예를 들어 apachectl 같은)

매번 패치 같은 것도 적용해야 하고...

관리자로선 불필요한 업무만 잔뜩 생기게 되죠.

--
academic은 제 고등학교 때 동아리 이름입니다.
academic, 아주 가끔은 저도 이랬으면 좋겠습니다.

----
academic은 제 고등학교 때 동아리 이름입니다.
academic, 아주 가끔은 저도 이랬으면 좋겠습니다.

whitekid의 이미지

Yum을 사용하지 않는 FreeBSD 사용자입니다만....
왠만하면 OS에서 제공하는 패키징을 사용하는게 좋더군요. 소스로 컴파일하고 난 후에 다시 업그레이드할 때면 이게 컴파일한건지.. 패키지로 설치한건지 헷갈리고.. (실지로 소스로 컴파일했으나.. 모르고 package로 다시 설치하는 경우도 있지요..) 또 설치했을때 옵션 같은것도 기억해놓고 있어야하는 번거러움이 있지요..

OS에서 제공하는 방식대로 하는 것이 최고.. 아니라면 OS에서 제공하는 방식대로 custom package를 만드는 방법도 좋습니다.

What do you want to eat?

eminency의 이미지

그냥 소스 가져다 컴파일 할 경우 장점은... 최신 버전을 빨리 가져다 해 볼 수 있다는 정도? 그것 말고는 특별히 무슨 이유로 업그레이드하기 좋다고 말하는지는 잘 모르겠군요.
저도 OS에서 제공하는 방식을 쓰는 것에 한 표 입니다.

노루가 사냥꾼의 손에서 벗어나는 것 같이, 새가 그물치는 자의 손에서 벗어나는 것 같이 스스로 구원하라 -잠언 6:5

feanor의 이미지

당연히 패키지로 설치합니다. 보안 패치가 한 가지 큰 이유이고, 아파치나 PHP는 모듈 기능이 있어서 바이너리 패키지로 설치해도 나중에 패키지로 없는 기능을 추가하는데 큰 불편이 없습니다.

예를 들어 PHP에서 Oracle 데이터베이스에 연결하는 확장 기능처럼 패키지가 없는 경우에는 php-devel을 설치하고 확장 기능 소스만 받아서 phpize로 컴파일하면 PHP 자체를 소스 컴파일하지 않아도 바이너리 패키지와 소스 컴파일한 확장 기능이 잘 맞물려 돌아갑니다.

d3m3vilurr의 이미지

패키지 관리자가 있는 시스템은 그 패키지 관리자를 통해서 패키지를 설치하는 것이 좋습니다.
이후 관리를 위해서 라도요.
꼭 소스 컴파일이 필요하다면 rpm 관리자라면 rpm패키지를 만들어 설치하고,
dpkg라면 deb파일로 만들어 설치하여,
패키지 관리자가 해당 패키지가 설치되었음을 인지하도록 하는 것이 좋습니다.

김정균의 이미지

컴파일을 해야 할 상황이라면, 직접 패키징을 하는 것이 답입니다. install 관리를 source compile 로 하기 쉽다고 하는데 make install 후에 어디에 뭐가 설치되어 있는지 확인하는 방법은 귀찮고도 귀찮은 작업입니다. 패키지로 만들어 놓는다면, 필요한 부분의 migration 및 파일 관리까지 되니까요. :-)

rpm 을 사용한다고 해서 source compile 과 다를 것이 없습니다. 다만, 패키징을 할줄 아느냐 모르느냐의 차이에서 관리 능력의 차이가 발생할 수 있겠죠. :-)

댓글 달기

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