출처 : http://goo.gl/JfJ86b


 
개발자가 한달 쉬어도 끄떡없어야 좋은 회사
전규현 IT칼럼니스트 gracegyu@gmail.com2014.08.26 / PM 04:16

칼럼니스트 : 전규현

이메일

gracegyu@gmail.com

약력

전규현 / gracegyu@gmail.com / 소프트웨어 컨설팅 회사인 ABC Tech(www.abcswcon.com)의 수석 컨설턴트이다. 20년간 한글과컴퓨터 및 안철수연구소에서 소프트웨어를 개발했으며 현재 소프트웨어공학 컨설턴트로서 수많은 소프트웨어 회사가 글로벌 소프트웨어 회사의 역량을 갖출 수 있도록 가이드를 하고 있다. 저서는 "소프트웨어 개발의 모든 것"(2008 페가수스)가 있으며 소프트웨어 개발자들이 가장 많이 보는 소프트웨어 공학 블로그인 www.allofsoftware.net의 운영자이다. 지금도 수많은 개발자의 멘토와 여러 소프트웨어 회사의 코치로서 실리콘밸리 소프트웨어 수준의 회사를 키우기 위해 노력하고 있다.

[지디넷코리아]내가 만약 한달동안 휴가를 간다면 회사에서는 무슨일이 벌어질까? 각자 한번 상상을 해보자. 

 

내가 있던 없던 상관없이 회사는 잘 돌아갈까? 아니면 내가 관련된 일들이 진행되지 않아 회사가 마비될까? 내가 없으면 회사가 잘 안돌아가도 문제지만 내가 있으나 없으나 회사가 아무일 없이 잘 돌아가도 불안하다. 혹시 내가 없어도 되는 사람이 아닌가 걱정이 되기도 한다. 

 

“유지 보수가 어렵게 코딩하는 방법” 이란 책도있다.원제는“How to write unmaintainable code : Ensure a job for life ;-) This essay is a joke!”이다. 이 책은 조크지만 내가 없으면 유지보수가 몇배, 몇십배 어려워지는온갖 다양한 방법을 소개하고 있다. 사실 본인도 유지보수가 어려워지는 방법들이다. 

 

몇년에 한번씩 강제로 한달동안 휴가를 가야하는 회사가 있다. 휴가 기간 한달동안 원격지에서 일을 할 수 있다는 것이 아니다. 진짜 휴가를 가야 한다. 이런 강제 휴가 제도를 만든 이유는 어느 직원이던 그 직원이 없어도 회사가 잘 돌아가야 하기 때문이다. 업무의 특수성 때문에 한달동안 자리를 비울 수 없는 직원이 있다면 회사 조직을 바꾸던지 프로세스를 변경해 다른 사람으로 대체나 보완이 가능하도록 한다. 누가 한달간휴가를 떠나도 아무 문제없이 해놔야 한다. 

 

이런 회사에서는 직원들이 언제든지 짤릴 수 있다는 불안감을 가져야 할까? 

 

가상의 이야기가 있다. 원자력발전소에서 일하는 홍길동씨는 절대로 3일이상 휴가를 갈 수 없다. 홍길동은오랜 노하우로 적절하게 원자로의 온도를 조절하는 특수한 능력을 가지고 있고 홍길동외에는 그런 기술이없다고 하자. 홍길동은 수동으로 온도제어장치 조절이 가능한데 자동 처리 시스템을 갖추려면 엄청난 비용과 많은 추가 인력이 필요하다고 한다. 

 

회사 입장에서는 큰 비용을 투자하는 것 보다 홍길동씨만 잘 지키면 적은 비용으로 발전소 운영이 가능하고홍길동씨는 자신이 없으면 발전소가 돌아가지 않는 상황에 자부심을 가지고 있다. 하지만 홍길동씨는 격무에 시달려서 회사를 그만두거나 불의의 교통사고를 당할 수도 있다. 옆나라의 발전소에서 더 높은 연봉으로데려갈 수도 있다. 

 

나는 강연이나 세미나를 할 때 자주 묻는다. “지금 당장 퇴사를 해도 회사에 큰 문제가 없는 사람?”. 그러면거의 대부분 손을 드는 사람이 없다. 실제로 퇴사를 해도 문제가 없는 사람이 없을 수도 있고 다른 사람들 눈치를 봐서 그랬을 수도 있다. 

 

