제 경험을 적겠습니다.
제가 관리하는 모든 ubuntu 서버는 6.06 LTS버전입니다.
(보안 패치가 3~5년간 지원되는 버전)
좋은 점.
- X-Windows가 안 깔린다.
모든 관리를 ssh의 커맨트 프롬프트로 하는 경우에 아주 좋다.
필요없는 것은 설치 안 하는 것이 보안의 기본원칙이다.
- apt-get 너무 편하다.
Redhat의 의존성 지옥이 없다.
웬만한 프로그램은 다 있고, 많이 쓰는 것은 백포트도 있다.
이것 때문에 redhat 계열의 CentOS쓰다가 ubuntu로 넘어왔다.
내 데스크탑을 6.06에서 7.04로 한큐에 업그레이드한 경험이 있다.
apt-get과 방대한 패키지가 ubuntu의 최고 강점이 아닐까 싶다.
- 데스크탑을 ubuntu로 쓸 경우 개발시 자기 테스크탑에서 다 테스트하고
서버로 올리면 땡이다.
내 생각에 데스크탑을 지배하면 서버도 지배한다.
윈도우를 보면 알 수 있다.
그리고, redhat도 예전에는 리눅스데스크탑을 지배했었다.
- SELinux가 없다.
Redhat쓸 때 SELinux를 끄지 않고 설치하면 MySQL서버가 작동을 안 해서
재설치하면서 끄곤 했다.
나는 CIA나 국정원 수준의 보안은 필요없는 데, 정말 성가신 존재이다.
Redhat쓸 때 뭔가 잘 안 되면 SELinux 끄면 다 된다.
- Java지원이 redhat 못지 않다.
예전에 ubuntu는 Java 지원이 무척 약했다. 좋게 말해서 지저분 했다.
그러나, 7.04버전의 경우 Java SE 6, Sun Application Server 9, Netbean 5.5를
"apt-get"으로 설치할 수 있다.
LTS버전인 6.06도 Java SE 5가 apt-get으로 설치된다.
(물론, Tomcat, Eclipse도 apt-get으로 설치된다.)
나처럼 IDE없으면 개발 못하는 부류들은 선택의 여지가 없다.
.Net 아니면 Java다.
IDE없으면 개발 못하는 부류에게 제일 중요한 것은 디버거이다.
이번에 JSP를 아주 조금 만져봤는 데, Tomcat이 "내장"된 Netbean로 개발했다.
애드온 설치 하나도 안 하고, 설정 하나도 안 하고 바로 JSP가 디버깅 된다.
속도가 조금 느린 것 빼면, Visual Studio에 맞먹는다.
안 좋은 점.
- Software RAID 지원이 약하다.
루트디렉토리(/)는 RAID가 안 된다.
Redhat은 이게 된다. 문제는 별로 믿음직스럽지가 않다는 거..
결혼식 3일전에 Software RAID를 /로 마운트 한 Redhat서버가 맛이 갔는 데,
그 서버는 중국 공장에 있는 거였다.
결혼식 하러 한국에 나왔을 때 그 소식 들으니 뒷골이 많이 땡겼다.
RAID만 믿고 있다가 완전히 뒤통수 맞았다.
그 이후로도 Software RAID가 맛이 간 적이 1번 더 있다.
경험상 Software RAID를 /(루트)로 써도 별 효과 없다.
마음이 조금 편해지는 게 가장 큰 효과이랄까.
백업이 최고다.
- 그래서 백업전용 하드디스크 1개 더 달으면,
설치 맨 마지막 과정에서 GRUB에 관련해서 어느 디스크의 어느 부분에
설치할 건지 물어오는 데, 그런 거 잘 몰라서,
결국 백업용 하드디스크 빼고서 설치했다.
하드디스크 1개 넘어가면 설치할 때 귀찮다.
ubuntu가 데스크탑 중심이다 보니 이런 현상이..
- 기본 보안 설정이 너무 강하다.
어떤 사람은 피식 웃을 것이다.
왜냐하면 SELinux도 없고, 기본적으로 방화벽 설정이 안 되어 있기 때문이다.
그러나, SELinux를 켜면 안 되는 게 너무 많다. 난 SELinux가 싫다.
그리고, Redhat의 기본 방화벽은 너무 간단하다.
한 IP가 1분에 sshd로 3번이상 접속실패하면 해당 IP를 일정시간동안 차단하거나
유동 IP를 쓰는 사업장 간의 연결은 보장하되 다른 곳에서는 접속 못하게 하는 등..
방화벽 다운 방화벽을 쓸려면 어차피 손으로 직접 만져야 된다.
그리고, 진짜로 대규모로 서비스 하는 곳은 속도 때문에
iptable 방화벽을 아예 안 쓴다고 들었다.
MyODBC를 이용해서 MySQL에 접속하는 프로그램을 짰는 데,
Redhat에서는 멀쩡히 잘 되던 것이 ubuntu에서는 안 되었다.
알고보니 MySQL의 기본 설정에 'bind-address 127.0.0.1'이 있었다.
가만히 생각해보면 좋은 설정 같기도 하지만, 난 이것 때문에 삽질 많이 했다.
또, Tomcat의 기본 설정이 거부이다.
윈도우에서 개발할 때는 잘 작동하던 것이 ubuntu에 업로드 하면
해당 클래스가 보안에서 거부 되면서 엉뚱하게도 ClassNotFound 에러가 난다.
이거 해결하는 데 삽질 많이 했다.
Redhat도 원래 이러는 지는 모르겠다.
윈도우에서 개발을 진행했던 것이 실수이었나 싶다.
그러나, 클라이언트는 웹브라우저가 아니라 C# Winform이라서 선택의 여지가 없었다.
- 하드웨어 지원이 약하다.
redhat의 최대 장점은 커널의 디바이스 드라이버 백포트이다.
그러나, ubuntu는 디바이스 드라이버 백포트 거의 없다.
서버에 적합한 LTS버전인 6.06은 쿼드코어 메인보드 못 쓴다.
6.06LTS에서 지원되는 최상위 인텔칩셋인 945칩셋은 듀얼CPU만 지원하고,
쿼드코어를 돌릴 수 있는 인텔 965칩셋을 지원을 하기위한 백포트는 거부되었다.
고로, 쿼드코어 보드 쓰고 싶으면
- 7.04 같은 일반 ubuntu쓰면서 18개월마다 업그레이드 하거나,
(MySQL버전이 바뀔 때마다 MyODBC가 궁합이 안 맞아서 회사업무가 마비된다.)
- AMD 쿼드코어가 나와서 6.06에서 지원되는 칩셋에서 돌아갈 때까지 기다리거나
- 다음 LTS버전 나올 때까지 기다려야 된다.
이 부분은 ubuntu의 최대 약점이다.
- 대체인력부족
Redhat에서 Ubuntu로 넘어가는 것은 생각보다 쉽다.
문제는 나에게 있어서 쉬운 것이 다른 사람에게도 쉬울 것인가이다.
결론
- 소규모에서는 ubuntu가 낫다.
- 대규모에서는 아직은 redhat이 낫다.
나는 ubuntu를 쓰면서 redhat의 RPM 의존성 지옥에서 벗어난 것이 제일 마음에 든다.
그러나, 하드웨어 지원이 약한 것이 큰 흠이다.
물론 몇 백만원 하는 제온 쿼드코어 서버시스템은 지원되는 지도 모른다. (진짜 모른다.)
그러나, 30만원도 안 되는 쿼드코어 CPU를 못 쓰고 듀얼코어를 서버로 써야 한다는 것은 뼈아프다.
그리고, 진짜로 대규모로 서비스 하는 곳은 속도 때문에
iptable 방화벽을 아예 안 쓴다고 들었다.
속도 때문에 사용하지 않는 다기 보다는 network 단에서 제어를 하는 것이 편하기 때문에 사용하는 경향이 더 많습니다.
나는 ubuntu를 쓰면서 redhat의 RPM 의존성 지옥에서 벗어난 것이 제일 마음에 든다.
개발을 하시면 라이브러리 의존성에 대해서 이해를 하실 것 같은데 RPM 의존성 지옥이라는 멘트를 날리시는 것은 좀 의외이네요. 그리고, 운영적인 측면에서는 최신 버전은 별로 권장하지 않습니다. 충분히 습득이 되지 않았기 때문이죠. 그리고, 서버를 개발자분들이 고민할 이유는 없죠. 의존성 문제는 S.E 측면에서 고민을 해야할 문제이죠.
그렇다고 해서 개발자들이 OS 에 대해서 아무생각이 없어도 된다는 얘기는 아닙니다. 반대 급부로 SE 가 개발에 대한 지식이 없다면 그것도 곤란하죠. 하지만, 대부분 본질을 보지 못하고 껍데기만 보려고 하고 그 이상에 대해서는 자꾸 외면하는 것 같아서 안타깝습니다. 우분투에서는 되는데 레드햇은 안된다.. 레드햇에서는 되는데 우분투에서는 안된다.. 실은 레드햇에서 되면 우분투에서도 됩니다. 반대로 우분투에서 되면 레드햇에서도 됩니다. 다만 방법이 익숙하지 않을 뿐이죠. 아니면 경험이 없던가..
P.S
마지막 단락은.. 김운하님에의 댓글이 아니라 그냥 전반적으로 개발자들과 얘기를 해 보면서 느낀 점입니다.
안녕하세요?
답변들 감사합니다...
제가 메신저 서버를 만들었는데... 그 서버를 GUI로 관리를 하고 싶다는 생각이 들더라구요...
그래서 생각한건데... 우분투 데탑을 설치하고... 여러가지 서버 프로그램을 설치하는 방법은 어떨까요?
메신저 서버에 필요한 것들이... 웹, ssh, mysql 서버등이 있습니다...
의견좀 말씀해주세요...
우분투가 데스크탑에
우분투가 데스크탑에 초점을 두고 패키징되고 있지만, 데스크탑 에디션과 더불어 서버 에디션도 배포합니다.
그리고 배포판이란게... 다 사용하기 나름입니다.
LTS를 제공하는 것도 서버 쪽에 비중을 좀 뒀지요.
The "LTS" version of Ubuntu receives long-term support. 3 years for desktop versions and 5 years for server versions.
아 그렇군요...
데스크탑으로 쓰려면... xwindow나 그런것들을 올려야하잖아요... 그럼 서버운영에 지장을 주지 않을까요?
성능이나 그런 것들이~
서버 버전은
데스크탑 버전처럼 엑스윈도가 강제로 깔리지 않습니다.
..
우분투 서버 잘 쓰고
우분투 서버 잘 쓰고 있습니다.
데비안 서버에서 우분투 서버로 옮겨 쓰고 있는 데, 별 문제 없이 잘 돌리고 있습니다.
위에서 말씀하신 것 처럼 별로의 X 관련 패키지는 기본적으로 설치 되지 않습니다.
----
Emerging the World!
Emerging the World!
어떤 배포본을
어떤 배포본을 선택하느냐는, 자신이 제일 관리하는데 자신이 있는 배포본을 선택하시면 됩니다. 다만 회사나 기타 인수인계 같은 것을 염두에 두어야 한다면, 가장 많이 쓰이는 배포본을 선택하는 것이 좋습니다.
구인을 해야 하는데, 우분투 서버에 능숙한 사람 보다는 RHEL 서버에 능숙한 사람을 찾기가 쉽죠. 그리고, 어떠한 자료나 드라이버등도 RHEL 쪽이 월등하기는 합니다.
우분투 서버 버전
우분투 서버 버전 괜찮습니다. 관리하기에 RHEL보다는 조금 편한 느낌입니다. 개발하면서 쓰기에도 backport에 최신 패키지들이 빨리 올라오기 때문에 좋은 것 같습니다.
ubuntu 서버 돌려본 경험으로..
제 경험을 적겠습니다.
제가 관리하는 모든 ubuntu 서버는 6.06 LTS버전입니다.
(보안 패치가 3~5년간 지원되는 버전)
좋은 점.
- X-Windows가 안 깔린다.
모든 관리를 ssh의 커맨트 프롬프트로 하는 경우에 아주 좋다.
필요없는 것은 설치 안 하는 것이 보안의 기본원칙이다.
- apt-get 너무 편하다.
Redhat의 의존성 지옥이 없다.
웬만한 프로그램은 다 있고, 많이 쓰는 것은 백포트도 있다.
이것 때문에 redhat 계열의 CentOS쓰다가 ubuntu로 넘어왔다.
내 데스크탑을 6.06에서 7.04로 한큐에 업그레이드한 경험이 있다.
apt-get과 방대한 패키지가 ubuntu의 최고 강점이 아닐까 싶다.
- 데스크탑을 ubuntu로 쓸 경우 개발시 자기 테스크탑에서 다 테스트하고
서버로 올리면 땡이다.
내 생각에 데스크탑을 지배하면 서버도 지배한다.
윈도우를 보면 알 수 있다.
그리고, redhat도 예전에는 리눅스데스크탑을 지배했었다.
- SELinux가 없다.
Redhat쓸 때 SELinux를 끄지 않고 설치하면 MySQL서버가 작동을 안 해서
재설치하면서 끄곤 했다.
나는 CIA나 국정원 수준의 보안은 필요없는 데, 정말 성가신 존재이다.
Redhat쓸 때 뭔가 잘 안 되면 SELinux 끄면 다 된다.
- Java지원이 redhat 못지 않다.
예전에 ubuntu는 Java 지원이 무척 약했다. 좋게 말해서 지저분 했다.
그러나, 7.04버전의 경우 Java SE 6, Sun Application Server 9, Netbean 5.5를
"apt-get"으로 설치할 수 있다.
LTS버전인 6.06도 Java SE 5가 apt-get으로 설치된다.
(물론, Tomcat, Eclipse도 apt-get으로 설치된다.)
나처럼 IDE없으면 개발 못하는 부류들은 선택의 여지가 없다.
.Net 아니면 Java다.
IDE없으면 개발 못하는 부류에게 제일 중요한 것은 디버거이다.
이번에 JSP를 아주 조금 만져봤는 데, Tomcat이 "내장"된 Netbean로 개발했다.
애드온 설치 하나도 안 하고, 설정 하나도 안 하고 바로 JSP가 디버깅 된다.
속도가 조금 느린 것 빼면, Visual Studio에 맞먹는다.
안 좋은 점.
- Software RAID 지원이 약하다.
루트디렉토리(/)는 RAID가 안 된다.
Redhat은 이게 된다. 문제는 별로 믿음직스럽지가 않다는 거..
결혼식 3일전에 Software RAID를 /로 마운트 한 Redhat서버가 맛이 갔는 데,
그 서버는 중국 공장에 있는 거였다.
결혼식 하러 한국에 나왔을 때 그 소식 들으니 뒷골이 많이 땡겼다.
RAID만 믿고 있다가 완전히 뒤통수 맞았다.
그 이후로도 Software RAID가 맛이 간 적이 1번 더 있다.
경험상 Software RAID를 /(루트)로 써도 별 효과 없다.
마음이 조금 편해지는 게 가장 큰 효과이랄까.
백업이 최고다.
- 그래서 백업전용 하드디스크 1개 더 달으면,
설치 맨 마지막 과정에서 GRUB에 관련해서 어느 디스크의 어느 부분에
설치할 건지 물어오는 데, 그런 거 잘 몰라서,
결국 백업용 하드디스크 빼고서 설치했다.
하드디스크 1개 넘어가면 설치할 때 귀찮다.
ubuntu가 데스크탑 중심이다 보니 이런 현상이..
- 기본 보안 설정이 너무 강하다.
어떤 사람은 피식 웃을 것이다.
왜냐하면 SELinux도 없고, 기본적으로 방화벽 설정이 안 되어 있기 때문이다.
그러나, SELinux를 켜면 안 되는 게 너무 많다. 난 SELinux가 싫다.
그리고, Redhat의 기본 방화벽은 너무 간단하다.
한 IP가 1분에 sshd로 3번이상 접속실패하면 해당 IP를 일정시간동안 차단하거나
유동 IP를 쓰는 사업장 간의 연결은 보장하되 다른 곳에서는 접속 못하게 하는 등..
방화벽 다운 방화벽을 쓸려면 어차피 손으로 직접 만져야 된다.
그리고, 진짜로 대규모로 서비스 하는 곳은 속도 때문에
iptable 방화벽을 아예 안 쓴다고 들었다.
MyODBC를 이용해서 MySQL에 접속하는 프로그램을 짰는 데,
Redhat에서는 멀쩡히 잘 되던 것이 ubuntu에서는 안 되었다.
알고보니 MySQL의 기본 설정에 'bind-address 127.0.0.1'이 있었다.
가만히 생각해보면 좋은 설정 같기도 하지만, 난 이것 때문에 삽질 많이 했다.
또, Tomcat의 기본 설정이 거부이다.
윈도우에서 개발할 때는 잘 작동하던 것이 ubuntu에 업로드 하면
해당 클래스가 보안에서 거부 되면서 엉뚱하게도 ClassNotFound 에러가 난다.
이거 해결하는 데 삽질 많이 했다.
Redhat도 원래 이러는 지는 모르겠다.
윈도우에서 개발을 진행했던 것이 실수이었나 싶다.
그러나, 클라이언트는 웹브라우저가 아니라 C# Winform이라서 선택의 여지가 없었다.
- 하드웨어 지원이 약하다.
redhat의 최대 장점은 커널의 디바이스 드라이버 백포트이다.
그러나, ubuntu는 디바이스 드라이버 백포트 거의 없다.
서버에 적합한 LTS버전인 6.06은 쿼드코어 메인보드 못 쓴다.
6.06LTS에서 지원되는 최상위 인텔칩셋인 945칩셋은 듀얼CPU만 지원하고,
쿼드코어를 돌릴 수 있는 인텔 965칩셋을 지원을 하기위한 백포트는 거부되었다.
고로, 쿼드코어 보드 쓰고 싶으면
- 7.04 같은 일반 ubuntu쓰면서 18개월마다 업그레이드 하거나,
(MySQL버전이 바뀔 때마다 MyODBC가 궁합이 안 맞아서 회사업무가 마비된다.)
- AMD 쿼드코어가 나와서 6.06에서 지원되는 칩셋에서 돌아갈 때까지 기다리거나
- 다음 LTS버전 나올 때까지 기다려야 된다.
이 부분은 ubuntu의 최대 약점이다.
- 대체인력부족
Redhat에서 Ubuntu로 넘어가는 것은 생각보다 쉽다.
문제는 나에게 있어서 쉬운 것이 다른 사람에게도 쉬울 것인가이다.
결론
- 소규모에서는 ubuntu가 낫다.
- 대규모에서는 아직은 redhat이 낫다.
나는 ubuntu를 쓰면서 redhat의 RPM 의존성 지옥에서 벗어난 것이 제일 마음에 든다.
그러나, 하드웨어 지원이 약한 것이 큰 흠이다.
물론 몇 백만원 하는 제온 쿼드코어 서버시스템은 지원되는 지도 모른다. (진짜 모른다.)
그러나, 30만원도 안 되는 쿼드코어 CPU를 못 쓰고 듀얼코어를 서버로 써야 한다는 것은 뼈아프다.
잘
잘 읽었습니다...감사합니다.
몇가지 토를
몇가지 토를 달자면..
속도 때문에 사용하지 않는 다기 보다는 network 단에서 제어를 하는 것이 편하기 때문에 사용하는 경향이 더 많습니다.
개발을 하시면 라이브러리 의존성에 대해서 이해를 하실 것 같은데 RPM 의존성 지옥이라는 멘트를 날리시는 것은 좀 의외이네요. 그리고, 운영적인 측면에서는 최신 버전은 별로 권장하지 않습니다. 충분히 습득이 되지 않았기 때문이죠. 그리고, 서버를 개발자분들이 고민할 이유는 없죠. 의존성 문제는 S.E 측면에서 고민을 해야할 문제이죠.
그렇다고 해서 개발자들이 OS 에 대해서 아무생각이 없어도 된다는 얘기는 아닙니다. 반대 급부로 SE 가 개발에 대한 지식이 없다면 그것도 곤란하죠. 하지만, 대부분 본질을 보지 못하고 껍데기만 보려고 하고 그 이상에 대해서는 자꾸 외면하는 것 같아서 안타깝습니다. 우분투에서는 되는데 레드햇은 안된다.. 레드햇에서는 되는데 우분투에서는 안된다.. 실은 레드햇에서 되면 우분투에서도 됩니다. 반대로 우분투에서 되면 레드햇에서도 됩니다. 다만 방법이 익숙하지 않을 뿐이죠. 아니면 경험이 없던가..
P.S
마지막 단락은.. 김운하님에의 댓글이 아니라 그냥 전반적으로 개발자들과 얘기를 해 보면서 느낀 점입니다.
우분투로 메신저서버를...
안녕하세요?
답변들 감사합니다...
제가 메신저 서버를 만들었는데... 그 서버를 GUI로 관리를 하고 싶다는 생각이 들더라구요...
그래서 생각한건데... 우분투 데탑을 설치하고... 여러가지 서버 프로그램을 설치하는 방법은 어떨까요?
메신저 서버에 필요한 것들이... 웹, ssh, mysql 서버등이 있습니다...
의견좀 말씀해주세요...
데스크탑 관련
데스크탑 관련 패키지를 설치하고 함께 사용하셔도 되지만,
서버 설정을 얼마나 GUI로 할 수 있는지는 모르겠습니다. 오히려 web을 통해서 할 수 있는 건 좀 있을 것 같은데..
댓글 달기