linux
-
Ubuntu 13.04 출시IT/News 2013. 7. 11.
올해 4월달에 출시한 Ubuntu 13.04를 이제서야 글을 적게 되었다.그동안 배포판 업그레이드 작업을 하면 반나절 정도는 발생한 문제를 해결하느라 시간을 보냈기 때문에 이번에는 좀 늦게 업그레이드 작업을 했다. 역시 배포판 업그레이드 작업은 오래 걸린다. 점심식사를 하고 티타임까지 가지면 딱 될 정도. 업그레이드, 발생한 문제점일단, 업그레이드 이후 한/영 변환이 되지 않았다. 시스템 설정의 언어도구에서 input method를 보니 ibus등 언어 입력도구 선택 리스트에 아무것도 나타나지 않아서 한/영 변환을 할 수 없게 되어버렸다. 웹에서 내용을 찾아보니 2-3년전에 문제가 있던 사람들은 im-switch로 해결했다는 글을 보고 im-switch를 설치해보았다. im-switch를 실행하여 ibu..
-
self extracting archiveIT/Linux C 2013. 7. 7.
Self Extracting Archive일반적으로 linux에서 프로그램들은 각 배포판에 따라 rpm 또는 deb 과 같이 정해진 패키지 단위로 프로그램을 설치/삭제하지만, self extracting을 통해서 패키징 절차 없이 파일 하나로 프로그램이 설치가 되도록 할 수 있다. self extracting archive는 말 그대로 스스로 압축된 파일을 풀리게 만드는 것인데, 배포판 패키징 절차 없이 프로그램에 필요한 파일(binary 및 conf, ....)들을 하나의 script 파일 하나로 배포할 수 있는 장점이 있다. 관리를 고려할 때, 당연히 linux 배포판의 패키징 절차를 따라야 하겠지만 "스크립트만으로 이런 것도 가능하다"라는 입장에서 한번 살펴볼만 하다.참고: http://en.wik..
-
glibc detected double free or corruptionIT/Linux C 2013. 6. 1.
double free or corruption 오류 중 쉽다고 생각했던 double free or corruption 문제의 원인을 찾는데 엄청난 시간이 걸림을 경험하고 나니, 다른 분들도 이런 경우를 고려해 봤으면 하는 바람에서 >글을 적는다. double free or corruption 오류는 메모리 오류로써 두가지 발생 케이스가 있다.passing the same address to free twice overrunning an allocated area before passing its address to free. 1번과 2번 모두 free라는 메모리 해제 시스템함수를 호출할 때 segfault가 발생합니다.이런 문제를 만나면 일단 free가 두 번되는 경우가 있는지를 빠르게 찾고, 그 다음부..
-
jiffiesIT/Linux Kernel 2013. 5. 21.
커널에서는 전역적인 system timer(jiffies counter)를 가지고 있다. 이 timer를 이해하기 위해서는 Kernel HZ(jiffies per second)와 jiffies에 대한 이야기를 해야 한다. HZ란 1초에 동일한 주기를 반복하는 횟수이다. jiffies란 시스템 내의 전역적인 변수로써 초당 HZ값만큼 숫자가 증가하게 된다. 즉, 시스템에서는 HZ 값만큼 1초에 인터럽트가 호출(정확함을 위해 타이머 하드웨어로 부터 인터럽트 호출)되고 jiffies의 값이 그 인터럽트를 통하여 증가하게 된다. 자 아래의 간단한 예제를 보면 HZ의 값(초당 반복 횟수)이 1000이라고 가정하고 현재 jiffies가 400이라 할 때 , jiffies의 값이 1400이 되면 1초가 지났음을 알 수..
-
Slackware linuxIT/DevOps 2013. 3. 6.
slackware는 리눅스 배포판중에 하나로써, 서버용으로 간결함과 안정성을 목표로하는 배포판이다. 새로운 프로그램의 지원과 데비안 계열의 뛰어난 패키지관리(apt)에 비하면 편리성은 낮은 편이라 할 수 있다. 하지만 Slackware에 포함되는 프로그램들은 최신의 소프트웨어이기 이전에 안정성이 밝혀진 소프트>웨어로써, 가볍고 믿을 수 있는 시스템을 구축할 수 있도록 도와준다. Slackware 사이트에 가서 >다운로드 후, 설치를 해보니 User-friendly 하지 않다.(Gentoo 리눅스보다는 편하지만....) 부팅 이후 fdisk 명령으로 하드디스크 파티션을 잡아주고 setup 명령을 통해서 리눅스를 설치하고 일부 설정을 사이트의 가이드를 보고 진행을 해야한다. 이런한 점은 사용자가 원하는 방향..
-
리눅스 배포판을 선택하는 방법IT/DevOps 2013. 3. 3.
Linux.org에서 읽은 배포판 선택에 대한 글이 있어서 공유한다. 원본은 여기에서 읽으면 된다. 어떤 배포판을 써야할까??하나의 회사에 의해 배포하고 지원하는 윈도우나 맥OS 같은 상용 운영체제와 달리 상대적으로 리눅스는 버전은 여러가지이다. 수많은 회사와 단체, 그리고 개인이 리눅스를 개발해서 배포하고 있기 때문이다. 이런 다양한 버전이 공개적으로 사용 될 때, 이를 배포판(distributions)이라고 한다. 일반적으로 배포판들은 특정 목적을 가지고 만들어진다. 예를 들어 네트워크 트래픽을 처리하기 위해 웹 서버를 설치하여 운영하기 위한 서버용 리눅스 버전이 있다. 또한 네트워크 보안을 위한 리눅스 버전이 있다. 사실 방화벽(firewall)들은 대부분 리눅스를 통해 만들어진 경우가 많다. 라우..
-
안드로이드 커널의 통합IT/Linux Kernel 2013. 3. 2.
안드로이드는 Linux-base 운영체제를 사용하는 타블릿과 스마트폰과 같은 터치스크린 모바일 장비이다. 커널은 리눅스 커널을 사용한다. 하지만 모바일 최적화>를 위하여 커널에 driver를 추가해서 사용한다. 그렇기 때문에 리눅스 커널 코드를 복사하여 필요한 드라이버를 포팅한 커널을 따로 관리하고 있었는데, 리눅스 커널 3.3 버전부터 안드로이드 커널에 필요한 드라이버 코드들이 통합되기 시작했다. 앞으로도 계속 통합될 예정이라고도 한다. 아래는 LInux 3.3 버전 릴리즈노트에 표기되어 있는 안드로이드 통합에 대한 이야기이다. 1.1. Android mergeRecommended LWN article: Bringing Android closer to the mainlineThe Android proj..
-
Ubuntu Kenrel BuildIT/Linux Kernel 2013. 2. 26.
linux kernel을 다운받고 코드를 살펴보는 것은 쉽다. 인터넷만 빠르면 바로 받아서 볼수가 있다. 하지만 빌드하고 테스트하는 것은 linux 배포판마다 차이가 있어서 준비가 간단하지 않다. 보통은 커뮤니티에서 확인할 수 있는데 이 글에서는 Ubuntu 환경에서 커널 모듈을 작성하고 빌드 하는 방법을 정리하는 글이다. Ubuntu 커널 컴파일 가이드https://help.ubuntu.com/community/Kernel/Compile 개발 도구 설치 sudo apt-get install fakeroot build-essential crash kexec-tools makedumpfile kernel-wedge sudo apt-get build-dep linux sudo apt-get install g..