반대로“그럼 당장 퇴사하면 회사가 안돌아가는 사람”손을 들라고 하면 몇사람들이 당당하게 손을 번쩍 든다. 몇 사람은 떠밀려서 손을 든다. 그러면서 주변에서는 웅성웅성 말들이 많아진다. 약간의 빈정적인 말도들려온다. 대부분의 회사에서 벌어지는 공통적인 현상이다. 

 

우리 주변의 소프트웨어 회사들 중에는 개발자 한두명만 퇴사를 해도 큰 영향을 받는 회사가 많다. 회사의경영진은 문서화도 잘 되어 있고 공유도 잘 되어 있어 문제없다고 하는 경우도 있지만 속을 들여다보면 유지보수에 별쓸모도 없는 문서에 공유는 형식적으로 되어 있어 실제로는 큰 문제지만 “쉬쉬”하는 경우가 많다. 개발자들도 자신이 없을 때 회사가 잘 안돌아가는 상황을 그렇게 나쁘게만 보지 않기 때문에 별 이슈로생각하지 않는다. 

 

이러한 현상 때문에 아버지가 돌아가셨는데 상중에도 회사를 나와서 일을 했다는 경우를 듣기도하고 신혼여행도 제대로 못가는 경우도 발생한다. 

 

그럼 이런 현상이 회사에는 불리하지만 개발자에게는 유리한 현상일까? 단기적으로는 그럴수 있으나 장기적으로는 얘기가 완전히 달라진다. 

 

나는“당장 퇴사하면 회사가 안돌아가는사람”은 하루빨리 정리를 해야하고, “지금 당장 퇴사를 해도 회사에큰 문제가 없는사람”은 회사에 꼭 필요한 사람이라고 얘기한다. “당장 퇴사하면 회사가 안돌아가는 사람”이많다면 회사가 갑자기 망해도 이상하지 않은 상황이다. 이렇게 망한 회사들은 이런 이유 때문에 망한 것이라는 것을 알아채기 쉽지않다. 

 

“지금 당장 퇴사를 해도 회사에 큰 문제가 없는 사람”중에는 정말로 하는 일이 없어서 있으나 마나 한 사람이 있을 수도 있지만 그건 주제에서 벗어난 얘기고 대부분 그동안 해왔던 일들이 문서화가 잘되어 있고, 공유가 잘 되어 있으며 다른 사람이 이어 받아서 처리하는데 문제가 없는 경우다. 이런 사람은 회사의 미래 프로젝트를 위해 꼭 필요한 사람이다. 

 

반대의 경우는 그동안 저질러 놓은 일이 많고 자신이 아니면 유지가 안된다. 뭘 하나 해결하려고 해도 원개발자에게 물어봐야 하고, 다른 사람들은 시스템에 대해서 이해하기도 어렵고 원개발자가 한두시간이면 뚝딱 해결할 수 있는 것을 유지보수 개발자에게 시키면 며칠이 걸려도 해결이 어렵고, 해결을 했다고 해도 또다른 문제를 만들어냈을까봐 두렵다. 회사입장에서는 큰 리스크가 아닐 수 없다. 하지만 회사에서는 이런 개발자를 핵심 개발자라고 착각하고 질질 끌려다닌다.

 

물론 개발자가 일부러 이런 경우는 흔치 않다. 회사의 문화, 프로세스가 엉망이니 그냥 열심히 하던대로 개발하다 보면 이런 현상이 십중팔구 벌어진다. 특히나 개발능력이 뛰어난 개발자들에게서 이런 현상이 더 잘일어난다. 혼자서 많은 양의 코딩을 해내지만 같이 공유하고 리뷰를 해줄 개발자가 없고, 혼자서 제품 하나를 뚝딱 만들어도 유지보수에서 발을 빼기 어렵게 된다. 일부러 유지보수가 어렵게 코딩하는 사람은 없겠지만 작성해놓은 코드를 보면 “유지보수가 어렵게 코딩하는 방법” 이란 책을 공부한 사람처럼 코딩하는 경우도 있다. 

 

