레이블이 리눅스인 게시물을 표시합니다. 모든 게시물 표시
레이블이 리눅스인 게시물을 표시합니다. 모든 게시물 표시

수요일, 10월 14, 2009

[일상다반사] 리눅스 시스템 관리 완벽 가이드 출간 소식



한 동안 책 출간 소식을 전해드리지 못했는데, 가을을 맞이하여 또 책 한 권이 나온다. 바로 리눅스 시스템 관리 완벽 가이드!



에이콘 출판사 블로그에 올라온 리눅스 시스템 관리자의 필독서, 최고의 완벽 가이드!에서 잘 설명하고 있지만, 이 책은 리눅스 시스템 관리자를 위한 종합 선물 세트다. B급 프로그래머는 무려 3년 동안 이 책을 열심히, 정말 열심히 앞 표지부터 뒷 표지까지 다 읽었는데(아마 저자 주와 참고문헌까지 모두 읽은 사람은 찾아보기 어려울 테다. 낄낄), 요즘 네트워크 관련 작업을 하다보니 많은 도움이 되고 있다(교훈: 심지어 골수 프로그래머일지라도 자기가 개발하는 운영체제를 활용한 시스템 관리는 기본적으로 할 줄 알아야 한다). 책이 좀 많이 두껍긴 하지만 읽어두면 확실히 리눅스 시스템 관리 수준이 하나 올라갈테다.



1180페이지에 이르는 텍스트 분량의 압박이 장난이 아닌데다(나중에 서점에서 열어보면 알겠지만, 그림이나 코드는 거의 없고 모두 글자다 글자...),여러 명이 공동으로 번역하다보니 어색하지 않게 어투/단어를 맞추는 작업이 가장 어려웠다. 100% 만족하지는 않지만 그래도 상당한 노력과 공을 들였으므로 독자 여러분들도 즐겁게 읽으시리라 믿는다.



뱀다리: 이번에는 책 마무리 하느라 힘(정신, 육체 모두)을 너무 많이 써버려 이벤트는 없다. 책 나온게 기적이다. T_T 그러니 너무 아쉬워하지 마시고 다음 나올 책과 이벤트를 기대하시라!



EOB

월요일, 8월 24, 2009

[B급 프로그래머] 리눅스 커널 개발 관련 통계...

특정 소프트웨어를 개발하기 위해 누가 얼마나 오래동안 얼마나 많은 코드를 작성하는지 궁금한 경우가 있다. 예를 들어, 마이크로소프트 윈도우 개발에 몇 명이 투입되어 어느 정도 규모의 코드를 작성할까? 유감스럽게도 상업적인 소프트웨어를 개발하는 대다수 회사들은 이런 극비 정보를 꽁꽁 감춘다. 이런 정보 자체가 상대편 회사에게 프로젝트 일정을 예측하도록 도와주는 중요한 힌트가 되기 때문이다. 하지만 오픈 소스라면 상황이 달라진다. 통계자료를 제대로 만들어서 배포하면 오픈 소스 공동체에 도움을 주기 때문이다.



이번에 리눅스 파운데이션에서 발표한 Linux Kernel Development: How Fast it is Going, Who is Doing It, What They are Doing, and Who is Sponsoring It: An August 2009 Update은 리눅스 커널 개발 과정에서 나타나는 여러 가지 흥미로운 통계자료를 담고 있다.



바쁜 여러분을 위해 몇 가지 흥미로운 사실을 정리해보았다.




  • 마이너 버전 사이 배포 간격: 2.6.x와 2.6.x+1 사이 간격은 평균적으로 3달 정도로 보여진다. 3달은 반복 주기로서 너무 짧지도 너무 길지도 않는 시간으로, 마이크로소프트 사도 오피스 개발에 대략 3달 주기로 반복을 진행했다고 알고 있다(부탁: 마이크로소프트 사 개발팀에 속한 애독자의 내부 제보가 필요하다).
  • 시간당 코드 변경 내역: 개발 일수가 늘어날수록 시간당 코드 변경 내역도 많아진다. 다음 표를 참고하자.



  • 커널 버전당 리펙터링 활동: 커널 버전이 올라갈수록 커널에 추가되고 제거되고 변경되는 코드가 많아진다. 지속적으로 살아 움직이는 프로젝트는 이런 추세를 따를거다.



  • 커널 버전당 참여하는 개발자 숫자: 커널 버전이 올라갈수록 투입되는 개발자 숫자도 늘어난다.



  • 리누스 토발즈는 더 이상 전체 코드 리뷰를 맡지 않는다. 프로젝트 규모가 커짐에 따라 분권적으로 움직인다는 의미다. 통계 자료를 보면 앤드류가 10.5%인 반면 리누스는 2.7%에 불과하다.




