맥에서 내부 아이피를 차단해야할 일이 있어서 /etc/hosts.deny에 아이피를 넣어줬는데 여전히 ssh 접속을 받더라.  뭔가 이상하다싶어 알아보니, 맥에서는 조금 다르다.  설정은 간단하니, 아래의 명령어를 사용하면 된다.


먼저, /etc/pf.conf 파일을 열어, 가장 아래에 차단하고 싶은 IP를 다음과 같은 식으로 추가해준다.


block in from 10.0.1.22


다음의 명령어를 실행한다.


sudo pfctl -e -f /etc/pf.conf





블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,

본 매뉴얼은 글쓴이처럼

1. 맥 OSX에 내장된 Terminal 을 사용하며
2. MacPorts나 brew를 통해 설치하는 것을 꺼리는 분

들에게만 해당되겠다.  리눅스나 유닉스 계통의 운영체제에 익숙하신 분이라면 아주 쉽고 간단하다.  소스를 받아서 빌드하여 설치하는 것이기 때문에 먼저 Xcode가 있어야한다.  참고로 글쓴이가 직접 빌드해보고 사용 중이며 또한 글쓴이는, iTerms 2랑 Terminal이랑 뭐가 그렇게 크게 불편한 차이가 있는지 잘 모르겠더라.  Terminal도 세팅 잘하면 전혀 불편하지 않다.

 

1.  이벤트 라이브러리를 다운받는다.  http://sourceforge.net/projects/levent/files/libevent/libevent-2.0/ 에 가서 최신버전을 받으면 되겠다.  나는 2.0.21-stable로 했다.

2.  Tmux를 다운받는다.  역시 최신버전을 받으면 된다.  http://sourceforge.net/projects/tmux/files/tmux/

3.  이벤트 라이브러리부터 압축을 푼다.  디렉토리를 이동하여 configure부터 시작하면 되는데, /opt 같은 특정 디렉토리를 지정하고 싶으시면 prefix를 주면 되겠다.  prefix를 따로 안주면 당연하겠지만 /usr/local 밑에 설치된다.  이것은 아래에 설치할 tmux 역시 마찬가지다.

./configure 
make
sudo make install

4.  Tmux를 설치할 차례다.  위랑 똑같다.  다른 매뉴얼들 보면 LDFLAGS나 CPPFLAGS를 주는 것도 있던데, 글쓴이 경험상 안줘도 잘된다. 

./configure 
make
sudo make install

5. Tmux의 위치를 확인해보자.

which tmux

 

너무 쉬워서 이런걸 매뉴얼이라고해도 되나 싶다...

블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,

OWC Mercury Extreme Pro 6G라는 SSD를 하나 구입했다. 240GB이고 이름에 적힌대로 6Gbps를 지원하는 SATA3 제품이다.

한국에서 OWC를 아는 분들은 일부 맥 유저들 뿐이지만, 미국에서는 꽤 유명한 업체이다. 주로 맥용 주변기기나 부품들을 판매하는 업체인데, 자신이 사용하는 맥이나 맥북에 어떤 램/하드디스크 등이 인식되는지 잘 모르는 경우가 많기 때문에 OWC에서는 그러한 유저들을 위해 맥에서 인식이 잘되는 부품의 리스트를 나열하고 그것들을 판매하는 형태의 웹사이트였다.

그런데 이 OWC에서 램부터 시작하여 하나둘씩 자체적으로 부품을 제조하면서 맥유저들 사이에서 점점 입지를 자리잡아가고 있었는데, SSD에서 대박을 하나 터뜨렸다. 내가 구입한 이 모델이 현존하는 전 세계에서 가장 빠른 SSD라고 한다. 읽기쓰기 550 MB/s라는 어마어마한 속도에 프리징 현상도 없고 5년이라는 제품보증 기간과 TRIM이 필요없는 뛰어난 성능의 GC가 장착된 컨트롤러는 수많은 리뷰 사이트에서 인정한 현존 최강의 SSD라는 거다. 자세한 리뷰는 구글에서 제품명으로 검색하면 한국 모 사이트에서 리뷰한 페이지가 나오는데 리뷰가 아주 잘되어있으니 참고하시고.

그놈의 속도가 뭔지, 맥미니 서버를 팔고 SSD를 주문했는데 과연 디스크와 맥미니를 바꿀만한 값어치가 있는지 정말이지 한참이나 고민했다. SSD가 진리라는 소리는 수차례 들어왔고 봐왔지만 그게 정작 쓸려니 고민이 되는 것은 사실. 내 맥북의 사양은 맥북프로 15인치 2011 모델이다.

어찌됐든 주문은 했고 물건은 왔다. 오자마자 라이언을 클린설치를 하고, 하나하나 설정하려니 너무나도 귀찮고 할 게 많아서 도저히 유혹을 뿌리칠 수 없었다. 그냥 라이브러리 통째로 복사해버렸다. XBench라는 맥용 벤치마크 테스트를 돌리는데 이게 실행이 되다가 자꾸 멈추는 거다. 알고보니 만들어진지 오래된 프로그램이라 라이언에서는 더 이상 호환이 안된다. 따라서, XBench 실행시 디스크 테스트만 돌리도록 하자.

XBench

돌리고나니 이럴수가… 쓰기속도가 반 밖에 안나오는 것이다. 다시 말하면, 읽기성능은 그런대로 500메가 이상 나오는데, 쓰기성능이 200메가 정도 밖에 안나오는 것이다. 슬슬 짜증이 나기 시작했다. 분명 모 리뷰 사이트에서는 스펙 검증을 했을 때 제조사가 제시한 스펙대로 충분히 나왔고, 일부 항목에서는 스펙을 뛰어넘는 성능을 보여줬다고 했는데...

Ssd speedtest

 

OWC기술지원쪽이랑 약 1주일간 메일을 주고받았고 제품을 교환받기로 했다. OWC에는 Advanced Cross-Shipping 이라는, 물건을 먼저 보내주는 대신 해당 액수만큼을 신용카드에서 Hold해놓는 편리한 제도가 있어서 일단 물건부터 수령받았다.

UPS 2day Air로 와서 다다음날 바로 받았다. 뜯어서 연결하고 라이언을 클린설치했다. 그리고나서 바로 QuickBench를 돌리니 쓰기에서 초당 400메가 이상이 나왔다. 일단 예전 제품보다 2배 이상이 나왔으니 제 성능이 나왔다고 판단, 이제 이것저것 원래 쓰던 프로그램 등 이전의 상황을 복구했다. 대략 4시간 정도 걸린 것 같다. 귀차니즘으로 인해 Library 폴더를 갖다붙이고 싶은 마음이 간절했으니, 이전부터 클린설치 한 번 할려고 벼르고 있었던 터라 꾹 참고 하나하나 다 설정해줬다.

주변 지인들한테 늘상 하는 얘긴데, 맥은 사용자랑 착 달라붙는 경향이 있어서 모든 자료를 맥에 넣어놓는 습성이 있고 따라서 내 맥의 자료는 아주아주 중요했다. 개인적인 정보부터 시작해서 별게 다 있었으니. FileVault2 역시 나에겐 필수다. 나중에 하면 시간이 오래 걸리니, 벤치마크를 끝내자마자 바로 해놨다.

모든 복구가 끝나고나니 벤치마크 결과가 또 다시 궁금해서 한 번 더 돌려봤다. 그런데, 성능이 또 다시 반으로 줄었다. 분명 뭔가 있다...

 

이게 뭐가 문제인지 하나하나 찾아내려니 시간이 안되고, 꾹 참고 쓸려니 내가 이노무 속도 때문에 일부러 비싼 모델을 산게 아까웠고해서 웹서핑을 좀 해봤다. 힌트를 찾았다!

http://blog.macsales.com/11051-to-trim-or-not-to-trim-owc-has-the-answer

 

리플들을 읽다보니 "File Vault 2를 쓰는데 쓰기 속도가 너무 느리다"라는 리플이 발견된 것이다. 순간 눈 앞에서 불이 번쩍했다. 그렇다면, 처음 구매해서 받은 제품 역시 정상이었던가...

리플들을 계속 읽어내려가다보니 이 제품은 File Vault 2와 사용시 쓰기성능이 반으로 줄어든다는 결과가 있었다는 리플들이다. 아니, OWC Tech Support 직원은 이 사실을 알면서도 나한테 File Vault 2 쓰는지 물어보지도 않았단 말인가?