이렇게 자신의 과거 업무에 발목이 잡혀 있는 개발자들은 성장하기 어렵다. 회사의 미래 프로젝트, 좀더 어렵고 재미있는 일을 못하게 된다. 새로운 기술이나 지식을 익힐 기회는 점점 줄어들고 매일하던 반복적인 유지보수에 매달리거나 과거에 해놓은 일의 기억을 헤집는 일을 주로 하게 된다. 자신의 과거 업무에서 자유로워지는 일은 자신의 가치를 좀더 높이는 일이다. 

 

물론 우리나라 회사에서는 이런 것이 통하지 않는다고 주장하는 사람도 있을 것이다. 개발자를 부품으로만생각하는 회사는 개발자가 없어도 문제없게 만들어 놓은 개발자는 언제든지 자를 수 있다. 실제이런 회사도많이 있고 이런 회사에서 일하는 개발자라면 “유지 보수가 어렵게 코딩하는 방법”을 잘 공부하기 바란다. 

 

개발자가 자신이 없어도 회사가 문제없이 돌아가게 하려면 공유를 잘 해야 한다. 문화적으로 성숙되고 프로세스를 잘갖춘 회사라면 모든 개발 업무가 진행되면서 자연스럽게 공유가 되는 시스템을 갖추고 있다. 중간중간 리뷰 과정을 다거치고 문서화가 되며 지식과 경험이 자연스럽게 여러사람과 공유가 된다. 

 

이런 프로세스를 뒷받침할 기반 시스템도 적절히 갖추고 있다. 공유를 위한 공유가 아니기 때문에 훨씬 자연스럽고 부담도 없다. 자신은 어떤가 생각해보자. 한달간 휴가를 갈 수 있을까? 회사의 모든 직원이 각자 한달간 휴가를 갈 수 있을까? 그렇지 않다면 무엇을 바꿔야 할지 생각해 보자.
글로벌 IT의 중심 언론 <메가뉴스>
IT뉴스는 <지디넷코리아>
스마트폰으로 읽는 실시간 IT뉴스 <모바일지디넷>
저작권자ⓒ메가뉴스 & ZDNet & CNET. 무단전재 및 재배포 금지




'Gossip' 카테고리의 다른 글

...  (0) 2013.11.30
김태흠 국회의원  (0) 2013.11.27
최바울 선교사 “설득력 있게 가르쳐 주신다면 얼마든지…”  (0) 2013.04.10
3.20 전산망 마비 1차보고서  (0) 2013.03.20
컴퓨팅 자세 유형  (0) 2013.02.07

ref site : http://c-nergy.be/blog/?p=897&cpage=1#comment-998


1. Copy Proxmox ISO image file into PVE Bootable USB stick.

2. Boot from USB on debug mode
(Type 'debug' when PVE boot: prompt)


3. Check Your USB Stick mount status

Normally, you'll see boot prompt ('#') with 'no cdrom found' message.

fdisk -l 


You can see mount status.


4. mount iso image.

mount /dev/sdb1 /mnt 

(note: the /dev/sdb1 represent my stick on my system — Please change this value to reflect your settings)


mount -o loop -t iso9660 /mnt/proxmox_1-7.iso /mnt
(again change accordingly based the name of your iso file… )


5. Install VE

chroot /mnt  sbin/unconfigured.sh



색깔로 보는 ..뭐라더라??

일상의기록 2013. 12. 23. 05:53 Posted by harim~♥
ㅡ.ㅡ 점보러 가면 반은 맞춘다던데..
그런기분임.



'나'님의 색깔로 보는 나의 현재 상태 결과

[쓸쓸함 어리광]

표면상으로 명랑하고 사교적이며 정서적인 인정미가 넘쳐흐르는 것처럼 보이지만, 마음 한구석에는 누구도 편드는 사람이 없어 혼자 외롭게 지내며, 의지할 이성, 안심하고 어리광부리거나 의존하고 싶은 애정욕구를 갖고 있다.

이 색깔이 36번과 함께 선택되면 어느 쪽이 먼저 선택되었는가에 따라 뉘앙스가 좀 달라진다. 고독감, 쓸쓸함이 특히 강하다.

[친한 남성이 그리움]