운영체제 만드는 작업이 후반부로 갈수록 인력 투입이 집중되고 코드 변경이 급격하게 일어난다는 사실은 그리 놀랍지 않다. 초반에 전체 아키텍처를 잡기 위해 핵심 코드를 작성하는 상황에서 벗어나 다양한 디바이스 드라이버를 추가하며, 그 동안 등한시했던 리펙터링 작업을 집중하기 때문이다. 여러분이 현재 수행하고 있는 프로젝트는 상태가 어떤가? 아무리 바쁘더라도 오후에 잠깐 코딩을 멈추고 SVN과 TRAC 통계자료를 한번 뒤적여보자.

EOB

수요일, 5월 14, 2008

[독서광] 초보 시스템 관리자를 위한 크노픽스



이번에 KLDP에서 크노픽스 프로젝트를 운영하고 있는 신재훈님께서 "초보 시스템 관리자를 위한 크노픽스"라는 책을 내셨다. 현재 예약 판매 중이니 오픈 소스와 리눅스에 관심있는 분들께서는 한번쯤 관심을 보여도 좋을 듯 하다. 서평을 대신해서 감수자 서문을 올려드린다. ;)



국내 최초의 크노픽스 서적이 나온다는 이야기를 듣고 서점에 나올 때까지 기다리지 못하고 미리 저자를 포섭(?)해서 남들보다 한걸음 빨리 접할 기회를 얻었다. 결과는? 대만족! 크노픽스가 단순히 기성품으로 준비된 부팅 CD를 넘어서 사용자가 자유자재로 라이브 CD를 구성할 수 있는 일종의 프레임워크라는 사실을 깨닫자마자 매일 전투를 치루느라 고생하는 시스템 관리자뿐만 아니라 최적화된 환경을 좋아하는 리눅스 호사가에게 제격인 시스템으로 다가왔다. 이 책의 저자인 신재훈님은 기존 KLDP에서 크노픽스 홈 페이지(http://knoppixko.kldp.net/)를 운영하며 쌓은 경험을 훌륭하게 책으로 만들어내는 데 성공했으므로, 여러분들은 이제 활자화된 지식을 소화하기만 하면 끝난다.

이 책은 초보자를 위해 크노픽스 소개와 부팅부터 시작해서 데스크탑 활용법과 USB 메모리를 사용한 정보 저장 기법까지 기초적인 내용을 정리하는 동시에 중급 관리자를 위해 시스템 관리, 보안, 네트워크 서비스 설정, 운영 시스템/파일 시스템/부트로더 복구, 비밀 번호 설정 방법을 크노픽스 하나만으로 한방에 끝내는 방법을 소개한다. 또한 고급 사용자를 위해 크노픽스 설치와 리마스터링 기법을 소개함으로써 사용자 취향에 맞춤식으로 개조한 라이브 CD를 만드는 비법까지 빠뜨리지 않는다. 바쁜 학업과 업무로 정신이 하나도 없는 상황일지라도 이 책 한 권이면 크노픽스에 대한 기본 지식부터 중․고급 지식까지 단기간에 익히기에 무리가 없다는 생각이다.

갑자기 멀쩡하던 시스템에 부팅이나 하드웨어 인식 문제가 생겼는가? PC가 존재하는 모든 곳에서 자신만의 환경을 동일하게 구축하고 싶은가? 윈도우가 설치된 시스템에서 별도 설치 과정 없이 바로 리눅스를 구동하고 싶은가? 리눅스 관련 시연을 해야 하는데, 하필 행사장에 설치된 리눅스 기계가 고장 나는 바람에 꼼짝 달싹 하지 못하는 상황인가? 천편일률적인 기성품 부팅 CD를 사용하다 더 이상 불만을 참지 못하겠는가? 그렇다면 한국 실정에 맞춰서 최적화된 한글판 크노픽스를 한번 사용해보고 여유가 된다면 직접 확장해보자. 리눅스를 좋아하는 당신이라면 크노픽스가 제공하는 단순하면서도 강력한 기능에 푹 빠질 것이다.


EOB

토요일, 3월 01, 2008

[일상다반사] 한빛미디어 Blog2Book 사이트 오픈 행사



지난번에 출간한 Blog2Book, 열씨미와 게을러의 리눅스 개발 노하우 탐험기출간 후 시리즈 활성화를 위해 한빛미디어에서 새롭게 Blog2Book 사이트(http://blog2book.hanb.co.kr)를 오픈했다는 소식이 들려온다.



오픈 기념으로 3월 5일부터 경품(아이폰 터치!)이 걸린 자신만의 팁 올리기 행사가 진행될 모양이니 애독자 여러분께서도 참여해서 좋은 상품 특템하시기 바란다.



B급 프로그래머도 심심하면 팁을 하나씩 올려드릴테니 기대하시라. 썰렁함 방지를 위해 벌써 몇 개를 올렸놓았으니 참고하면 좋겠다.



EOB

목요일, 9월 27, 2007

[컴퓨터 이야기] 리눅스와 환경 보호



리눅스와 환경 보호라... 어울리지 않는 두 단어를 배열해 놓았다고 낚였다고 한탄하지 마시라. 이번에 인텔이 주관한 IDF에서 공개한 리눅스 전원 절감 프로젝트인 Less Watts를 보면 생각이 달라질테니 말이다. 그림을 보면 서버 환경에서 리눅스 커널 별 전력 소모량이 줄어드는 모습을 확인할 수 있다



Less Watts 프로젝트는 리눅스 운영체제에서 전원을 절약하는 각종 기술을 개발하는 목표로 시작되었다. 말만 거창하게 하는 대신에 이미 가시적인 성과를 한 곳에 모아서 필요한 문서와 소프트웨어도 내려받도록 해놓았으므로 환경 보호를 걱정하는 리눅스 전문가들이 많이 참여해서 계속 발전시키면 좋겠다는 바람이다.



현재 진행 중인 주요 프로젝트를 정리해보았다.




  • PowerTOP: CPU를 많이 사용하는 프로그램을 추적하는 top 유틸리티를 기반으로 전원을 많이 소모하는 프로그램을 추적한다.
  • Tickless idle: CPU가 놀고 있을 때는 tick을 발생시키지 않도록 만들어 CPU 전원 소비를 줄인다.
  • PPM(Power Policy Manager): 시스템 전반에 걸친 전원 관리자, 인텔의 전원 절약 기술인 스피드스탭을 활용한다.
  • Process Power Management: 인텔 CPU에 탑재된 전원 관리 기능을 활용하도록 커널에 기능을 추가한다
  • PowerQoS: 전원 정책에 대한 QoS 관리
  • Device and Bus Management: 주변 장치가 동작중이거나 놀고 있을 때 전력 소비를 지능적으로 관리하는 시스템
  • Display and Graphics Power Saving: GMA950과 같은 그래픽 칩셋에서 지원하는 전원 관리 기능을 활용하는 디바이스 드라이버를 제작한다
  • ACPICA: ACPI(Advanced Configuration and Power Interface) Component Architecture를 구현한다
  • 가상화: 특별히 설명 안해도 되지?


실제 프로젝트 결과를 여러분 PC에 적용해보고 싶다면, 여기서 필요한 프로그램(현재 PowerTOP, Tickless idel, PPM, Power Policy Manager, PowerQoS, Display and Graphics Power Savings, Device and Bus Power Managerment, ACPICA 참고 구현을 제공한다)을 내려받아 검토해보기 바란다. 물론 일부 소프트웨어는 커널 궁합을 맞춰야 하기 때문에 이식이 쉽지는 않아보이지만 x86을 토대로 저전력 임베디드 장비를 개발한다면 한번 정도 분석할 필요가 있다.



EOB

수요일, 7월 04, 2007

[독서광] 리눅스 실전 가이드



유닉스, 아니 정확하게 말해 리눅스를 처음 시작할 때 참조할만한 책이나 문서 부족으로 무척 고생한 경험은 없는가? 리눅스에 대한 문서가 인터넷에 널렸고, 도움말 파일(유닉스 세상에서 도움말이란 십중팔구 악명높은 man(1) 페이지를 의미한다)을 읽으면 된다는 충고 아닌 충고가 판을 치지만 실제로 두 팔 걷어붙이고 쓸만한 책을 찾아보려면 딱히 없다. 배포판 설치와 활용 관련 서적이나 유틸리티 소개와 프로그래밍 서적은 그나마 가물에 콩나듯 몇 권 보이긴 하지만 배포판 설치가 끝난 다음에 리눅스를 리눅스 답게 본격 활용하기 위한 지침서를 찾기란 무척 어렵다.



하지만 이번에 마크 G 소벨 큰 형님께서 집필하신 "A Practical Guide to Linux(R): Commands, Editors, Shell Programming을 번역한 리눅스 실전가이드가 나왔기에 리눅스 초보자들의 갈증을 어느 정도 풀어주리라는 생각이다. 그렇다면 기존에 나온 리눅스 서적과 비교해서 이 책은 어떤 점이 다를까?



잠시 인터넷을 활용해 간단한 검색을 해보자. 아마존에 들어가서 Mark G Sobell이라고 저자 검색을 해보면 흥미로운 사실이 밝혀진다. 리눅스 실전가이드 원저자인 소벨은 1980년대 중반부터 유닉스 관련 교과서를 집필해왔으며, 출간한 책마다 별 넷 반아니면 다섯을 받고 있다. 명불허전이라고 리눅스 실전가이드 역시 풍부한 예제를 곁들인 정확하고 구체적인 내용으로 유닉스에 연이은 리눅스 입문서로서 대를 이어가는 중이다. 고백하자면 본인 역시 90년대 초반에 소벨이 쓴 UNIX System V: A Practical Guide(물론 3판이 아니라 2판이었다)로 유닉스를 배웠고 이 때 배운 지식을 15년이 지난 지금까지도 우려먹고 또 우려먹고 또또 우려먹고 있고 (리눅스가 계속해서 살아남는다면) 앞으로도 최소 10년은 더 우러먹지 않을까 하는 생각이 든다.



리눅스 실전가이드는 GUI 방식으로 동작하는 화려한 응용 프로그램은 (거짓말 조금 보태 - 429페이지에 tkCVS 유틸리티 덤프 화면이 나온다) 단 한 페이지도 다루지 않는다. 그 대신 일반 터미널에서 동작하는 표준 셸을 기준으로 리눅스를 리눅스 답게 활용하기 위해 필수적으로 알아야 하는 각종 유틸리티와 명령어를 (어떻게 보면 우직할 정도로) 하나씩 짚어나간다. 손쉽게 다루는 리눅스 배포판 설명을 기대했던 독자라면 거의 준프로그래밍에 가까운 복잡하고 어려운 내용 때문에 좌절할지도 모르겠지만, 몸에 좋은 약은 입에 쓰다.



리눅스를 처음 설치한 다음에 터미널에 셸을 하나 띄어 놓고 이 책에 나온 설명에 따라 기본 유틸리티 사용법, 파일 시스템 관련 명령, 셸 기본 명령과 고급 명령, 편집기, 셸 프로그래밍과 문자열 처리와 관련한 활용법을 하나둘씩 익히다보면 시스템 관리자, 시스템 프로그래머, 응용 프로그래머로서 갖춰야할 기초를 쌓을 수 있다. 몇 번 강조하지만 예전에 뛰어난 유닉스 프로그래머는 기본적으로 뛰어난 유닉스 관리자였고, 수십 년이 지난 지금도 뛰어난 리눅스 프로그래머는 뛰어난 리눅스 관리자이다. 유닉스 아니 리눅스 운영체제 자체가 거대한 프로그래머용 도구 상자라는 사실을 생각해보면 시스템 관리자가 프로그래머이고 프로그래머가 시스템 관리자라는 현상이 절대로 이상하지 않다. 따라서 리눅스 프로그래밍을 제대로 하고 싶다면 특정 라이브러리나 프로그래밍 언어에 바로 뛰어드는 대신 이 책부터 독파하면 어떨까?



EOB