git gc 실행 시 fatal: Out of memory, malloc failed 에러

git gc를 하다보니 난데없는 Out of memory 에러가 났다.

git 에서 메모리를 과하게 쓰는건지….

어쨌든 이 문제는 repack 명령을 사용하여 임시적으로 해결이 가능하다.

git repack -adf –window=2

window 갯수가 디폴트가 10 라고 하는거 같은데, –window 옵션을 숫자를 에러가 안 날때까지

적당히 줄여 주면 된다.

그리고 다시 git gc를 하면 문제없이 수행이 된다.

그런데 gc –aggressive 를 할 경우에는 또 해당 에러를 만날 수도 있다.

좀 난감했는데, config 를 통해 window 메모리 크기를 설정할 수 있다.

git config pack.windowMemory 128m

이 값 역시 에러가 안날 때 까지 적당히 줄여 주면 된다.

써보지는 않았지만 다음 config 도 같이 사용하면 문제 해결에 도움이 되는거 같다.

git config pack.packSizeLimit 20m

LVM에 눈 뜨다.

리눅스 배포판들에서 기본으로 LVM(Logical Volume Manager)을 사용하기 시작하지 벌써 몇년이 지났다.

LVM이란거에 대한 개념도 잘 모르겠고… 먼가 복잡해서 항상 리눅스를 새로 설치하더라도 예전 방식을

고수했었다.

 

그러다 최근 회사에 서버를 새로 구축하면서 리눅스는 죄다 LVM으로 설치를 했다.

먼가.. 이제는 알고 넘어가야될거 같은 생각이 들었달까…

첨 설치를 했을 때만 해도 여전히 먼가 복잡하고 잘 몰랐지만..

한 서버의 디스크가 부족해서 디스크를 증설하는 과정에서 그 진가를 느낄 수 있었다.

기존 파티션에 새로운 물리적 디스크를 추가해서 물리적인 두 개의 디스크를 하나의 파티션으로

구성할 수 있었던것!

(정확하게는 기존 Volume Group에 새로운 하드로 만든 Physical Volume을 추가하고 기존

Logical Volume의 크기를 확장 해줬다)

 

예전 같으면 파티션 두개에다가 데이터를 적당히 나눠서 옮긴 다음, 사용도에 따라 재조정해주는

작업을 새로 했어야 했을 텐데, 이제는 그럴 필요가 없어졌다.

 

축소는 데이터 날려 먹을 까봐 겁이 나서 못해봤지만, 여러개의 물리적 디스크를 원하는 대로

나눠서 파티션을 구성하고 그 크기도 자유롭게 조정할 수 있다니!

이런걸 왜 이제껏 안 썼나 몰라+_+

 

Ubuntu Linux 네트웍카드 변경 시

서버 업그레이드를 위해 기존 서버에서 하드만 떼어서 새 서버에 달았다.

대부분 별다를 문제 없이 잘 동작 했지만… 이런… 이더넷 카드가 안 잡힌다;;

요즘엔 리눅스도 PnP가 잘되는 지라 특별히 디바이스 드라이버 잡고 하는건 해본 적이
거의 없는데

좀 난감한 상황….

 

어떻게 할 수 있을까 싶어서 이리저리 알아보다가 알게된 사실은…

안 잡힌게 아니고 인터페이스가 바꼈다는것…

기존 네트웍카드가 eth0 이었는데 새로운 네트웍 카드가 잡혔으니 eth1으로 잡혀 있는것이었다.

/etc/network/interfaces 에서 eth0를 모두 eth1으로 변경 후

ifup eth1

으로 네트웍카드를 동작시켜주니

별 문제 없이 잘 동작한다.

일단 별 문제는 없긴한데… eth1 이 되어 있으니 웬지 찝찝한 느낌이 들어 좀 더 찾아보니

그 동안 설치된 네트웍카드를 /etc/udev/rules.d/70-persistent-net.rules 에서 찾을 수 있었다.

기존 네트웍카드 부분을 지우고, eth1을 eth0로 변경 해준다음

/etc/network/interfaces 에서도

다시 eth0로 바꿔주니

문제 없이 eth0로 동작

SeeAlso :

 * http://forum.falinux.com/zbxe/?document_srl=532721

git svn 에서 저장소 relocate 하기

git-svn 은 git 로 svn 저장소르 쓸 수 있도록 해주는 아주 유용한 도구다.
그러나, 몇 가지 불편한 점이 있는데, 그 중 한 가지가 저장소 주소가 변경되었을때,
svn의 relocation 명령을 쓸 수 없다는 것. 그러나 약간 번거롭긴 하지만 방법이 아주 없진않다.
다음 절차에 따라 파일 수정 및 명령을 실행하면 svn 저장소 주소를 변경할 수 있다.