할아버지, 아버지, 형제, 아들, 남편, 친구 등 당신에게 가장 가까운 남성이 당신에게서 멀어져 가는 것 같은 일종의 공포심마저 느끼는 상태다.

심하면 그리워지기까지 하여 이런 기분을 이해해 달라는 차원에서 자신이 사랑한 것만큼 상대로부터 사랑받고 싶어 한다.

어린이가 이 색깔을 선택하면 아버지에 대한 애정욕구로 보아도 좋다.

[육체적 피로]

심신이 지칠대로 지쳐서 쉬고 싶다는 생각이 드는 한편에서는 맡은 일을 성실하게 하지 않으면 안 된다는 생각에 정신적으로 협공을 당하는 상태다.

피로감과 의무감, 복종심이 내부에서 서로 갈등을 빚고 있는 상태, 어린이가 이 색깔을 선택하거나 즐겨 선택한다면 놀고 싶은 욕망을 강렬하게 억제당하고 있어 반항하고 싶지만 뜻대로 되지 않는다고 생각해도 무방하다.
테스트 하러가기
http://me2.do/xtwUAFdY
======================

'일상의기록' 카테고리의 다른 글

고민#2  (0) 2013.12.02
고민#1  (0) 2013.12.02
작은 놈이 잔다..  (0) 2013.12.02
휴가  (0) 2013.11.25
출근하지 마자 배터리 전원 out.  (0) 2013.11.19

고민#2

일상의기록 2013. 12. 2. 01:42 Posted by harim~♥
아무것도 하지 못한 주말이라는 생각과 조바심에
잠이 깬다.

삶에 깊숙히 묻어 있는 긴장과 조바심..

책을 꺼내 들며 또 한 권의 책을 생각한다.

늘 생각만 하고 열어보지 않는, 하지만 가장 중요한.

나는 무엇을 위해,
어디로 달려가고 있는 것일까.

'일상의기록' 카테고리의 다른 글

색깔로 보는 ..뭐라더라??  (0) 2013.12.23
고민#1  (0) 2013.12.02
작은 놈이 잔다..  (0) 2013.12.02
휴가  (0) 2013.11.25
출근하지 마자 배터리 전원 out.  (0) 2013.11.19

고민#1

일상의기록 2013. 12. 2. 01:38 Posted by harim~♥
SNS 서비스를 놔두고..

카테고리와 제목과 본문이 나눠진.. 공식 앱도 아닌 앱을 써가면서 까지 블로그에 글을 써야 하는가?

참, 백업만 되고 복원이 안된다 그랬지.

'일상의기록' 카테고리의 다른 글

색깔로 보는 ..뭐라더라??  (0) 2013.12.23
고민#2  (0) 2013.12.02
작은 놈이 잔다..  (0) 2013.12.02
휴가  (0) 2013.11.25
출근하지 마자 배터리 전원 out.  (0) 2013.11.19

작은 놈이 잔다..

일상의기록 2013. 12. 2. 01:34 Posted by harim~♥
세상에서 가장 평안한 모습으로..
엄마품에서..

한낮의 감기와의 씨름도 잊은 채...

큰 놈도 잔다.

자다가 일어나 엄마 옆자리로 배게를 던진다.
그리곤 역시
세상에서 가장 평안한 모습으로

배를 벅벅 긁으며..

내 얼굴을 뜯어놓은건 언제 그랬냐는듯..

-_-;;

'일상의기록' 카테고리의 다른 글

고민#2  (0) 2013.12.02
고민#1  (0) 2013.12.02
휴가  (0) 2013.11.25
출근하지 마자 배터리 전원 out.  (0) 2013.11.19
..  (0) 2013.11.01

...

Gossip 2013. 11. 30. 08:41 Posted by harim~♥
대체 이런 문구는 누가 만드는 건가요?

김태흠 국회의원

Gossip 2013. 11. 27. 14:58 Posted by harim~♥
  • 최근 이슈가 되고 있는 김태흠 국회의원 홈페이지

http://kimtaeheum.com/

  • 관련기사는 여러가지가 있지만,

http://www.ohmynews.com/NWS_Web/View/at_pg.aspx?CNTN_CD=A0001930582


  • 주요내용
    11.26 국회 운영회의 중  다음과 같은 발언을 했다고 언론에 보도 됨.
