XenServer 6.2가 오픈소스로 공개되면서, 무료로 사용할 수 있게 되었지만, 중요한 기능 중에 하나인 업데이트 기능이 빠졌다. 물론 라이센스를 구매해서 업데이트 도구를 사용하는 것이 가장 좋겠지만, 무료로 사용하더라도 패치는 Citrix에서 제공하고 있다.

이것을 받아서 수동으로 패치하는 방법을 소개한다.

1. 패치 확인

패치가 나온 것을 확인해야하는데, 이것은 XenCenter를 사용하면, 알림으로 새로운 패치가 나왔음을 알려주기 때문에 쉽게 알 수 있다. 이 알림 메시지에서 중요한 것은 패치 번호이다. (예: XS62E001) 이 번호를 Citrix의 고객지원 페이지(http://support.citrix.com/)에서 검색하면, 패치 안내 페이지를 찾을 수 있다.

예를 들면, XS62E001을 사이트 검색폼에 넣고 검색하면 "Hotfix XS62E001 - For XenServer 6.2.0" 이란 제목의 글이 검색 결과로 나오고, 다운로드 링크를 통해서 패치를 다운로드 받을 수 있다.

2. 패치 적용

패치를 다운로드하는 페이지에 설치 방법에 대한 안내가 나와있기 때문에 그대로 따라하면 된다. 적용할때에는 XenCenter에 포함되어있는 xe.exe 프로그램을 사용한다.


참고


'Operating' 카테고리의 다른 글

Ubuntu에 Solr 최신버전 설치  (1) 2013.11.27
은전한닢 프로젝트 설치  (0) 2013.03.15
Windows 업데이트 문제 - 오류 80070003, 0x80240022  (1) 2013.02.26
  1. 기술을 개발해서 시장에 내놓습니다. 그리고 그 기술이 사람들의 삶에 들어맞는지를 알아봅니다. 기술이 사람들의 요구에 맞지 않더라도 그냥 밀어붙여서 강매해 버립니다. 쉽게 말하자면 사람들이 필요로 하는 것과 같이 묶어서 판매함으로써 사람들이 어쩔 수 없이 구매할 수밖에 없게 만들라는 것입니다. 개인적으로 이 방법은 정말 혐오스럽다고 생각합니다. 비록 우리 업계에 종사하는 대다수 업체가 이 방법을 사용하긴 하지만 말이죠.
  2. 기술을 개발해서 사람들에게 던져놓고 어떤 것이 인기가 있는지 알아봅니다. 그리고 이 기술을 사용하는 사람을 계속 주시하면서 그들을 이해하려 노력하는 겁니다. 그들이 하는 일을 이해하고 왜 그리고 어떻게 이 기술이 그들의 삶에 맞아 들어가는지를 이해하세요. 그리고 이 기술을 좋아하는 사람들의 필요와 요구사항에 더 잘 들어맞게 기술을 발전시키는 겁니다.
  3. 일단의 사람들과 그들의 요구사항을 이해한 다음, 이 사람들의 일상에 자연스럽게 녹아들 수 있는 기술을 개발합니다. 즉 사람들이 어디서든지 사용할 수 있는 기술을 만드는 거죠.

from "조엘이 엄선한 소프트웨어 블로그 29선" 중 "6. 환상 속에 고립된 소셜 소프트웨어" 중에서

조엘 온 소프트웨어를 출간한 조엘 스폴스키가 자신의 블로그 말고, 다른사람들이 쓴 유용한 블로그 글들을 엮어서 낸 책이다. 몇몇 건은 공개 문서가 아니기도 하고, 현재는 찾을 수 없는 링크도 있지만, 대부분 온라인으로 아직까지 조회가 가능했다. 재미있는 글도 있고, 아직 유용한 글도 있어서 읽어볼만 했다.

책에 수록된 글은 아래와 같다.

  1. 스타일은 언어 요소다(Style is Substance) - 켄 아놀드
  2. 멍청한 사용자 인터페이스 부문 최우수상, 윈도우 검색(Award for the Silliest User Interface: Windows Search) - 레온 뱀브릭
  3. 프로그래머 아웃소싱의 단점(The Pitfalls of Outsourcing Programmers) - 마이클 빈
  4. 엑셀은 데이터베이스가 아니라구요! - 로리 블라이스
  5. ICSOC04 강연 한 토막 - 애덤 보스워드
  6. 환상 속에 고립된 소셜 소프트웨어(Autistic Social Software) - 다나 보이드
  7. 비정상적으로 행동하는 애플리케이션을 막지 않는 이유는?(Why not just block the apps that rely on undocumented behavior?) - 레이먼드 첸
  8. 환상적인 사용자 인터페이스(Kicking the Llama) - 케빈 쳉, 톰 치
  9. 캐나다 인터넷을 WIPO의 손아귀에서 구출하라(Save Canada's Internet from WIPO) - 코리 닥터로우
  10. EA: 휴먼 스토리 - ea_spouse
  11. 타입검사와 테스트 - 브루스 에켈
  12. 프로세싱(Processing Processing) - 폴 포드
  13. 위대한 해커(Great Hackers) - 폴 그레이엄
  14. 도스창을 날려 버린 주소창(The Location Field Is the New Command Line) - 존 그루버
  15. 스타벅스에서 2단계 커밋을 사용하지 않는 이유(Starbucks Does Not Use Two-Phase Commit) - 그레고르 호페
  16. 열정(Passion) - 론 제프리즈
  17. C++, 잊혀진 트로이의 목마(C++ - The Forgotten Trojan Horse) - 에릭 존슨
  18. 전구 하나 바꾸는 데 마이크로소프트 직원 몇 명이 필요할까?(How many Microsoft employees does it take to change a lightbulb?) - 에릭 립퍼드
  19. 엉망진창 꼬여버린 상황 돌파하기(What To Do When You're Screwed) - 마이클 "랜즈" 롭
  20. 래리의 소프트웨어공학 법칙 제2조: 테스터를 단순한 잣대로 평가하지 마십시오(Larry's rules of software engineering #2: Measuring testers by test metrics doesn't) - 래리 오스터만
  21. 팀 보상 제도 - 메리 포펜딕
  22. 맥 워드 6.0(Mac Word 6.0) - 릭 샤트
  23. 소셜 소프트웨어, 내부의 적을 경계하라! - 클레이 셔키
  24. 사용자로서의 집단 분석: 플레이밍을 방지하는 소셜 소프트웨어 설계(Group as User: Flaming and the Design of Social Software) - 애런 스워츠
  25. 간격 좁히기, 제1부(Closing the Gap, Part 1) - 에릭 싱크
  26. 간격 좁히기, 제2부(Closing the Gap, Part 2) - 에릭 싱크
  27. 직원 채용에 대한 제언(Hazards of Hiring) - 에릭 싱크
  28. 파워포인트 재구성(PowerPoint Remix) - 애런 스워츠
  29. (여우 캐릭터와 함께하는) 빠르고 쉬운 루비 강좌(A Quick (and Hopefully Painless) Ride Through Ruby (with Cartoon Foxes)) - 억세게 운 좋은 녀석



소프트웨어 블로그 베스트 29선

저자
조엘 스폴스키 지음
출판사
에이콘출판 | 2006-02-01 출간
카테고리
컴퓨터/IT
책소개
『조엘 온 소프트웨어-유쾌한 오프라인 블로그』의 저자 조엘 스폴...
가격비교 글쓴이 평점  


유명 블로거인 조엘 스폴스키의 블로그의 글을 엮어서 만들었던 책의 후속편이다. 전작처럼 블로그에 공개되어있는 글이라서 블로그에서 읽어도 되겠지만, 아무래도 책이 한국어로 잘 번역되어있기 때문에 책을 보는게 더 편한 것 같다.

36개의 글을 9개의 주제로 나누어 실어놓았는데, 인력관리부터 프로그래밍, 디자인, 프로젝트 관리, 사업에 관한 이야기까지 다루고 있다.

기억에 남는 것 몇가지를 적어보면,

인력/프로젝트 관리 :

  • 개발자를 다루는데 있어서 명령/통제 방법이나 금전적 보상은 별 도움이 되지 않으며, 결속력을 강화하여 일체감을 느끼게 하는 것이 동기 부여에 효과적이다.
  • 구현 문제는 해당 분야의 전문가/담당자가 결정하게 하는 것이 좋다.

고객 서비스 :

  • 모든 문제를 두가지(닥친문제 해결, 원인 분석 해결)로 해결하라.
  • 고객에게 먼지를 불어버리라는 식의 지시를 해보라
  • 고객을 팬으로 만들어라
  • 비난을 받아들여라
  • 불편한 문구를 기억하라
  • 꼭두각시 놀이를 연습하라
  • 욕심을 내지마라(포그크릭의 환불 정책 관련)

이 외에 큰 소프트웨어 회사(예를 들면 MS)에서 큰 프로젝트(예를 들면 Windows)를 진행하는 것이 왜 그렇게 어려운지에 대한 설명이나 포그버그즈에 포함되어있다는 일정 계획 기법인 Evidence-based Scheduling 소개, SNS와 같은 인터넷 커뮤니티 관리에 대한 색다른 생각도 흥미로웠다.

글이 작성된지 오래되었고, 한국어판이 출간된지도 시간이 꽤 흘렀지만, 아직 볼만한 책인 것 같다.



MORE JOEL ON SOFTWARE(조엘 온 소프트웨어를 넘어서)

저자
조엘 스폴스키 지음
출판사
지앤선 | 2009-10-23 출간
카테고리
컴퓨터/IT
책소개
소프트웨어를 창조하는 방법에 대한 특별한 생각을 엿보다!세계적인...
가격비교 글쓴이 평점  


'Etc' 카테고리의 다른 글

조엘이 엄선한 소프트웨어 블로그 베스트 29선  (0) 2013.06.16
루씬 한글분석기 기술 세미나 소식  (0) 2013.03.20
PHP Fest 2009  (0) 2009.09.24

"평생 개발자로 먹고 살 수 있다"는 부제를 가진 이 책은 정말 제목대로 유지보수하기 어렵게 코드를 작성하는 방법이 나와있다. 그렇다고 부제처럼 자기만 알아볼 수 있는 코드를 작성해서 평생 짤리지 않도록 하는 방법을 다뤘다기 보다는, 나쁜 예를 보여서 이렇게는 하지 말자고 반성하게 하는 거울과 같은 역할을 하는 책이다.

읽다보니 정말 별의별 상황이 다 있는데, 어찌보면 내가 겪어본 것도 있고, (의도적이 아니었더라도) 내가 하고 있어서 반성하게 하는 부분도 있었다. 몇가지를 옮겨보면 아래와 같다.

"언어의 규칙이 허용하는 범위 내에서 클래스, 생성자, 메소드, 멤버 변수, 파라미터, 지역 변수에 같은 이름을 사용하자. 이에 안주하지 말고 더 나아가서 {} 블록 내에서 이미 사용되고 있는 지역 변수명을 재사용할 수 있는지 고민하자."

"이유는 빼고 어떻게에 대해서만 문서화하라"

"피트, 미터, 통과 같은 측정 단위를 변수, 입력, 출력, 매개변수에 문서화는 절대 하지 않는다."

"에러나, 기기 크래쉬, OS 결함을 처리하는 코드는 절대 테스트 하지 않는다. OS가 반환하는 코드도 검사하지 않는다. OS가 반환하는 코드는 실행에 아무 도움이 되지 않으며 우리 테스트 시간만 오래 걸리게 한다. 게다가 우리 코드가 디스크 에러, 파일 읽기 에러, OS 크래쉬와 같은 모든 경우를 적절하게 처리하는지 어떻게 일일이 테스트 할 수 있겠는가? 도대체 왜 컴퓨터 시스템을 신뢰할 수 없는 것처럼 생각하고 교수대 같은 것이 제대로 동작하지 않는지 테스트해야 하는지 이해할 수가 없다. 최신 하드웨어에서는 에러가 발생하지 않는다."

"프로그램이 좀 느리다고? 고객에게 더 빠른 컴퓨터를 사라고 말하자. 성능 테스트를 수행했다면, 문제가 일어나는 지점을 찾았을 것이다. 아마 문제를 해결하려면 알고리즘을 변경해야 할 것이고 제품 전체를 완전히 다시 설계해야 하는 경우도 생길 수 있다."

"개발 도구에 포함된 라이브러리를 모른척해야 한다. 비주얼 C++을 사용한다면 MFC나 STL의 존재를 무시하고 문자열이나 배열을 손수 작정할 수 있다. 이렇게 하면서 자신도 모르게 포인터 기술이 좋아지고 동시에 코드를 확장하려는 시도를 좌절시킬 수 있다."

이 책은 무료 e-book으로 공개되어 다운로드도 가능하고, 웹사이트에서 기사 형식으로도 공개되어있다.

e-Book


O'Reilly에서 개최하는 웹 기술 컨퍼런스인 Fluent 2013이 미국 샌프란시스코에서 5월말에 열린다. 거기를 내가 갈 수 있는 것은 아니지만, 온라인으로 맛보기 컨퍼런스, 이른바 Fluent 2013 Preview를 하기에 잠도 안자고 들어봤는데, 꽤 들을만한 주제들이었다.

발표한 주제와 발표자들은 아래와 같다.

  • "this" in JavaScript: How It Really Works - Martha Girdler
  • Hardware Access and Device APIs with JavaScript & HTML5 - Wes Bos
  • Prototyping à la Node with Express – Pam Selle
  • Principles of AngularJS – Brad Green & Shyam Seshadri

Martha의 발표는 자바스크립트가 어렵게 느껴지는 사람에게 꼭 필요한 내용이었고, Wes의 Device API소개는 이런 것도 된다는 데모 위주의 발표였다. Pam의 발표는 node.js와 express를 사용하면 쉽게 프로토타입을 만들 수 있다는 그냥 뻔하게 느껴지는 발표여서 좀 실망했지만, 그래도 (발표의 의도와는 동떨어졌지만) JustinmindMixture.io라는 프로토타이핑 툴을 알게된 것은 소득이었다. 마지막 AngularJS 발표는 뭔가 문제가 있는지 진행 중에 슬라이드가 제대로 넘어가지 않아서 내용에 집중하기 어려웠고, 시간이 짧다보니 몇몇 특징들만 소개하는 것으로 끝났다. 발표 슬라이드는 O'Reilly에서 배포한 아래 링크에서 PDF로 다운로드 가능하다.

Device API는 발표 내용을 바탕으로 한번 시험해보면 재미있을 것 같고, AngularJS는 실제로 사용할만한지는 아직도 의문이긴 하지만, 제대로 살펴봐야겠다.

루씬 한글분석기 커뮤니티에서 기술 세미나를 개최한다. 이곳에서 만든 분석기는 예전부터 공개되고 있는데, Sourceforge.net에서 받을 수 있다.

세미나는 코엑스에서 4월 12일에 열리고, 아르고넷과 정보통신산업진흥원에서 후원한다. 현재 신청페이지에서 참가신청을 받고 있고, 참가 확인도 가능하다.

'Etc' 카테고리의 다른 글

More Joel on Software 조엘 온 소프트웨어를 넘어서  (0) 2013.06.16
PHP Fest 2009  (0) 2009.09.24
네이버의 오픈 소스 공개  (0) 2008.11.22

웹개발을 하다보면, 테스트 용도로 잠시 간단한 웹서버가 필요할 때가 자주 있다. 하지만, 이럴때마다 APMSETUP이나 XAMPP같은 것들을 설치하기는 조금 부담스러울때가 있다. 다양한 기능이 필요할때는 어쩔수 없지만, HTTP 요청/응답을 위해서 저걸 받아서 설치하자니 삽으로 할 일을 대형 장비를 가져다 쓰는 느낌이다. 그럴때 파이썬만 설치되어있다면 다음과 같이 간단하게 웹서버를 띄울 수 있다.

$ python -m SimpleHTTPServer 8000

8000은 원하는 포트 번호로 바꿔주면 되고, 실행한 경로를 웹 루트로 설정한다.

'Developing' 카테고리의 다른 글

Fluent 2013 Preview  (0) 2013.04.05
PHP에서 PDF 만드는 방법  (2) 2012.07.09
WebSocket 채팅 프로그램 예제 - 패러디 웨이브 <4>  (0) 2010.12.15

필요에 의해서 한국어 형태소 분석기를 찾아보기도 했고, MeCab을 이용한 한국어 형태소 분석과 폐쇄적인 21세기 세종 계획 성과물이란 글을 보면서 쓸만한 오픈소스 형태소 분석기가 없다는 것에 실망한 적이 있었다. 내가 전문가는 아니라서 잘 모르는 것일 수도 있겠지만, 영어는 물론이고 일본어도 연구 결과들이 공유되고 발전해가는 것이 보이는데, 왜 한국어는 없는지 답답했다. 그래서 "검색에서 쓸만한 오픈소스 한국어 형태소 분석기를 만들자!"라는 생각으로 시작했다는 전한닢 프로젝트를 보고 상당히 반가운 기분이 들었다.

그래서 한번 사용을 위해서 테스트를 해보기로 했다. 은전한닢 프로젝트는 일본어 형태소 분석기인 mecab에 한국어 형태소 사전을 추가한 형태로, 이를 사용하기 위한 Lucene/Solr용 tokenizer를 제공하고 있다. 그래서 사용해보려면 우선 mecab 설치가 필요하다.

테스트는 ubuntu 12.04 에서 진행했다.


mecab 설치

mecab은 ubuntu 저장소에 들어가있기때문에 쉽게 설치가 가능하다. 신경쓸 것은 컴파일이 필요하기 때문에 libmecab-dev 패키지도 별도로 설치가 필요하다는 것 정도이다.

$ sudo apt-get install mecab libmecab-dev


mecab-ko-dic 설치

mecab-ko-dic이 은전한닢 프로젝트의 핵심 결과물이라고 할 수 있는데, bitbucket 저장소에서 배포중이고, 사실 설치방법도 여기에 한국어로 친절하게 소개되어있기도 하다. 저장소의 다운로드 페이지에서 mecab-ko-dic 최신 버전을 다운로드 받아서 다음과 같이 컴파일하자. 이 글을 쓰는 시점에서 최신버전은 1.1.3 버전이다.

$ tar xzf mecab-ko-dic-1.1.3-20130226.tar.gz
$ cd mecab-ko-dic-1.1.3-20130226/
$ ./configure
$ make

컴파일이 잘 되었는지 테스트해보려면 다음과 같이 확인할 수 있다.

$ mecab -d .(엔터)
잘 설치되었는지 확인하려면 이렇게 확인할 수 있다.(엔터)
잘    MAG,T,잘,*,*,*,*
설치    NN,F,설치,*,*,*,*
되    XSV,F,되,*,*,*,*
었    EP,T,었,*,*,*,았/EP
는지    EC,F,는지,*,*,*,*
확인    NN,T,확인,*,*,*,*
하    XSV,F,하,*,*,*,*
려면    EC,T,려면,*,*,*,*
이렇    VA,T,이렇,*,*,*,*
게    EC,F,게,*,*,*,*
확인    NN,T,확인,*,*,*,*
할    XSV+ETM,T,할,Inflect,XSV,ETM,하/XSV+ㄹ/ETM
수    NNB,F,수,*,*,*,*
있    VV,T,있,*,*,*,*
다    EF,F,다,*,*,*,*
.    SF,*,*,*,*,*,*
EOS
(Ctrl + d)
$

이렇게 표시되면 잘 동작하는 것이다. 설치를 마무리하려면 다음과 같이 입력한다.

$ sudo make install

이렇게 하면 "/usr/lib/mecab/dic/mecab-ko-dic"에 사전 파일이 저장되고 설치가 끝난다고 했는데, 나의 경우에는 다음과 같은 오류가 발생했다.

test -z "/usr/lib/mecab/dic/mecab-ko-dic" || /bin/mkdir -p "/usr/lib/mecab/dic/mecab-ko-dic"
 /usr/bin/install -c -m 644 ./model.bin matrix.bin char.bin sys.dic unk.dic left-id.def right-id.def rewrite.def pos-id.def dicrc '/usr/lib/mecab/dic/mecab-ko-dic'
/usr/bin/install: cannot stat `./model.bin': No such file or directory
make[1]: *** [install-dicDATA] Error 1
make[1]: Leaving directory
make: *** [install-am] Error 2

model.bin 파일이 없어서 나는 오류인데, 그냥 무시하고 진행해도 별 문제없이 동작하는 것으로 보인다. mecab 설정파일(/etc/mecabrc)을 다음과 같이 수정해주면 설치가 끝난다.

6c6
< dicdir = /var/lib/mecab/dic/debian
---
> dicrc = /usr/lib/mecab/dic/mecab-ko-dic

root 권한이 없는 경우에는 사전파일들을 적당한 디렉토리에 넣어두고, 홈디렉토리에 .mecabrc 파일을 만들어서 동일한 설정을 해줘도 된다.

테스트 해보면 다음과 같다.

$ mecab(엔터)
설치가 다 끝났는지 확인하려면 이렇게 해보자.(엔터)
설치    NN,F,설치,*,*,*,*
가    JKS,F,가,*,*,*,*
다    MAG,F,다,*,*,*,*
끝났    VV+EP,T,끝났,Inflect,VV,EP,끝나/VV+았/EP
는지    EC,F,는지,*,*,*,*
확인    NN,T,확인,*,*,*,*
하    XSV,F,하,*,*,*,*
려면    EC,T,려면,*,*,*,*
이렇    VA,T,이렇,*,*,*,*
게    EC,F,게,*,*,*,*
해    VX+EC,F,해,Inflect,VX,EC,하/VX+ㅕ/EC
보    VX,F,보,*,*,*,*
자    EF,F,자,*,*,*,*
.    SF,*,*,*,*,*,*
EOS
(Ctrl + d)
$


Windows 업데이트를 하려고 할때 80070003 오류가 발생하면서 업데이트가 되지 않는 경우가 있다. 이럴 때는 0x80240022 오류가 나면서 Windows Defender의 바이러스/스파이웨어 정의도 업데이트 되지 않을 수 있다. 나의 경우에는 Windows 8에서 이런 경우가 발생했는데, 이전 버전에서도 발생하는 오류인 것 같다.

해결 방법은 다음과 같다.

  1. Windows Update 중지
    제어판 - 서비스 에서 Windows Update 항목에서 우클릭하여 나오는 문맥 메뉴에서 중지를 클릭한다.
  2. 임시 업데이트 파일 제거
    Windows 설치된 드라이브에서 다음 두 폴더의 내용을 모두 삭제한다.
    \Windows\SoftwareDistribution\DataStore
    \Windows\SoftwareDistribution\Download
  3. Windows Update 시작
    제어판 - 서비스 에서 Windows Update 항목에서 우클릭하여 나오는 문맥 메뉴에서 시작을 클릭한다.

나의 경우에는 2번에서 \Windows\SoftwareDistribution 폴더내의 모든 것을 삭제해서 해결했다.

참고 : Windows Update 오류 80070003

+ Recent posts