1. 변경하고자 하는 git 저장소의 config 파일을 연다.(.git/config)
svn 저장소 주소가 적혀 있는 부분이 있는데 이 줄 앞에 #를 붙여 주석 처리하고
새로운 저장소의 주소를 적는다.

2. 해당 git 디렉토리에서 다음 명령을 실행한다.

git svn fetch

3. 다시 1의 파일을 열고, 이번에는 새로운 저장소 주소를 주석처리하고, 원래 저장소 주소의
주석을 제거 한다.

4. git 디렉토리에서 다음 명령을 실행한다.

git svn rebase -l

5. 다시 설정파일을 열고, 원래 저장소 주소를 삭제하고, 새로운 저장소 주소의 주석을 풀어서 저장한다.

6. 이제 새로운 주소로 git-svn을 쓸 수 있다.

SeeAlso :

http://joehalliwell.wordpress.com/2009/03/18/relocating-git-svn-checkouts/

GIMP에서 일괄 작업을~ : David’s Batch Processor

수백개의 투명 PNG 파일을 변환할 일이 생겼는데..
GIMP 외에는 제대로 제대로 변환하는 프로그램이 없다.
이런 젝일~

혹시나 해서 뒤져봤는데 번번이 변환 실패.

결국 기댈곳은 GIMP 뿐이다만 수백번의 반복 작업은 도저히
엄두가 안나서 고민하던 중 알게된 플러그인 DBP.

http://members.ozemail.com.au/~hodsond/dbp.html

일관작업을 간단하게 처리해준다.
한가지 아쉬운건 입력 파일 추가할 때 확장자 필터가 없다는거 정도.
ㅎㅎ 이제 GIMP만 써도 되겠구만 🙂

회의, 회의, 회의

주구장창 회의에 회의만 거듭하는 관리자의 심리는 과연 어떤걸까….
리스크가 크고, 진척이 잘 안되니 상황을 계속해서 체크하고 싶은 심정은 이해하겠다만,
매일 매일 계속되는 회의 때문에.. 회의하느라 시간 잡아먹고, 회의 준비 하느라 시간 잡아먹고,
회의 정리 내용 정리하느라 시간 잡아먹고…
거기다 수시로 찾아와 이런 얘기 저런 얘기 하며 말을 걸고, 상황 확인하고,
시덥잖은 얘기로 시간 뺏기 까지….
잘 해보자고 하는 것이겠지만 시간은 시간대로 잡아먹고,
상황은 점점 더 악화 되어 가고 있는 건 아닌지…
어딘가에서 본 거 같은데.. 무능한 관리자 유형 중에 하나가 계속 회의를 하는 것만으로
일이 잘 진행되어 가고 있다고 착각하는 거라고 했던가…

아무튼 여러가지로 문제다 문제….

행복에 걸려 비틀거리다

결론은 간단하다.
행복해지고 싶다면 미래를 상상하려하지 말고,
미리 경험해본 다른 사람들을 보고 배우라.

저자는 왜 그래야만 하는지, 왜 우리의 상상은 항상 빗나가고,
왜 우리는 우리가 계획했던 대로 행복해 질수 없는지에 대해
심리학적인 측면에서 재미있게 이야기를 풀어 나간다.

책을 읽으면서 심리학이란건 재밌는 학문인거 같다는 생각과
저자가 쓴 다른 책을  또 보고 싶다는 생각이 들었다.
심리학 책이나 좀 읽어 볼까나ㅎㅎ

dpkg “files list file for package `…’ is missing final newline” 오류 해결하기

언젠가부터 apt-get 으로 패키지 설치나 업데이트를 하려고 하면 다음과 같은 오류가 발생한다.

패키지에서 템플릿을 추출하는 중: 100%
패키지를 미리 설정하는 중입니다…
(데이터베이스 읽는중 …dpkg: 복구 불가능한 치명적 오류, 중지합니다:
 files list file for package `laptop-detect‘ is missing final newline
E: Sub-process /usr/bin/dpkg returned an error code (2)

인터넷을 좀 뒤지다가 저기서 말하는 파일을 찾아서 고치기로 했다.

/var/lib/dpkg/info

위의 경로가 deb 패키지들에 대한 정보가 있는 디렉토리인듯 하다.
여기서 위의 에러에 나타난 패키지의 파일을 찾아서 에디터로 열어봤다.

sudo vi laptop-detect.lis

흠.. 역시나 파일 끝에 이상한 데이터가 붙어 있다.
과감히 날려 버렸다=_=
그리고 다시 apt-get을 해보니 문제없이 업그레이드가 된다.
무슨 문제가 발생할지는 모르겠지만…
기껏해야 해당 패키지 삭제할 때 파일이 제대로 삭제 되지 않는 문제가 있겠지 머..=_=