..회의 중 국회 사무처의 청소용역노동자의 직영화를 논의하는 과정에서 "이 사람들 무기계약직되면 노동3권 보장돼요. 툭 하면 파업할 텐데 어떻게 관리하려고 그러냐"고 질의해 ...


  • 위 관련기사 링크 말미에 뉴스사와 전화통화상에서 했다는 말..
..한 전화통화에서 "노동3권을 부정한 것이 아니"라며 "현재 외주 방식에서 직영으로 바뀌면 발생할 수 있는 문제를 제기한 것"이라고 말했다. 그는 "현재는 노동자들이 파업을 해도 (용역업체 소속이기 때문에) 신경 쓰지 않아도 되지만, 직영이 되면 제대로 관리 할 수 있느냐를 물은 것"이라고 덧붙였다.
  
말 참 예쁘게 합니다.. 용역업체 소속이기 때문에 신경을 안써도 된다니...


  • 김태흠 의원이 이야기한 노동 3권이란?
이 법은 근로자의 자주적인 단결권·단체교섭권과 단체행동권을 보장하며, 근로자의 근로조건을 유지, 개선하고 근로자의 복지를 증진시키려는 목적을 가지고 있다. 또한 근로자의 단체행동의 자유를 보장하는 동시에 노동쟁의를 공정하게 조정하여 노사간의 평화가 유지되도록 함을 목적으로 하고 있다. 노동쟁의시 폭력과 제3자의 개입은 금지된다. 노동조합 및 노동관계 조정법은 1997년 3월 13일 법률 제5310호로 제정되었고, 총칙, 노동조합, 단체교섭 및 단체협약, 쟁의행위, 노동쟁의의 조정, 부당노동행위, 보칙, 벌칙 등 총 96조와 부칙으로 되어 있다. 2010년 1월 1일 효력이 발생하기로 되어있었으나 1월 1일 새벽 국회의장 김형오의 직권상정으로 추미애 환경노동위원장의 개정안이 본회의를 통과하여 그 시행이 복수노조 허용은 2011년부터로 노동조합 전임자 임금지급 금지는 2010년부터로 시행이 연기되었다.


무기계약직되 노동3권 보장돼요. 툭 하면 파업할 텐데 .. 

그럼,

무기계약직 안되면 노동 3권 보장 안되서, 툭 해도 파업 못해.. 아닌가?

위헌 맞지 않나? 나만 이렇게 생각하나??


ps : 김태흠 의원 홈피 관리자는 잘 들어라.. 
내가 당신네들 검색율 올려줬다..



휴가

일상의기록 2013. 11. 25. 22:33 Posted by harim~♥

모처럼만의 휴가.

밀린 우편물 보내고,

월동준비차 마트에서 장보고

얼집 다녀온 아들 낚아채 병원에 데려가서 진료보고

저녁엔 준비한 월동 준비물로 열심히 월동준비 작업하고-


몸이 쉬진 못했지만 가족을 위해 알차게 보낸 시간.

'일상의기록' 카테고리의 다른 글

고민#1  (0) 2013.12.02
작은 놈이 잔다..  (0) 2013.12.02
출근하지 마자 배터리 전원 out.  (0) 2013.11.19
..  (0) 2013.11.01
기도요청.  (2) 2013.09.16

쿠퐝

사진메모 2013. 11. 25. 11:57 Posted by harim~♥
ㅎㄷㄷ..

'사진메모' 카테고리의 다른 글

한입 시리얼 from 차이나  (0) 2013.09.17
의왕역 대고객 서비스  (0) 2013.07.16
지르다.  (0) 2012.12.03
Dagi P603  (0) 2012.11.28
오늘..?  (0) 2012.07.06

출근하지 마자 배터리 전원 out.

일상의기록 2013. 11. 19. 09:52 Posted by harim~♥

출근하자마자 퍼지는 휴대폰을 보니..


나를 보는 것 같군.


티스토리.. 언제 이사하나..

아니면 괜찮은 앱을 만들어주던지 .

'일상의기록' 카테고리의 다른 글

