Linux

    /Proc FileSystem - Process in More detail

    이번 글에서는 Proc filesystem에서 process 관련된 내용을 좀 더 이해하기 위해 별도로 글을 작성하게 되었습니다. 여러분들이 Terminal에서 "cd /proc/self" 명령어로 해당 디렉토리로 이동하게 되면 현재 실행중인 쉘에 대한 정보를 가진 디렉토리입니다. 해당 디렉토리를 살펴보죠. linuxias@desktop:/proc/self$ ls -altotal 0dr-xr-xr-x 9 linuxias linuxias 0 7월 9 22:20 .dr-xr-xr-x 260 root root 0 7월 9 21:59 ..dr-xr-xr-x 2 linuxias linuxias 0 7월 9 22:20 attr-rw-r--r-- 1 linuxias linuxias 0 7월 9 22:20 autogr..

    man page에 color 입히기

    man page에 color 입히기

    평소 man page를 자주보는 저로써는 검은 바탕의 흰 글씨만 있는게 굉장히 불편했습니다. man page에 color를 입히는 방법을 공유드립니다. 지금부터 2가지 방법에 대해 설명드릴텐데요, 하나는 most를 설치하는 방법과 하나는 less를 이용한 방법입니다. 설명은 ubuntu 16.04 기준입니다. 1. Most가장 먼저 most를 설치해 줍니다.$ sudo apt install most 다음 ~/.bashrc 파일을 열어 아래 내용을 추가해줍니다.export PAGER="most"orexport PAGER="/usr/bin/most -s" 다음 수정한 파일을 적용해줍니다.$ source ~/.bashrc 2. less command 이용하기2 번째는 less command를 이용해서 적용하는..

    /Proc Filesystem - Process

    /Proc Filesystem - Process

    The /Proc Filesystem for Debuggingproc - process infomation pseudo-filesystem(Process infomation) 리눅스가 인기 있는 이유 중 하나는 UNIX 시스템의 좋은 feature들을 결합시킨 점입니다. Proc 파일시스템은 그 좋은 feature들 중 한가지 인데요, 대다수의 Linux 배포판에 포함되어 있습니다. proc 파일시스템은 /proc에 마운트되어 있으며 kernel data 구조에 대해 인터페이스를 제공하고 있습니다. proc 파일시스템의 파일들은 READ-ONLY 이지만, 몇몇의 파일들은 커널 변수를 변경하여 적용할 수 있도록 WRITE가 가능합니다. proc 파일시스템의 구성요소를 하나하나 살펴보도록 하시죠. 이번 글에..

    Strace - trace system calls and signals

    Strace - trace system calls and signals

    Stracetrace system calls and signals strace는 linux에서 발생하는 문제들을 해결할 수 있는 여러 툴 중 system call을 추적할 수 있는 강력한 툴입니다. System call은 open, write, read, mmap... 등등 여러분들도 잘 알고 계신 함수들입니다. System calls은 User process가 kernel에 어떠한 작업을 요청하기 위한 인터페이스 역할을 합니다. (그림 출처 : Self-Service Linux : Mastering the Art of Problem Determination) 여기서 말하는 요청이란 User process에서는 접근할 수 없는 disk, network, memory 같은 시스템 자원에 접근하고 IPC, ..

    OpenGrok 설치하기 (How to install OpenGrok)

    OpenGrok 설치하기 (How to install OpenGrok)

    Opengrok 설치하기 Opengrok은 소스코드를 빠르고 유용하게 찾을 수 있는 엔진입니다. 저는 Linux kernel, Systemd, glib, glibc 등의 Code를 다운받고 빠르게 검색하는 용도로 자주 사용하고 있습니다. 다양한 컴퓨터 언어에 대해 지원하고 있으니 굉장히 유용하니 한번 구축해서 사용해 보시는 걸 추천드립니다. 그럼 지금부터 시작해보겠습니다. (저는 ubuntu 16.04 기준으로 작성합니다..)제 글이 아닌 OpenGrok page 를 참고하여 구축하셔도 무방합니다 :-) Requirements먼저, Opengrok을 설치하기 전에 필요한 것들이 있습니다. Java 1.8 versionTomcat (8.x or later) or GlassFish Universal ctag..

    [Systemd] Timer

    [Systemd] Timer

    systemd.timer는 systemd에 포함되어 있는 job scheduler입니다. 여러분들이 가장 잘 알고 있을 job scheduler는 cron입니다. cron은 전통적으로 *nix 시스템에서 가장 많이 사용된 job scheduler이죠. systemd.timer는 cron을 완벽하게 대체하는 새로운 job scheduler입니다! 그럼 systemd timer는 cron과 다르게 어떠한 장점들이 있는 걸까요? 아래 간단하게 정리해보았습니다. Job을은 Timer와 독립적으로 시작할 수 있습니다. 이렇게 하면 디버깅이 간단해집니다.Job을 특정 환경(user, boot, H/W state 변화 등등의 이벤트)에서 실행되도록 설정할 수 있습니다. cgroup에 attach할 수 있습니다. 즉 ..