File Vault 2를 해제했고 퀵벤치를 돌렸다. 쓰기성능이 400메가 이상 나온다. 제길, 이거 알았으면 교환신청을 하고 계좌를 홀드하고 메일을 주고받고 이딴 짓은 안했을 거 아냐! 설마 그럴리는 없겠지만, UPS 반송 잘못되서 OWC에서 물건 못받았다고 내 계좌에서 돈 빼가면 진짜 골치아파지는거다...

SSD

드디어 시작된 진정한 SSD Life 고고씽~

블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,
새로운 맥 OS X이 나왔다. 고양이과 최상위에 있는 동물, 사자님이시다.
고양이과 맹수들은 이제 나올만한 애들 다 나왔으니, 맥 오에스 '텐'은 10.7로 마지막이 되지않을까 싶다.
설마 Mac OS X Cat이 나오진 않겠지.

사용기, 리뷰, 달라진 점은 이미 수많은 유저들에 의해서 포스팅되고 있으니 난 서버에 대해서만 얘기하련다.
라이언 서버는 세팅방법이나 절차 등이 너무너무 간단해서, 내가 그동안 이 블로그에 축적해온 스노우 레퍼드 서버 세팅방법 (http://jswlinux.tistory.com/entry/Mac-OS-X-Snow-Leopard-사용노트)이 쓸모없어지게 될 정도다.
대부분의 서비스가 On / Off 버튼 외에 별로 건드릴 게 없다. 정확히 말하자면, 건드릴 수 있는 게 없다. 있다면 비밀번호 입력 정도?
서버데몬의 세팅의 심플함이 어디까지 가능한지 보여주는 극강의 "제어판"을 보여주는데, 세세한 세팅과 디테일한 커스터마이징을 좋아하는 유저라면 아주 답답하겠지만, 나같이 차려진 밥상에만 만족하는 유저들에게는 더 이상의 삽질이 필요없는 "가전제품"이 되었다.

일부 스크린샷을 올려본다. 보시다시피 건드릴 수 있는 게 거의 없다.
 






 
블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,
나는 맥빠다. 누차 내 블로그에 언급했지만 나는 맥을 사랑하는 맥빠다. 하지만 애플빠는 아니다.
애플빠와 맥빠는 분명 다르다. 다르다고 생각한다. 애플빠는, 애플에서 나오는 모든 제품을 열렬히 찬양하는 사람이라고 볼 수 있는 반면, 나는 오로지 MacOSX 하나만을 열렬히 사랑하는 맥빠다.
그럼에도 불구하고 애플에서 나오는 제품 다수를 갖고있다. ㅎㅎㅎ

뭐가 있는지 나열 좀 해볼까.
아이팟 나노, 아이팟 클래식
아이폰 2G 2대
2007년형 신형 아이맥 20"
2010년도 신형 맥미니서버
에어포트 익스트림 베이스 스테이션
매직 마우스

아이패드는 2달 후에 사기로 결정했다. 나보다는 와이프가 쓰고싶어하는 것이라서 구매하기로 했으면 분명 살 거다. 그러고보니 없는 것도 많네.
맥프로, 맥북, 맥북프로, 맥북에어, 아이팟터치, 아이팟 셔플, 시네마 디스플레이가 없다.
아이팟터치, 아이팟 셔플은 내가 가진 아이팟 클래식/나노와 아이폰에서 커버가 가능하니까 앞으로도 안살 것 같고, 맥북에어/맥북/맥북프로 중에서는 하나만 있으면 될 것 같고, 맥프로와 시네마디스플레이는 향후 5년 이내에 구매하는 걸로 목표를 세웠으니 이것도 언젠가는 살 것 같고...
본론으로 넘어가자.

맥은 엄연히 유닉스다. 인텔 맥에서 돌아가는 레퍼드부터 Single UNIX Specification, SUS에서 인증된 Open Brand Unix 03에 준하는 유닉스다. 그런데 리눅스만이 최고이고 리눅스만이 진리이신 분들이 그걸 용납하질 못하시겠단다. 참고로 나도 리눅스 빠라고 할 수 있는 사람이다.
리눅서들이 뭐라고 했을까?

s: 독특하군요. 애플이랑 유닉스랑 관련도 없는데 ㅎㅎ
e: 유닉스 기반이어서 그러지 않을까요? ㅎ
s: bsd 기반이지
e: FreeBSD
s: 유닉스는 아니라는
e: FreeBSD도 유닉스 기반이니.. 뭐..
s: 유닉스는 아니죠
e: 그러니까 기반..
나: 맥은 유닉스인데요...
s: 누가 맥이 유닉스레요?
나: 링크를 드리죠.
나: http://ko.wikipedia.org/wiki/단일_유닉스_규격
s: 저 자료는.. 애매하네요.
나: 애매하시면 unix.org에 항의를...
s: 인증 받은거라고 하니
s: 유닉스도 아닌 것이 유닉스인양
s: 인증 받으면 다 유닉스인가 보네
s: 좀 웃긴 거긴하네
s: bsd 가져와서 포팅한건데
s: bsd는 아니고 자기는 인증해서 유닉스라!
b: 유닉스 커널 쓴다고 유닉스라고 보긴 힘들텐데
b: 한때 POSIX로 유닉스 구분하던 사람들도 있었는데 그러면 윈도우도 유닉스라죠.

이 대화에서 아무런 대답이나 항의 등은 하지 않았다. 온라인에서 말싸움 하는 게 귀찮을 뿐더러 그럴 시간도 없고 어차피 되도않하는 말싸움 해봤자 시간만 아까울 뿐이고...
먼저, 내가 알기로 윈도우 2000은 한때 POSIX를 준수하던 시절이 있었다. 물론 XP부터는 아니라고들 한다.

이 대화에서 내가 하고싶은 말은, 맥이라고는 어떻게 생겨먹은지 인터넷으로 밖에 본 적이 없는 인간들이 어떻게든 맥을 까고싶어서 안달이 났거나, 지들이 쓰는 OS가 얼마나 잘났는지 지들이 만든 것도 아니면서 왜 그렇게 남이 쓰는 걸 못까서 난리인 건지 이해가 안간다는 말이다.

맥이 유닉스 인증을 받았건 안받았건 간에 내가 하고픈 말은, 지들이 아니라고 생각하면 아닌 거야? unix.org는 폼으로 있는 단체인가? POSIX는 동네 슈퍼 이름이야? 그렇게 할 말이 많고 지들이 맞다고 생각하면 직접 따지지, 왜 irc에 처박혀있는데? 
인증 받으면 다 유닉스인가 보네 <- 그럼 자네가 인정해야 유닉스인가? 대체 인증을 누가 해야하는데? 국제기관에서 인증해도 인정 못하겠다굽쇼? 
레퍼드가 단일유닉스규격 받은 게 말이 안된다고 생각하면 왜 unix.org에 항의메일 안보내는데? 영어가 딸려서? 중학교 때부터 대학교 졸업할 때까지 뭐했는데?
맥서버는 리눅스 서버랑 비교하자면 뭐 전혀 고려할만한 가치가 없는 쓰레기라고 하는데, 누가 맥서버로 사업하겠대? 웹호스팅 하겠대? 집에서 홈서버로 쓰겠다는데 무슨 쓰레기니 가치가 없다느니 말들만 많은지...

멍석 깔아주면 한 마디도 못하는 게 한국사람이란 거 다들 잘 알고있는 사실이지만, 국제기관에서 인정해준 사실이 지들 앞에서는 다 말도 안되는 헛소리고 이해가 안되는 상식 밖의 일이라는 거다. 물론 국제기관에서 인정하는 것들이 100% 정확한 게 아니고, 또한 기관의 결정이 진리가 아니라는 것 역시 모를만큼 바보는 아니다. 하지만, 어디까지나 나름대로 국제적인 표준을 심의/규정하는 기관이고 전 세계적으로 인정하는 사항이니만큼 결정이야 어쨌든 따라야하는 게 상식 아닌가?

축구에서는 오심이 한 번씩 생기는데, 대부분의 선수들은 이렇게 말한다.
"심판의 판정도 경기의 한 부분이라고 생각합니다"

이 블로그에서 내가 맥빠라는 사실은 누구나 쉽게 알 수 있을만큼 맥에 대한 찬양을 많이하고있는 본인이지만, 그만큼 리눅스도 좋아한다. 이 블로그에 몇 번이나 얘기했지만 나는 예전 한컴리눅스 사로부터 "대한민국 리눅스 발전에 기여한 20인"에 선정된 적이 있을 정도로 리눅스 활성화에 열렬한 사용자였다. 현재 인천 리눅스 동호회 운영진이며 한국 우분투 포럼 운영진이고 동시에 우분투 커뮤니티 공인 한국 컨택터이다. 또한, 한국 우분투 포럼 IRC의 방장이기도 하다. 
나는 오로지 블로그를 통해 내 생각을 말하는 것 외에는 결코 주위 사람들에게 맥이 최고다라고 말하지 않으며, 리눅스를 쓰지 말라느니 하는 말 따위는 하지 않는다. 게다가 리눅스가 단일유닉스규격에 맞지않는 OS라고 해서 리눅스가 유닉스가 아니라는 생각도 결코 해본 적이 없다.

최근에는 리눅스 유저들이 더 꽉 막힌듯한 사고방식을 보이는 사람들이 많아졌다. 서버관리하는 분들이 그런 생각 많이 하시던데, 맥서버가 서버로서 최고이고 적격이며 아주 우수한 플랫폼이라고 얘기하는 게 아니다. 단지 맥이 단일유닉스규격을 준수하는 유닉스라고 하니까 그냥 그런갑다 하는 거지, 왜 그걸잡고 비아냥거리면서 기관에서 승인받은 사실조차 지네들이 인정하네마네 하냐는 거다.

 말이 나온 김에 자격증 얘기 좀 해보자.
이러한 한국의 사회가 자격증 소지자를 무시하게 되는 거다. 일례로, 새로 들어온 신입사원이 리눅스 마스터 자격증이 있다고 치자. 뭐라고 할 건가? 대부분 이렇게 답할 거라 생각한다. 
"그거 있으면 뭐해?"
"그래서 니가 나보다 더 많이 알아?"

후자의 경우, 물론 아무리 자격증이 있다고 해도 경험에서 나오는 실력이 절대적으로 우위라는 건 부정할 수 없는 진리다. 그런데 전자처럼 자격증을 있으나마나하는 식으로 대접하다보니 결국은 이 사람이 객관적인 평가에서 합격을 했다는 일종의 자격이 아무 쓸모없는 휴지조각이 되어버리는 거다. 아마 우리나라 서버관리자들, 자격증 있으신 분들 별로 없을 거다. 물론 그런 거야 따라면 당장이라도 딸 수 있으실테고, 오히려 자격증에서 요구하는 것 이상의 실력을 갖고계실 거다. 

말을 하다보니 열받아서 횡설수설하게 됐는데, 정리한다.
본인, 불과 3-4년 전만해도 리눅스 밖에 모르는 리눅스 빠돌이였다. 96년도부터 리눅스 써왔고 나름 리눅스를 발전시키기 위해서 혼자라도 많이 노력해왔다.
지금은 맥 쓴다. 맥 정말 사랑한다. 좋은 건 나만 쓰고싶기에, 주위 분들 맥 쓰라고 권유하지 않는다. 하고싶지도 않다.
나도 리눅스 써왔고 지금도 리눅스 쓴다. 여전히 리눅스 좋아하고 여전히 리눅스의 발전을 위해서 대외적으로 노력하고 있다.

맥 까는 분들, 맥 까건 말건 내가 알 바는 아니라서 별로 상관 안한다.
그런데, 맥에 대해서 뭔가 마음에 안드는 게 있으면 나같은 유저들한테 말하지 말고 직접 나서서 얘기 좀 해달라. 맥이 단일유닉스규격 인증받은 게 마음에 안들면 unix.org가서 좀 따져달라. 윈도우 2000이 POSIX인 게 말이 안된다고 생각하면, POSIX에 직접 메일 보내서 따져라. 리눅스랑 비교해서 맥서버 쓰레기라고 하시는 분들, 뭐라고 하던 별로 상관없지만 맥 써보긴 했나? /etc 어떻게 생겼는지 구경은 해봤나?
못하겠으면, 어느정도 수용하고 인정할 줄 아는 자세를 갖춰라.

잘 알지도 못하면서 까는 것도 모자라, 그렇다고 지들이 생(착)각하는 게 진리인양 우기지 말자. 짜증난다.
블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,
수시로 업데이트함. 절대 불펌 금지

일반
일반 어플리케이션에서의 Home/End키 바인딩 (재부팅 불필요)
vi ~/Library/KeyBindings/DefaultKeyBinding.dict
{
/* home */
"\UF729" = "moveToBeginningOfLine:";
"$\UF729" = "moveToBeginningOfLineAndModifySelection:";

/* end */
"\UF72B" = "moveToEndOfLine:";
"$\UF72B" = "moveToEndOfLineAndModifySelection:";

/* page up/down */
"\UF72C" = "pageUp:";
"\UF72D" = "pageDown:";
}

VMware Fusion의 Disk IO로 인한 시스템 부하 해결
자주 안쓴다면 VMware 데몬을 꺼준다.
sudo vi  /Library/LaunchDaemons/com.vmware.launchd.vmware.plist 
11번째 라인 <string>--start</string>을 <string>--stop</string>으로 수정
이렇게 하고나면, VMware 구동시 미리 sudo /Library/Application Support/VMware Fusion/boot.sh --start 를 실행해서 데몬을 올려야한다.
이게 귀찮을시, 데몬이 떠있는지 안떠있는지를 검사해서 안떠있으면 띄우고 VMware를 실행하는 애플스크립트를 만들어서 응용프로그램으로 컴파일한다.
set isRunning to do shell script "ps -ef | grep vmnet | grep -v grep | wc -l |sed 's/ //g'"
if isRunning is "0" then
	do shell script "/Library/Application\\ Support/VMware\\ Fusion/boot.sh --start" with administrator privileges
end if 
tell application "VMware Fusion" to activate
 

 

터미널
터미널 로그인 메시지 (Message Of The Day): /etc/motd
iTerm 과 터미널을 그간 쭉 비교해봤지만 본인은 하드코어유저가 아니라서 iTerm이 뭐가 더 나은지 도저히 모르겠다. Visor와 결합된 Terminal.app은 최고!

/etc/bashrc  참고사항
alias ls='ls -vGF'
v는 한글표시, G는 컬러표시, F는 디렉토리 / 표시
젠투 스타일 PS1: PS1='\[\033[01;32m\]\u@\h\[\033[01;34m\] \w\$\[\033[00m\]
여기서 w를 대문자로 적으면 "현재 디렉토리"를 표시.
터미널에서의 한글입력을 바로하기 위해 $HOME/.inputrc
set convert-meta off
set meta-flag on
set output-meta on
터미널에 나오는 호스트명 변경
sudo scutil --set HostName 이름 (PS1을 수정하는 게 더 나을 수도 있음)

Terminal.app에서의 Home/End키 바인딩
vi ~/.inputrc
# Be 8 bit clean.
set input-meta on

set output-meta on

set convert-meta off


# Auto completion options

set show-all-if-ambiguous on

set completion-ignore-case on


# Keybindings

"\e[1~": beginning-of-line       # Home key

"\e[4~": end-of-line             # End key

"\e[5~": history-search-backward # Page Up

"\e[6~": history-search-forward  # Page Down

"\e[3~": delete-char             # Delete key

"\e[5C": forward-word            # Ctrl+right

"\e[5D": backward-word           # Ctrl+left


그리고 Terminal.app를 열고 환경설정 cmd+, 열고 Setting -> Keyboard에서 아래의 항목을 찾아 변경
(더블클릭하면 변경할 수 있으며, \033 문자는 ESC키를 누르면 입력된다)
Home - send string to shell: \033[1~
End - send string to shell: \033[4~
Page up - send string to shell: \033[5~
Page down - send string to shell: \033[6~
Shift page down - scroll to next page in buffer
Shift page up - scroll to previous page in buffer

참고로 Home/End키가 없는 맥북 등에서는 Fn+화살표 키로 Home/End/PageUp/PageDown 작동됨.


서버공통
대부분의 서비스 데몬은 SSL을 사용하지 않더라도 켜줘야만 모바일 기기나 클라이언트들이 제대로 인식함
위키, 블로그, 서버: http://localhost
그외 서버들
웹메일 서버: http://localhost/webmail
아이캘 서버: http://localhost/ical
스노우 레퍼드 서버 설치가 끝난 뒤 첫부팅에서 설정시, 유저데이터와 서버 데이터를 다른 하드로 지정가능.
하지만, 나중에 재설치를 하게 되면, 다른 하드를 재지정할 수 없다. 한 마디로 무용지물.
(단, Netboot는 그대로 쓸 수 있다)

아이캘/위키/블로그 서버 등의 모든 css 및 이미지 파일은 /usr/share/collaboration/ 에 있으며,
메인 페이지 index.html에서 보여지는 css및 이미지 파일은 /usr/share/collaboration/css/serverhome_static 에 있음.

초기에 /etc/service에서 ssh 22번 포트를 변경하면 Server Preferences 작동 안되는 현상이 있었으나, 원상복귀 후 정상작동 확인. 그 이후에 다시 포트를 변경했으나 여전히 정상작동.

iLife09 설치하면 디렉토리 서비스 통째로 날려먹는다. 해결책은 타임머신을 통한 복구 혹은 재설치 이외엔 없다.
절대로 설치하지 말자.

SSL 인증서 때문인지 모르겠지만, 서버의 이름을 바꾸게 되면 아주 심각한 문제에 부딪치게 된다. 오픈디렉토리에 접근할 수 없는 현상이 생기는데, 웹서버의 경우 버츄얼 호스트 기능으로 다수의 도메인 네임을 가질 수 있지만 웹서버가 아닌 서버 자체의 이름 (처음 설치할 때 입력하는 서버이름)을 다른 이름으로 바꾸거나, 혹은 SSL 인증서를 다른 도메인 이름으로 만든 뒤 그것에 우선권을 주게 되는 경우 오픈디렉토리에 접근할 수 없게 되고 결국 로그인을 해야하는 모든 서비스를 이용할 수 없게 된다.

에어포트 익스트림 베이스 스테이션(이하 AEBS) 사용시, 맥미니서버가 AEBS을 Firewall로 간주/세팅.
다 좋은데, Server Preferences에서 On/Off 할 때마다 AEBS을 재부팅하기 때문에 불편.
맥(미니)서버에서 에어포트 유틸리티 실행시, AEBS의 포트포워딩 항목의 필요한 부분을 전부 등록해줘서 편하지만 만약 다른 맥/PC에서 에어포트 유틸리티를 실행하게 되면 맥(미니)서버에서 등록해준 포트포워딩 항목을 모조리 삭제.
서버에서 몇가지 일부 항목은 변경시 AEBS을 재부팅해야함.
AEBS가 재부팅되면서 포트포워딩이 모조리 off.

맥서버를 운영 중인 상황에서 다른 맥을 재설치하거나 새로운 맥이 로컬 네트웍에 접속시 맥서버로부터 메일/캘린더/주소록 등의 초대를 받게 되는데, 이걸 수락하게 될 경우
시스템 설정 - 계정 - 로그인옵션 - 네트워크 계정 서버 에 자동으로 조인된다. 네트워크 계정서버에 조인하게 되면 /Users/ 디렉토리의 퍼미션이 655로 바뀌면서 root로도 퍼미션 수정 및 접근 자체가 안되는 현상이 생긴다. 또한, /Users 안에 계정 폴더가 있음에도 불구하고 인식을 못하는 현상이 생긴다. 자세한 건 공부를 더 해봐야겠지만, 말 그대로 "네트워크 계정 서버"라서 계정을 원격으로 읽어오는 그런 것 같은데, 암튼 작동 불가능. 초대는 무조건 거절하고, 네트워크 계정서버에는 절대 조인하지 말 것.

서버 이름 지정시, 로컬 네트워크 이름은 그대로 두되 Primary DNS의 이름은 실제 도메인으로 서비스 중인 서버가 아니라면 절대 도메인을 지정하지 말고 내부 도메인을 줘야한다. 예:) server.private
다시 말해서, abc.com이라는 도메인으로 실제 서버를 운영 중이라고 하더라도 abc.com의 네임서버가 맥서버로 바로 지정되어있지 않은 경우는 주면 안된다. 주게되면 Xgrid, iCal Server Utility 및 Kerberos 인증 등 몇가지 서비스가 작동되지 않는다.


웹서버
확장자가 html로 끝나는 파일에 아무리 php코드를 넣어도 작동이 안될 경우 /etc/apache2/httpd.conf 파일을 열어 AddType이 명시된 줄 맨 아래에다 다음을 입력한다.
AddHandler php5-script php html

Wiki/Blog에서 YouTube embed tag를 넣으면 자동으로 삭제하는 현상이 있다. 해결방법은 다음과 같다.
$ cd /Library/Application\ Support/Apple/WikiServer/
$ sudo vi whitelist.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>protocols</key>
        <array>
                <string>irc</string>
                <string>scp</string>
        </array>
        <key>styles</key>
        <array>
                <string>font-size</string>
        </array>
        <key>tags</key>
        <dict>
                <key>object</key>
                <array>
                        <string>width</string>
                        <string>height</string>
                </array>
                <key>param</key>
                <array>
                        <string>name</string>
                        <string>value</string>
                </array>
                <key>embed</key>
                <array>
                        <string>src</string>
                        <string>type</string>
                        <string>width</string>
                        <string>height</string>
                </array>
        </dict>
</dict>
</plist>

내용을 확인한다.
$ file whitelist.plist 
whitelist.plist: XML  document text

$ sudo chown _teamsserver:_teamsserver whitelist.plist
$ sudo chmod 644 whitelist.plist
$ sudo apachectl -k restart


아이캘 서버
아이폰에서 아이캘 서버와 동기시, 아이폰에서 계정을 추가해야함.
아이캘 서버 유틸리티에서 Preferences의 Authentication을 Kerberos하면 에러남.
아이캘 서버의 초대기능은 아이폰에서 사용할 수 없음.


주소록 서버
주소록 서버의 경우, 서버의 주소록에서 On My Mac이 아닌, Preferences의 Accounts에서 계정을 별도로 생성한 뒤, 클라이언트의 주소록에서 해당 계정을 동기화해야함.
또한, 주소록 서버의 Push 기능은 아이폰 펌웨어 3.x 버전에서는 작동하지 않음. iOS4에서는 된다고 한다.


유저 관리
Workgroup Manager 실행시 ID는 diradmin, Password는 관리자로 등록된 유저의 비밀번호


하드디스크 공유
맥미니 서버버전의 경우, 하드디스크가 2개 장착되어있는데, 클라이언트에서 서버에 접속하면 두번째 하드는 접근할 방법이 없다. 따라서 임의의 마운트 포인트를 지정해줘야하는데, 세 가지 방법이 있다.
1. 심볼릭 링크를 걸어준다. 다만 이 경우 ssh 등에서는 문제가 없지만 smb, afp 등으로 접속하면 접근이 불가능하다.
2. disk utility를 열고 원하는 파티션을 클릭해 UUID 값을 복사한다. 그런 다음 원하는 디렉토리를 만들고 /etc/fstab을 열고, 다음과 같이 입력한다.
UUID=복사한 UUID값 /원하는 디렉토리 hfs rw 1 2
예제: UUID=9A1D30FE-964D-3483-89D2-F33DCD36FEFE /Users/Data hfs rw 1 2
이것의 문제점은 심볼릭 링크와 똑같다. 분명히 원하는 디렉토리에 볼륨이 마운트 되어있는데 클라이언트에서 보면 아예 보이질 않는다.
3. 가장 확실한 방법이다. Server admin을 실행시키고 AFP로 이동한다.
원하는 볼륨을 클릭하면 우측상단에 Share라는 작은 버튼이 있다. 그걸 클릭하면 하단에 세 가지 탭이 나오는데, Share Point를 누르고 Enable Automount에 체크, 그리고 Edit을 누른다. Custom mount path에 원하는 경로를 입력한다.
사실 터미널 열고 확인하면 그냥 똑같은 심볼릭 링크인데 이 경우는 afp, smb에서도 아주 잘 나온다.


RADIUS 
애플의 에어포트 베이스 스테이션 사용시, RADIUS 서비스 데몬을 키고 설정을 마치면 스노우 레퍼드 서버가 임의로 베이스 스테이션의 세팅과 비번을 바꿔버려서 공유기 사용이 불가능해진다. 이게 뭔지 확실히 아는 경우만 쓰자.


퀵타임 스트리밍 서버
퀵타임 서버 포트: 554, 퀵타임 관리자 메뉴 포트: 1220 (모두 웹으로 접속)
http://localhost:554/


메일서버
애플답지 않게 의외로 서버 어드민 패널에서 일부 설정이 불가능한 사항이 있다. 이는 터미널에서 수작업으로 해줘야하는데, 다행히 Squirrel Mail의 설정프로그램이 있다. 아래의 명령어를 터미널에서 실행한다.
sudo /usr/share/squirrelmail/configure
사용법은 Squirrel Mail 사이트의 매뉴얼을 참고한다.


Netboot
먼저 NFS를 활성화시켜야한다. 그런 뒤, Netboot 설정의 Settings - General 으로 가서, 이미지와  Userdata의 대상하드드라이브를 선택해준 뒤 저장을 한다. 그리하면 대상 하드드라이브의 루트폴더에  /Library/Netboot/NetBootSP0 이라는 폴더가 생성된다.
다음, dmg로 작성된 이미지나 혹은 DVD를 연결한 후(타겟모드 등) 서버유틸의 System Image Utility 실행, Netboot 이미지 만드는데에서 그대로 따라하면 되는데, 결정적으로 중요한 점은(이것 때문에 1시간 소비) 이미지가 생성되는 폴더의 이름은 NetBootSP0이 맞지만 위치를 잘 보면 엉뚱한 곳에 있다. 이것을 위의 세팅에서 잡아준 곳으로 변경한다.

블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,
Mac OS X Snow Leopard 10.6에서 빌드 완료했습니다.
Mac OS X Lion 10.7에서 빌드 완료했습니다.

맥에서 실행되는 젠투설치 매뉴얼이다.
사실 맥에서는 젠투 Prefix를 설치할 필요가 그다지 절실하진 않은데 그 이유는,

1. 맥은 솔라리스와는 다르게 어플리케이션이 엄청나게 많다. 게다가 무료 어플리케이션이 리눅스만큼 있다. 못믿으시겠다고? 그래서 맥은 써봐야 안다는 거다.
2. 수많은 어플리케이션 말고도 FreeBSD의 Ports 시스템까지 있어서, 맥 쓰면 어플부족으로 곤란한 경우는 없다.
사실 어플의 숫자를 따지자면 리눅스랑 막상막하라고 볼 수 있는데다, 프로그램의 질이나 수준을 따지면 맥의 어플이 질적인 면에서 더 뛰어나다고 할 수 있겠다 (본인 생각이다). 게다가 양적으로도 밀리지 않고.

그럼에도 불구하고 맥에서 젠투 prefix를 설치한 건 어디까지나 개인적인 관심에 의해서다.
또 다른 이유가 하나 더 있다면, MacPorts는 Mac OS X에 이미 설치되어있는 툴들을 아주 당연히 무시해버린다. 무슨 말인고하니, 맥이 유닉스 기반이라는 건 다들 아시는 사실이니까 하는 말이지만 맥은 기본적으로 Perl, Python 등의 기본적인 툴들이 포함되어있고, Xcode를 설치하면 gcc등 각종 프로그래밍 언어의 컴파일러들까지 딸려온다. 그런데, MacPorts는 이렇게 설치되어있는 툴들을 무시해버리고 처음부터 끝까지 전부 다 설치해버린다. 즉 다시 말해서 BitTorrent라는 어플리케이션을 설치하기 위해서 Python, ncurses부터 빌드하기 시작해서 수많은 라이브러리/툴들을 모두 설치하고나서야 비로소 어플리케이션이 설치된다는 말이다. 그런데 이것들이 좀 가벼운 것들이 아닐테니 이미 시스템에 있는데도 불구하고 시간을 낭비해가면서 다시 설치해야한다는 거다.
뭐 사실, 다시 다 설치한다는 점을 비롯해서 이 글에서 설명하려는 Gentoo on Mac OS X이랑 별반 다를 건 없지만, 앞서 말했듯 개인적인 관심에 의한 것이고, MacPort가 애플의 지원을 받고있다고는 하지만, 개인적으로 젠투의 프로젝트가 더 끌리기 때문이다. 
하지만 MacPorts가 가진 어플리케이션의 양이 어마어마한 수준이기 때문에 젠투 Prefix에 없는 패키지들은 Ports를 통해야하고 결국 둘 다 공존해야한다는 결론이 내려진다. 

어쨌든... 젠투 Prefix가 뭔지 모르시는 분들을 위해 설명을 하자면, 젠투의 포티지 시스템을 로컬 시스템의 OS에 설치해서 쓰는 방식의, 젠투 프로젝트의 하나이다. 설명이 좀 어려운데, 다시 말씀드리자면, 맥 OS X을 건드리지 않고 젠투의 emerge 명령어를 통해 어플리케이션을 빌드할 수 있는 젠투의 포티지 시스템을 설치하는 것이다. 이것이 MacPorts와의 다른 점이 하나 있는데, MacPorts 자체는 이미 컴파일되어있는 바이너리를 가져와서 그냥 설치하기만 하면 되지만 (물론 어플들은 컴파일을 통해서 설치한다), 젠투는 처음부터 끝까지 모두 컴파일이라는 점, 그리고 Ports는 root 권한이 필요하지만(/opt 밑에 설치된다) 젠투는 개인폴더에 설치되서 운용이 가능하다는 점이다.

설치는 단 한 번의 에러도 없이 완벽히 됐고 그 방법을 매뉴얼화 한다.
먼저 젠투 Prefix 폴더를 만들고 패스를 지정해준다.
$ mkdir gentoo
$ export EPREFIX="$HOME/gentoo"
$ export PATH="$EPREFIX/usr/bin:$EPREFIX/bin:$EPREFIX/tmp/usr/bin:$EPREFIX/tmp/bin:$PATH"

이제 아래의 링크를 클릭해서 Prefix 스크립트를 받고 gentoo 폴더로 옮겨서 755 권한을 준다.
$ chmod 755 ~/Downloads/bootstrap-prefix.sh
$ mv ~/Downloads/bootstrap-prefix.sh ~/gentoo
$ cd ~/gentoo

이제 신발끈을 묶자.
$ ./bootstrap-prefix.sh $EPREFIX tree
$ ./bootstrap-prefix.sh $EPREFIX/tmp make
$ ./bootstrap-prefix.sh $EPREFIX/tmp wget
$ ./bootstrap-prefix.sh $EPREFIX/tmp sed
$ ./bootstrap-prefix.sh $EPREFIX/tmp python
$ ./bootstrap-prefix.sh $EPREFIX/tmp coreutils6
   (컴파일 실패하면 coreutils로 해본다)
$ ./bootstrap-prefix.sh $EPREFIX/tmp findutils
$ ./bootstrap-prefix.sh $EPREFIX/tmp tar15
$ ./bootstrap-prefix.sh $EPREFIX/tmp patch9
$ ./bootstrap-prefix.sh $EPREFIX/tmp grep
$ ./bootstrap-prefix.sh $EPREFIX/tmp gawk
$ ./bootstrap-prefix.sh $EPREFIX/tmp bash
$ ./bootstrap-prefix.sh $EPREFIX portage

rehash 해준다.
$ hash -r

이제부터 필수툴들을 빌드한다.
$ emerge --oneshot -q sed (개인적으로 emerge에서는 -q 옵션을 권장한다. -q는 컴파일 메시지를 보여주지 않는다.)
$ emerge --oneshot -q --nodeps bash
$ emerge --oneshot -q pax-utils
$ emerge --oneshot -q --nodeps xz-utils
$ emerge --oneshot -q --nodeps "<wget-1.13.4-r1" 
(에러날 시  
emerge --oneshot -q --nodeps wget)
$ emerge --oneshot -q --nodeps baselayout-prefix m4 flex bison binutils-config

gcc -v를 해서 gcc의 버전을 확인한다. 만약 4.0.1이면, 
$ emerge --oneshot -q --nodeps "=binutils-apple-3.2"

를 실행하고, 그 4.2.1 버전이면
$ emerge --oneshot -q --nodeps "=binutils-apple"

를 실행한다. Lion이면 후자일 확률이 매우 높다. 
 
$ emerge --oneshot -q --nodeps gcc-config gcc-apple (gcc 컴파일이라 시간이 좀 걸린다)

여기서부터는 방금 전 새롭게 컴파일한 gcc로 기본 툴들을 다시 컴파일하는 과정이다.
$ emerge --oneshot -q coreutils findutils tar grep patch gawk make
$ emerge --oneshot -q --nodeps file eselect

이제 부트스트랩된 포티지가 덮어씌여질 수 있도록 임시로 세팅을 바꿔서 포티지를 emerge한다.
$ env FEATURES="-collision-protect" emerge --oneshot -q portage

이제 임시파일을 지우고 rehash한다.
$ rm -Rf $EPREFIX/tmp/*
$ hash -r

포티지 트리를 업데이트 하자.
$ emerge -q --sync

Prefix 설치를 마무리할 수 있게끔 시스템을 빌드하자.
$ env USE=-git emerge -uq system

이제 대망의 마지막 작업이다. 여기서는 USE, CFLAGS를 지정해서 컴파일을 할 수 있다.
인텔 아이맥 코어2듀오 유저나 15인치 i5 맥북프로 유저라면 필자의 CFLAGS를 추천한다. 맥 좋은 게 뭔가. 동일한 플랫폼 아닌가. 아마 똑같이 작동할 거라고 믿는다. 필자의 CFLAGS는 젠투를 10번을 넘게 컴파일해가면서 얻어낸,  적어도 맥에서만큼은 안정적으로 작동하는 것들이다.
참고로, 아이맥 20", 24", 맥미니서버, 맥북프로 15" i5, i7에서 모두 빌드완료했다.

$ vi $EPREFIX/etc/make.conf

빈 파일이다. 내용을 입력해넣자.
CFLAGS="-mtune=core2 -march=core2 -mssse3 -msse3 -O3 -pipe -fomit-frame-pointer -funroll-loops"
CXXFLAGS="${CFLAGS}"
ACCEPT_KEYWORDS="amd64"
MAKE_OPTS="-j3"
LINGUAS="en ko"
USE="unicode nls"

위의 MAKE_OPTS에서는 자신이 쓰는 PC의 CPU 코어에 1을 더하면 된다.
Core i7이라면 코어가 4개일테니 5를 적어주면 되겠다.

혹시나 싶어 링크를 드린다. 안전한 CPU별 CFLAGS이다. http://en.gentoo-wiki.com/wiki/Safe_Cflags/Intel
이제 마지막 작업이다. 새로운 CFLAGS와 이것들을 빌드하기 위해서 그동안 만들어온 툴로서 다시 시스템 전체를 컴파일할 차례이다. 역시 -q 옵션 권장한다.
$ emerge -eq system

아무런 에러없이 빌드가 완료될 것이고, 코어2듀오 2.4GHz 기준으로 약 2시간이면 모두 끝난다.
(i5 이상의 경우 1시간 30분이내에 끝난다. 그나마도  gcc 컴파일에서 40분 잡아먹는다.)
아래의 내용을 실행해주자.
$ cd $EPREFIX/usr/portage/scripts
$ ./bootstrap-prefix.sh $EPREFIX startscript

이제 $HOME/gentoo 폴더에 보면 startprefix라는 실행파일이 하나 보일 거다. gentoo 폴더를 어디에 옮기든 이 startprefix만 실행해주면 언제든 emerge를 사용할 수 있다. 참고로 startprefix를 하고나면 /sbin, /usr/sbin의 패스가 걸려있지 않은데, startprefix 파일을 열어서 보면 root 유저인지 아닌지에 따라 패스를 거느냐 안거느냐 판단을 하는 부분이 있기 때문이다. 그런데 사실 root가 아니더라도 sbin 쓸 일은 수도없이 많기 때문에(ifconfig, ping, traceroute 등등) 이 부분에 대한 패스를 걸어준다.

$ vi $HOME/gentoo/etc/profile
if [ "$EUID" = "0" ] || [ "$USER" = "root" ] ; then 부분을 찾는다. 대략 24라인에 있다.
보시면 PATH= 라고 해서 잘 살펴보시면 /usr/sbin, /sbin 모두 패스가 걸려있다. 이 부분이 root에 대한 부분이고 그 아래 else 라고 적혀있고 PATH 라인이 있는데 여기 보시면 /sbin, /usr/sbin이 없다. 그래서 이 부분에 패스를 걸어주면 이제 일반 유저들도 startprefix 이후에 /sbin, /usr/sbin 바이너리를 이용할 수 있다.
패스추가는  이렇게 한다.

/sbin:/usr/sbin

디렉터리와 디렉터리 사이에는 콜론 : 으로 구분을 지어줘야한다. 필자의 설정을 예제로 들어본다.
/Users/jswlinux/Gentoo/usr/bin:/Users/jswlinux/Gentoo/bin:${PATH}:/usr/bin:/bin:/usr/sbin:/sbin"

이상이다. Enjoy your Prefix!
블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,
리눅스를 접한지도 벌써 14년이라는 세월이 흘렀다. 내 블로그에 누차 설명했지만 슬랙웨어 2.2를 처음으로 리눅스를 접했는데 어떻게 보면 운명이라고 할 수 있을 정도로 내 PC에 설치가 잘됐었다. 그때당시는 설치조차도 어려울 정도였고 심지어는 하드웨어 때문에 X-Windows를 못띄우는 사람이 한 둘이 아니었다. 다시 말하면, X-Windows까지 띄워서 쓰는 사람이 별로 없었단 거다. 그런데 내 PC는 운좋게 아무런 삽질도 하지 않고 모든 것이 일사천리로 진행됐었다. 그때 처음으로 용산에서 나한테 컴퓨터를 팔아준 아저씨가 고마웠다 (95년도쯤이었는데, 무려 220만원이나 주고 샀다).

다들 그렇겠지만, 나도 역시 처음에 리눅스를 설치하고는 명령어 몇 개 쳐보다 "내가 이걸로 뭘 할 수 있을까"하는 생각에 바로 지워버리곤 했다. 그걸 몇 번이나 되풀이했다. 그도 그럴 것이 사실 나는 프로그래밍을 할 줄 몰랐고 그 쪽에는 관심도 없었기 때문이다. 게다가 그 때 당시의 리눅스는 X-Windows 띄워도 할 게 없었다. 그야말로 텅빈 화면에 터미널 하나 띄워져있는 정도의 수준이었던 거다. 그러다가 우연히 천리안 리눅스 동호회에 가입을 했고, 질문/답변 게시판에서 내가 설치하면서 겪었던 경험을 토대로 답변을 몇 번 해주다보니 꽤 유명한 사람이 되어있었던 거다 (나만의 착각일까). 그래서 천리안 리눅스 동호회에서 한 2-3년간 운영진을 했고 어린 나이임에도 그때 당시 많은 분들이 리눅스를 거의 모르던 시절에 공개세미나도 참여했었다. 그때당시 쓰였던 교재의 서두를 집필했는데, 이게 아직도 KLDP에 보관되어있다 (http://wiki.kldp.org/KoreanDoc/Begin-KLDP). 그때는 "선이"라는 닉네임을 썼는데 이게 나중에 "서니"라는 닉네임으로 바뀐 거다. 그런데 그때 교재를 편집하던 분이 내 실명이 진짜 "선이"인줄 알고 그렇게 넣어버렸다. ㅎㅎㅎ

매번 리눅스 관련 블로그를 포스팅할 때마다 이놈의 과거얘기는 맨날 하는 것 같다.
리눅스 동호회 활동을 하면서부터 M$타도 리눅스 찬양을 외치는 맹신도, 요즘말로 리눅스 빠돌이가 되었다. 무조건 윈도그(Windog)는 나쁜 운영체제고 리눅스만이 우리의 구세주며 이 시대를 바로잡을 수 있는 운영체제라고 굳게 믿어가며 리눅스에 매진했었다. 마치 마르크스 주의에서 말하는 선동세력에서 열정만 있고 지식은 없는, 가장 무모하고 선동 초기에 가장 유용한 계급으로 분류되는 그런 회원 중 하나였다고 생각된다. 그때 쌓은 리눅스 내공이 지금까지 이어져오는 걸 보면, 그때 참 많이 하긴 많이 했었다.

군대를 갔다왔고 제대하고 나니까 리눅스의 붐이 일고있었던 시기였다. 지금은 없어진 한컴리눅스 사에서 나온 리눅스를 필두로 수많은 국내 배포판들이 국내 리눅스 시장에서 선전하고 있었고, 내가 천리안 리눅스 동호회에서 활동할 시절 그러니까 대한민국 리눅스 1세대들은 이미 쟁쟁한 기업 혹은 직접 서버 시장에 뛰어들어 사업을 하고있었던 거다. 성공한 분들도 몇 있고, 연락이 안되는 분들도 몇 있다. 연락이 안되는 분들은 좋은데 취직해서 일하느라 바쁜 걸로 생각하고 있다.
암튼, 그때까지도 리눅스가 최고였고 사실상 나의 리눅스 내공은 군 제대 후부터 새마을금고 입사 전까지 쌓은 것이 최고로 많고 가장 값진 때였다. 그때 젠투, LFS 등등 고난도의 배포판들을 두루 섭렵했고 내가 꼬셔서 젠투를 쓰게 한 Badung이라는 닉네임을 쓰는 유저는 내 덕분에 젠투를 쓰게됐다고 얘기한다.

하루는 절친한 친구한테 리눅스를 권했다. 그 친구 성격이라면 M$에 노예가 된 우리의 처지를 깨닫고 자유를 위해 OS를 스스로 고쳐나가는 매트릭스의 네오와 같은 친구일거라 생각했기 때문이었다. 그런데 결론은 정 반대였다.
그때당시 잘나가던 한컴리눅스 3.0인가를 설치해줬는데 하는 말이, "이게 뭐야. 화면도 안예쁘고, 그래픽도 별로고, MSN 메신저도 잘 안되잖아" 였다. 그래서 그 친구는 리눅스 화면을 본지 2분만에 지워버렸다. 그러면서 리눅스가 결코 M$를 따라잡는 일은 없을 것 같다라는 얘길 했다. 그에 발끈한 나는, 그래. 10년만 두고보자. 하고 말했지만, 그 친구는 10년이 지나도 여전할 것 같다고 얘길 했다. 그리고 여전하다.

새마을금고에 취직한 이후 젠투를 유지보수하는데에 들일 시간이 거의 없었던 나는, 리눅스를 접한 이래 처음으로 내 컴퓨터에서 리눅스를 지워버렸다. 그리고 3년 여의 직장생활을 했다. 그 와중에서도 나는 오픈소스를 쓰고자 내가 일하는 지점의 직원들 PC에 오픈오피스를 정식으로 도입하고자 새마을금고 연합회 전산정보부와 접촉을 했다. 허가를 받았고 우리 지점만 쓰게됐다. 그리고 유학을 왔다.

미국에 와서 꽤 많은 수의 Macintosh를 봤다. 많이 쓴다. 태어나서 맥이라는 물건은 처음 봤다. 관심도 없었거니와 응용프로그램이 얼마 없는 리눅스와 같은 소수만이 쓰는 OS라고 생각했다. 알아봤더니 Unix 기반이란다. 그게 너무나도 갖고싶었다. 이젠 사고싶어서 돌아가실 지경이 됐다. 그래서 20인치짜리 아이맥으로 한 대 구입을 했다. 써보고 대략 1주일만에 이런 평가를 내렸다.

"내가 리눅스를 쓰면서 간절히 원했던 모든 것이 구현되어있는 운영체제다."

유닉스 기반, 아름다운 화면, 누구나 사용하기 쉬운 인터페이스, 윈도우만큼은 아니지만 꽤 많은 양의 정식출시된 게임들. 리눅스는 점점 잊어갔다. 맥이 Unix 기반이기 때문에 아파치, MySQL 등등 리눅스에서 운영할 수 있는 서버 모두 운영이 가능했고 심지어는 GNU 툴과 gcc 등의 개발환경까지 모두 갖췄기 때문에 일단 터미널을 열면 리눅스를 쓰는 것과 거의 같은 느낌을 줬다. 게다가 BSD Port까지 있어서 굳이 수고스럽게 컴파일 방법을 찾지 않아도 됐었다. 더군다나 수많은 양의 무료 소프트웨어들이 널리고 널렸다 (대부분의 비-Mac유저들은 모르는 사실이다).

맥은 정말 최고였다. 지금껏 리눅스 밖에 모르던 리눅스와 함께한 내 인생에서 리눅스는 잊고 오로지 맥만이 진리가 됐다. 앞으로 구입하는 모든 PC는 맥만 구입하노라 하고 결심했을 정도였다. 다만 와이프가 맥을 싫어해서 (즐겨보는 TV 웹사이트가 맥에서는 잘 안나온다) 소니 바이오 한 대를 구입했지만 이 노트북마저도 해킨토시를 깔아볼려고 별짓을 다했다. 결국은 포기하고 해킨토시의 최강자라고 불리우는 델미니9을 사서 해킨을 깔아쓰고있다.

한 가지 웃기는 건, 내가 맥을 쓰는 와중에 한국 우분투 포럼에서 많은 활동을 하게됐다는 점이다. 구형 노트북이 한 대 생겼는데, 여기에 뭘 설치할까 하고 알아보다가 우분투를 쓰게됐고 IRC에서 채팅하는 걸 즐기는 나로서는 IRC에 매일 채팅을 함으로서 사람들과 친해지게 됐다. 그러면서 우분투 포럼에서 조금 활동을 하게됐는데, 우분투 포럼에서 맥 얘기만 해댔다. 어쨌든, 활동을 조금 하게됨으로써 IRC 우분투 채널 방장이 됐고 몇몇 소소한 활동을 하고있다.

이쯤에서 솔라리스가 등장한다. Mac과 역시 마찬가지로 이전에는 본적도 없고 관심도 없었다. 단순히 상용유닉스라는 것만 알았고, 리눅스와 달라서 쓰기 불편하다는 정도의 인식이 있었다. 그런데 어느날 문득 오픈솔라리스 2009.06 버전을 설치해서 쓰게됐는데, 이게 너무나도 환상적인 운영체제인 거다. 맥을 접했을 때는 워낙 들뜬 마음에 사전조사를 엄청나게 많이 했고 맥을 구입하기도 전부터 모든 기능을 다 알아버린 상태여서 감동이 크진 않았는데, 전혀 기대없이 그냥 한 번 깔아본 솔라리스는 지금 내 인생을 바꾸는 중이다.

나는 금융업에 종사한 사람이어서 사실 컴퓨터에 대해서는 잘 모른다는 말을 내세운다. 그도 그럴 것이 내가 프로그래밍을 배운 것도 아니요, 전산학을 전공한 것도 아니기 때문에 뭔가를 깊이있게 아는 것이 없었고 아무 것도 모르면서 마구 떠들어대기가 뭐하기 때문에 IT에 대해서 얘기할 때는 무척이나 조심스럽다. 이런 내가 대체 솔라리스에 대해서 뭘 알기에 환상적이라고 할까.

내가 솔라리스에 반한 건 딱 두 가지다. zfs, zone. DTrace는 아직 못써봤다. 이건 공부를 좀 해봐야할 것 같다.
zfs. 아마도 전세계 OS만드는 회사/사람들이 가장 군침흘리는 FileSystem이 아닐까 싶다. 최고다. 정말 궁극의 FS이고, 앞으로도 zfs 이상의 개념을 갖는 FS가 나올까 싶다. 그래봐야 내가 해본 건 zfs의 기능 중 극히 일부인 스냅샷, 롤백 정도만 해봤지만 불과 그것만으로도 이거 정말 환상적이라는 생각이 들게 만들 정도다. 애플이 zfs를 맥OSX에 도입하려고 하다 중간에 없어졌는데 (법적인 이유 때문에) 정말 한탄스러운 일일 정도다. zfs, 최고다.

zone. 정말 유용하고 강력하다. 다른 상용 유닉스에도 비슷한 기술이 있는데 사실 상용유닉스는 접하기가 어려우니까 결국 가상화기술은 솔라리스의 zone을 처음 만져본 거다. Zone은 커널 수준에서 가상화기능을 제공하는데, 요즘 가상서버로 호스팅을 하는 게 유행인 추세다. 이것에 대한 설명은 웹서핑을 통해 알아보시고, 현재 나는 집에서 운영 중인 서버를 오픈솔라리스로 설치하고 webserver라는 가상zone을 만들어서 서버로 운영하고 있다. 그래서 이 가상zone이 해킹/크래킹 혹은 오류로 인해 망가지더라도 내 솔라리스 서버 자체는 아무 이상이 없는 거다.

제목에 써있는, 말할 수 없는 비밀을 말하기 위해 여지껏 설명해왔다.
지인에게 얻은 AMD Athlon 64 데탑에 오픈솔라리스를 설치해서 쓰다보니 회사에서 내가 쓰는 컴퓨터에 설치된 우분투 9.10과 자꾸만 비교되는 거다. 물론 데스크탑의 멀티미디어 측면에서 봤을 땐 리눅스를 따라갈 유닉스는 맥OSX을 제외하고 없다는 건 진리다. 그런데 회사에서 업무적으로 사용하는 PC에서 문서작성&웹서핑 정도의 OS로는 오픈솔라리스도 크게 문제가 없단 사실이다.

그런데 자꾸만 비교가 되는 부분은, 우분투 데탑을 쓰면서 안정된 느낌을 받지 못한다는 점이다. 뭐랄까... 어떤 어플을 하나 실행하면 조금 쓰다가 죽는 일이 생긴다거나, 어떤 어플이 제대로 작동하지 않는다거나... 다시 말해 리눅스에 대해 신뢰가 가지 않는 증상이 내 마음 속에 나타나기 시작한 거다. 이 증상은 우분투 10.04 LTS가 나오면서 더 심해졌다. 큰 기대를 가지는 Long-Term Support 버전인 10.04는 문제가 좀 있었다. 자세한 설명은 하지않겠다. 해결할 수 있는 문제였지만 결국 이것으로 인해 안정적이지 못하고 결국 리눅스라는 OS에 대한 신뢰가 점차 흔들리기 시작했다. 우분투 10.04의 문제점과는 상관없이, 하루는 내가 실수로 1주일간 엄청난 시간을 투자해서 만든 게 있었다. 모르고 지워버렸는데 이때 zfs만큼 간절한 게 없었다. 내 잘못이지만 나는 이 우분투를 갈아엎고 오픈솔라리스를 데스크탑으로 써야겠다는 생각을 했다. 행동까지 실천에 옮겼는데, 그 PC는 오픈솔라리스가 설치되지 않아서 (커널에서 진행이 더 이상 안된다) 어쩔 수 없이 우분투를 쓰고있따. 

물론 내가 이런 소리하는 게 웃기는 건 안다. 전세계 수많은 서버가 리눅스로 돌아가는데... 리눅스 자체를 신뢰할 수 없다는 게 아니다. 오픈솔라리스를 써오면서 최고의 유닉스 OS라고 생각했던 리눅스에 대한 생각이 오픈솔라리스로 옮겨가고 있는 거라고 생각한다.

이제는 서버를 운영한다면 솔라리스로 할 거다. 이미 집에서 그렇게 하고있고, 일하는 가게에서도 우분투 9.10 뒤엎고 오픈솔라리스 설치했다. 모든 것이 정상적으로 돌아가고 있으며, 12시간마다 한 번씩 zfs 스냅샷을 찍고, 웹서버와 ssh 서버는 가상 zone을 만들어서 운영하고 있다. 아... 모든 것이 perfect하다.

이제는 리눅스 유저들에게 리눅스를 추천하고싶지 않다. 이게 내가 말할 수 없는 비밀이다. 아이러니컬하게도 나는 한국 우분투 포럼의 발전을 위해 도와주고 있지만, 데스크탑이 아니라면 우분투를 추천하고싶지 않다. 오히려 오픈솔라리스를 쓰라고 추천하고싶다. 그런데 내가 이토록 빠져든 오픈솔라리스가 3개월 이내에 망할 것인지 아닐 것인지 운명의 기로에 서있다. 솔직히 말해서 개인적으로 너무나도 슬프다. 뒤늦게 이렇게 뛰어난 유닉스를 알게됐고 이제 자격증까지 공부하고 싶을 정도로 반해버렸는데...

맺음말을 어떻게 써야할지 모르겠다.
맥, 사랑한다. 솔라리스, 정말 반해버렸다. 리눅스, 미안하다...
블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,
2007년 11월에 맥을 샀으니 이제 며칠만 있으면 5개월째다.
반년쯤 되면 맥유저라고 할 수 있을까나?

아이맥을 구입하고 한 달 정도 지나니깐, 내가 가진 모든 컴퓨터를 모두 맥으로 쓰고싶었다.
마눌님한테 겨우 허락받아 구입한 아이맥인데, 마눌님이 설마 맥북까지 사주실리는 없고,
대신 해킨토시나 설치해서 쓰자는 생각에 해킨토시를 어둠의 경로로 다운받았다.

사용자 삽입 이미지


도시바 Satellite A60
CPU : P4 Cel 3.0
RAM : 512
HDD : 80GB
Graphic : ATi Radeon 7000

사용자 삽입 이미지

사실, 해킨토시를 깔고싶었던 건 아주 오래됐었다. 작년 이맘때쯤? 근데 내 랩탑에는 안된다는 웹서핑
결과에 그냥 포기하고 지냈었다가 요번에 다시 웹서핑을 해보니 가능하단다. VMware로써.
그래서 Jas 10.4.6을 다운받아서 vmware로 설치했다. 한 6시간 걸린 것 같다.
설치는 이상없이 잘 됐다. 맥의 화려한 익스포제, Dock의 아이콘 확대, 대쉬보드 모두 잘 됐다.
그것두 ATi Radeon 7000으로 말이다.

사용자 삽입 이미지

다만 사양이 사양이다보니 뭘 하나만 실행시켜도 CPU 리소스를 많이 잡아먹었고 계속 쓰다보면 내부
시스템의 CPU 점유율이 계속 높아져서 결국은 재부팅을 해야했다.
게다가 사운드도 안잡혔고 무선랜도 안잡혔다.
물론 이 부분에 대해서는 웹서핑으로 해결을 했다. 찾아보니깐 드라이버가 모두 있더라.
어쨌든 설치는 했으나 너무 느려서 제대로 활용하는 것은 불가능하다는 결론을 내렸다.

사람이란 동물이 참 간사한 게, 내가 맥을 구입한 이후로는, 해킨토시 사용자가 괜히 싫어졌다.
내가 맥이 없을 때는 나도 해킨토시를 깔았다가, 맥을 사고도 맥을 쓰고싶어서 해킨토시를 설치한 내가,
그냥 해킨토시만 쓰는 사람들이 괜히 싫어졌다.
나는 비싼 돈 주고 맥 사서 맥 사용자만의 전유물이라고 할 수 있는 즐거운 맥라이프를 즐기고 있는데,
맥을 구입하지도 않은 싸구려일수도 있고 아닐 수도 있는 IBM PC에다 맥을 설치해서 쓰는 모습이
눈에 거슬렸다. 물론 게시판에는 이게 안되서 도와달라, 저게 안되서 도와달라는 글이 엄청났고, 그걸
보면서 그래. 맥을 쓰려면 맥을 사야지~! 라고 생각했다.
그런데 한편으로는, 이렇게나마 맥유저가 많아지면 이 사람들이 컴을 살 때쯤 되서 분명 맥을 구입하지 않을까
라는 리눅서 시절 때 생각했던 식의 생각이 떠오르는 것이 아닌가...
그래. 맥 사용자가 많아지는 건 좋은 현상이다. 그래야 맥도 발전을 할테니.

우리나라 맥 유저가 많아지면 맥이 발전할 거라는 어줍잖은 생각이, 여기 미국에서는 어림잡아도 맥 유저가 40%
이상은 되어보이니 한국이 꼭 뭐라도 된 것 마냥 생각할 수도 있지만, 맥 유저의 증가는 한국의 인터넷 환경과도
밀접한 관련이 있다는 생각에 역시나 맥 유저가 많아지면 좋긴 좋을 거다.
(내가 써놓고도 무슨 말인지 모르겠다)

어쨌든, 해킨토시 유저들은 컴퓨터를 구입해야할 때가 오면 반드시 맥을 살 거다.
진정한 맥 라이프는, 진짜 매킨토시를 사야 즐길 수 있다고 본다. 해킨토시로는 반쪽 라이프~~~
블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,
나는 아래 맥빠 글에 적힌대로 미국 하와이에 산다.
사실, 여기 오기 전에 다니던 한국 어학원의 모 강사는 하와이는 미국이 아니라고 했다. 농담으로.
그래. 사실 하와이를 와보면 미국 같다는 생각은 안든다. 오히려 일본에 온 것 같다.

사용자 삽입 이미지

하와이에 오면 세계에서 2번째인가 가장 크다는 Shopping Mall이 있다. Ala Moana Shopping Center.
알라모아나 샤핑쎄너라고 발음한다. 알라모아나는 하와이어이기도 하고 이 동네 길다란 길 이름 중 하나이기도
하다.
이 샤핑몰 2층에 애플 스토어가 있다. 생긴지는 얼마 안됐고, 소문에 의하면 이 곳은 장사는 잘 안된다고 한다.
하지만 구경하는 사람들로 인해 광고효과를 톡톡히 하고 있다. 얼마나 사람들이 많은지, 관광 온 사람들조차도
알라모아나 구경오면서 여기를 들를 정도다. 가이드가 관광객을 데리고 오는 모습을 몇 번 봤으니...

물론 한국에도 이러한 애플 스토어가 있을 거다. 광고효과가 얼마나 될런지는 모르겠지만, 여기서 사는 나조차도
시간만 되면 여길 놀러올 정도니, 애플의 사람을 끌어당기는 힘은 대단한 것일까?
아니면 막연히 애플이라는 희소성 때문에 사람들이 몰리는 걸까?

아무튼 최근 들어 애플의 영향력이 엄청 커지고 있는 것만은 사실이다...
블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,