작은 놈이 잔다..  (0) 2013.12.02
휴가  (0) 2013.11.25
..  (0) 2013.11.01
기도요청.  (2) 2013.09.16
아이디를 바꾸고..  (0) 2013.08.01

..

일상의기록 2013. 11. 1. 00:47 Posted by harim~♥

qm resize 300 ide0 +40G

qemu-img convert -f vmdk vm-300-disk-1.vmdk -O raw vmdk-300-disk-1.raw 


이건... 일상임. 

'일상의기록' 카테고리의 다른 글

휴가  (0) 2013.11.25
출근하지 마자 배터리 전원 out.  (0) 2013.11.19
기도요청.  (2) 2013.09.16
아이디를 바꾸고..  (0) 2013.08.01
오늘의 시작  (0) 2013.07.30

[Linux] How to show dd progress (copy status)

TechNote/Linux 2013. 10. 11. 15:30 Posted by harim~♥

터미널에서 dd 명령을 실행시키고


다른 터미널을 열어


while :

do

sudo kill -USR1 `pgrep ^dd`

sleep 1

done




이전글 : [PogoPlug] E02 복구기 1부 - 벽돌이 된 포고를 살리다.


에서 일단 접속이 되었지만 시리얼 콘솔을 통해서 보니 부팅중 뭔가 모를 nand 메모리 에러가 올라왔다. 검색결과 다시한번 초기화를 위해 아치리눅스를 설치하기로 했다. 



1. Uboot 설치

아치리눅스를 설치할 USB 메모리를 꽂고 아치설치때와 마찬가지로 최초에 Uboot을 설치하여 아치리눅스가 작동할 수 있는 환경을 만든다. 


$ wget http://projects.doozan.com/uboot/install_uboot_mtd0.sh   #파일 다운로드

$ chmod a+x install_uboot_mtd0.sh        # 실행권한 부여 

$./install_uboot_mtd0.sh     #스크립트 실행

!!!!!!  DANGER DANGER DANGER DANGER DANGER DANGER  !!!!!!

If you lose power to your device while running this script,
it could be left in an unusable state.

This script will replace the bootloader on /dev/mtd0.

This installer will only work on the following devices:
 Seagate Dockstar
 Seagate GoFlex Net
 Seagate GoFlex Home
 Pogoplug v1
 Pogoplug Pink (v2)
Do not run this installer on any other device.

By typing ok, you agree to assume all liabilities and risks 
associated with running this installer.

If you agree, type 'ok' and press ENTER to continue: ok
# checking for /usr/sbin/nandwrite...
# checking for /usr/sbin/nanddump...
# checking for /usr/sbin/flash_erase...
# checking for /usr/sbin/fw_printenv...
# checking for /etc/fw_env.config...

# Validating existing uBoot...
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x00080000...
Connecting to jeff.doozan.com (50.116.34.13:80)
valid-uboot.md5      100% |*******************************|  1133  --:--:-- ETA
## Valid uBoot detected: [pinkpogo davygravy-2012-02-20-current]
## The newest uBoot is already installed on mtd0.


You are already running the latest uBoot.
# 본인에게만 해당되는 특별한 경우로, 아래 [N/y]로 이미 설치되어 있는 uBoot을 건드리지 않았다.

Your current uBoot environment should be reasonable.  However, if you're having
any probems booting, you can reset the environment variables to know good values.
Would you like to reset the uBoot environment? [N/y] 

# uBoot installation has completed successfully.


2. fdisk

USB메모리에 아치리눅스를 설치할 수 있도록 파일시스템생성(포멧)

Pogoplug:/tmp$ fdisk /dev/sda


The number of cylinders for this disk is set to 1603.

There is nothing wrong with that, but this is larger than 1024,

and could in certain setups cause problems with:

1) software that runs at boot time (e.g., old versions of LILO)

2) booting and partitioning software from other OSs

   (e.g., DOS FDISK, OS/2 FDISK)


Command (m for help): p               # p옵션 : 현재 디스크 분할 상태를 본다


Disk /dev/sda: 8004 MB, 8004304896 bytes

212 heads, 46 sectors/track, 1603 cylinders

Units = cylinders of 9752 * 512 = 4993024 bytes


   Device Boot      Start         End      Blocks  Id System

/dev/sda1               1        1604     7815680   b Win95 FAT32    #현재 윈도우용 Fat32로 구성되어 있음.


Command (m for help): t               # 파일시스템 타입을 변경한다.

Selected partition 1                         # 변경할 파티션 선택 (1번)

Hex code (type L to list codes): 83   # 리눅스 기본 파일시스템으로 변경

Changed system type of partition 1 to 83 (Linux)


Command (m for help): p               # p옵션 : 현재 디스크 분할 상태를 본다


Disk /dev/sda: 8004 MB, 8004304896 bytes

212 heads, 46 sectors/track, 1603 cylinders

Units = cylinders of 9752 * 512 = 4993024 bytes


   Device Boot      Start         End      Blocks  Id System

/dev/sda1               1        1604     7815680  83 Linux       # 리눅스 파일시스템으로 변경되었음


Command (m for help): w             # 변경사항을 저장

The partition table has been altered!


Calling ioctl() to re-read partition table


3. 파일시스템 생성

Pogoplug:/tmp$ wget http://archlinuxarm.org/os/pogoplug/mke2fs  # 포멧툴 다운로드

Connecting to archlinuxarm.org (50.116.36.110:80)

mke2fs               100% |*******************************|   799k 00:00:00 ETA

Pogoplug:/tmp$ chmod a+x mke2fs                             #실행권한 부여

Pogoplug:/tmp$ ./mke2fs /dev/sda1                            #USB 포멧

mke2fs 1.41.9 (22-Aug-2009)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

488640 inodes, 1953920 blocks

97696 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=2004877312

60 block groups

32768 blocks per group, 32768 fragments per group

8144 inodes per group

Superblock backups stored on blocks: 

32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632


Writing inode tables: done  

Writing superblocks and filesystem accounting information: done


This filesystem will be automatically checked every 36 mounts or

180 days, whichever comes first.  Use tune2fs -c or -i to override.

Pogoplug:/tmp$ 


4. 파일복사

Pogoplug:/tmp$ mkdir usb                                              #usb 마운트를 위한 디렉토리 생성

Pogoplug:/tmp$ mount /dev/sda1 /tmp/usb/            #usb 메모리 마운트

Pogoplug:/tmp$ cd usb

Pogoplug:/tmp/usb$ wget http://archlinuxarm.org/os/ArchLinuxARM-armv5te-latest.tar.gz  #아치리눅스 다운로드


Connecting to archlinuxarm.org (50.116.36.110:80)

ArchLinuxARM-armv5te 100% |*******************************|   155M 00:00:00 ETA


Pogoplug:/tmp/usb$ tar xzvf ArchLinuxARM-armv5te-latest.tar.gz  #압축해제


5. 리부팅

압축 해제 후  리부팅하면 특별한 이상이 없다면 정상적으로 아치 리눅스 부팅이 된다. 


아치리눅스의 기본 root 비밀번호는 root 이다. 



참조 사이트 : 


USB-TTL케이블을 사용한 PogoPlug E02 벽돌 복구기

Restore working Pogoplug to factory settings
Archilinux 설치하기



3부 및 그 이후에서는..


새로운 개인 클라우드 시스템 소개 예정. 











1.배경
  • 포고에 클라우드 셋팅을 위해 Debian을 설치하려고 인터넷을 뒤져 스크립트를 받다.
  • SSH로 접속하여 스크립트 를 다운로드 하고 실행 중 에러가 났다.
  • 연결은 되어 있으나 직감적으로 ' 이 연결이 떨어지면 벽돌이 되는구나'라고 직감
  • 수단 방법을 가리지 않고 난리를 쳐보다가 결국 리붓. 예상대로 벽돌 ㅠㅠ

2.복구

  • 시리얼 젠더(USB to TTL) 연결을 위한 포고 분리 및 납땜
    • 참고 포고플러그 E02 분해 방법
    1. 포고 본체를 싸고 있는 투명 플라스틱을 뒤에서 당겨 벗겨낸다
    2. 뒷쪽 이음새 부분을 드라이버 등으로 벌려서 뚜껑을 딴다.


인터넷에 TX,RX가 바뀌어서 한참 고생을 했다. 위 설정이 맞다. 

  • 준비된 USB to TTL 젠더를 연결한다. 
    (이후에 사용할 량으로 본체 뒤에 구멍을 내어 선을 뚫었다)



  • 터미널 연결(리눅스 버전)

작업전 판 벌려놓은 사진


  • 시리얼포트 접속

리눅스에서는  minicom이라는 툴을 이용하여 접속한다.

 Windows기반으로 Putty를 사용할 경우, 해당 매뉴얼을 참조. 


   i. minicom 설정


$sudo minicom -s


         +-----[configuration]------+

            | Filenames and paths      |

            | File transfer protocols  |

            | Serial port setup        |

            | Modem and dialing        |

            | Screen and keyboard      |

            | Save setup as dfl        |

            | Save setup as..          |

            | Exit                     |

            | Exit from Minicom        |

            +--------------------------+

   

   +-----------------------------------------------------------------------+

    | A -    Serial Device      : /dev/ttyUSB0                              |

    | B - Lockfile Location     : /var/lock                                 |

    | C -   Callin Program      :                                           |

    | D -  Callout Program      :                                           |

    | E -    Bps/Par/Bits       : 115200 8N1                                |

    | F - Hardware Flow Control : No                                        |

    | G - Software Flow Control : No                                        |

    |                                                                       |

    |    Change which setting?                                              |

    +-----------------------------------------------------------------------+


   설정값 : 속도 115200, 패리티 8, 흐름제어(HW, SW) : 없음  


            +-----[configuration]------+                                     

            | Filenames and paths      |                                     

            | File transfer protocols  |                                     

            | Serial port setup        |                                     

            | Modem and dialing        |                                     

            | Screen and keyboard      |

            | Save setup as dfl        |

            | Save setup as..          |

            | Exit                     |

            | Exit from Minicom        |

            +--------------------------+


  Exit로 minicom 메인화면으로 나감



 시리얼케이블이 연결된 상태




   * 리눅스 USB 시리얼 포트 연결상태 확인 (ttyUSB로 확인됨)

$dmesg |grep tty

[    0.000000] console [tty0] enabled

[    0.489512] 0000:00:16.3: ttyS4 at I/O 0x60b0 (irq = 19) is a 16550A

[    0.000000] console [tty0] enabled

[    0.489512] 0000:00:16.3: ttyUSB0 at ...


  • 복원

참조한 블로그대로 작동하는 명령어가 없어 나름 머리를 굴려 다음과 같이 작업 


  i. ip할당

-sh-3.2# ifconfig eth0 192.168.0.244 netmask 255.255.255.0 broadcast 192.168.0.255 up     

ip할당 

-sh-3.2# route add default gw 192.168.0.1          

기본게이트웨이 설정


-sh-3.2# netstat -a                                                             

Active Internet connections (servers and established)                           

Proto Recv-Q Send-Q Local Address           Foreign Address         State       

tcp        0      0 (null):22               (null):*                LISTEN      

네크워크 상태 확인

다행스럽게도 ssh 서비스가 열려있었다. 


  ii. 원격접속

로컬(내 노트북) 시스템에서 포고로 ssh로 접속    

$ssh -l root 192.168.0.244

PW는 벽돌이 되기전에 설정해 두었던 ssh 비밀번호로 접속이 되었다. 만약, 이과정에서 문제-ssh 로그인시 루트 로그인이 안된다든지-가 발생한다면 root 패스워드를 재설정해야 하는데, 내 경우 파일 시스템이 읽기전용으로만 마운트 되는 상황이 발생했다. 무슨 말인고 하니, 포고에 접속하여 /etc/아래 설정파일을 열어볼 수는 있으나 수정이 불가. 


나와 같은 문제로 읽기전용으로 마운트된 시스템에 대해 편집을 하려 한다면, 다음과 같은 명령을 수행한다. 

$mount -o remount,rw /

위와 같이하면 시스템내 파일을 편집 가능한 상태로 마운트 할 수 있다. 


이어서 루트 패스워드를 변경한다. 

-sh-3.2# passwd root                                                            

Changing password for root                                                      

New password:                                                                   

Retype password:                                                                

-sh-3.2# 



일단 이렇게 하여...


살렸다.