HowTo, Linux

Python JSON Tool 을 이용한 Readable한 JSON 출력하기.

Python 을 설치하면 JSON Tool 이 포함됩니다. Python JSON Tool 을 이용한  Readable한 JSON 출력이 가능합니다. 즉 쉘 상에서 JSON 포맷을 보기 좋게 볼수 있습니다. 보통은 다음과 같이 출력되서 쉽게 알아보기 힘듭니다.

이를 보기 좋게 출력하는 방법은 다음과 같습니다.

 

HowTo, Linux

리모트 스크립트 제작기

DevOps 가 대두되면서 지속적인 배포(Continuous Delivery) 가 핵심으로 떠오르면서 수만은 서버에 한꺼번에 명령어를 내리고 파일을 전송하고 설정파일을 관리하는 소프트웨어가 인기를 끌고 있다. 대표적으로 Chef, Puppet, Saltstack, Ansible 등을 들수 있는데 이들은 지속적인 배포 뿐만 아니라 시스템과 소프트웨어를 통합해 플랫폼으로서 수많은 서버들의 상태를 동일하게 유지시켜준다. 그런데 몇 해전만 해도 이런것들이 부족했던 시절이 있었는데, 이때 내가 다니던 직장에서 수천대의 서버를 관리해야하는 일이였다. 이러한 소프트웨어가 없던 시절에 나는 개인적으로 이와 비슷한 것을 만들어 사용했는데 그때 당시로 돌아가 어떤 생각으로 만들었었는지 개선했는지를 정리해보고자 한다. […]

HowTo, Linux

Opensshd 7.0에서 바뀐점

OpenSSHD 7.0 에서 바뀐점이 있습니다. SSH 데몬이 인증을 하는 방법에는 다음과 같이 두가지가 있습니다. 패스워드 인증 – interactive authentication methods 인증키 방식 패스워드 인증 방법을 “interactive authentication methods” 라고 합니다. 그런데, OpenSSHD 7.0 에서는 root 로그인할때에는 더 이상 이 인증 방법을 지원하지 않습니다.  CentOS 7 에서 Opensshd 7.0 이상 패키지를 설치를 해서 root로 로그인을 할려고 보니 패스워드 입력 프롬프트는 나옵니다. 하지만, 맞는 패스워드를 아무리 쳐도 로그인이 안되더군요. 그래서 뭔가 바뀌었나 싶어서 Changelog 를 살펴보니 다음과 같은 문구를 보게 되었습니다.

[…]

DevOps, Linux

SaltStack 에서 Jinja 사용시 유용한 팁

Salt 는 Jinja Template 을 지원해 Salt 파일 작성시에 프로그래밍이 가능하도록 되어 있습니다.  예를들어 배포판별로 아파치 웹 서버의 패키지 이름이 다른데, Jinja Template 를 이용하면 프로그래밍을 할 수 있습니다.

Salt 의 grains 을 이용해서 배포판을 가지고 오고 조건식(if statement)를 이용해서 패키지명을 명시해주고 있습니다. 하지만 이렇게하면 Salt 자체의 YAML 문법과 섞여서 읽기가 힘든 부분이 있습니다. 그래서 이를 다음과 같이 개선할 수 있습니다.

조건식을 앞으로 빼고 변수를 이용해서 패키지명을 저장해주고 이 변수를 Salt YAML 문법에 사용하는 것입니다. 앞에 버전보다는 Jinja […]

HowTo, Linux

Vim 디렉토리 구조.

Vim 은 Unix/Linux 시스템에서 가장 있기는 편집기(Editor) 입니다. 터미널상에서 다양한 파일들을 편집할 수 있고 다양한 기능을 제공 합니다. 다양한 기능들은 플러그인(Plugin) 들로 제작되어 필요로하는 기능들만 사용할 수 있습니다. 이러한 플러그인들은 Vim 의 디렉토리에 넣기만하면 동작하도록 아주 간편하게 되어 있습니다. 이 문서는 다음의 문서를 직역해서 만들어졌습니다. 이글의 저작권도 원글에 있음을 밝힙니다. Learn Vimscript the Hard Way 기본 레이아웃(Basic Layout) Vim 은 여러파일들로 분리된 플러그인들을 지원합니다.  “~/.vim” 디렉토리 아래에 새성할 수 있는 아주 많은 다른 디렉토리들은 많은 것을 의미합니다. 이제 아주 중요한 […]

HowTo, Linux

리눅스 공유 메모리

리눅스 공유 메모리는 아주 특별하고 중요합니다. 튜닝하는데 있어서 매우 중요한 요소이기 때문입니다. PostgreSQL 를 세팅할때에도 반드시 해줘야 하는 것이기에 정확하게 무엇인지 짚고 넘어가고자 아는 선에 적습니다. 페이지(Page) 가장 먼저 이야기할 것이 바로 페이지(Page) 입니다. 리눅스 시스템은 메모리를 가상으로 만들어 관리합니다. 웃기게도 리눅스 시스템에서 동작하는 프로그램들은 자신들이 시스템의 모든 메모리를 사용할 수 있다, 아니 그보다 더 많은 메모리를 사용할 수 있다라고 착각을 합니다. 이는 리눅스 시스템이 메모리를 가상화해서 프로그램들에게 보여주기 때문입니다. 문제는 리눅스 시스템은 가상화된 메모리들을 페이지(Page)라는 단위로 쪼개서 관리합니다. 특정 […]

HowTo, Linux

Phoronix 벤치마크 하기

이 글은 Phoronix 벤치마크 하기 에 대한 글  입니다. Phoronix 는 리눅스  벤치마크 테스트 툴 입니다. 이툴은 하드웨어 벤치마크와 소프트웨어 벤치마크를 모두 지원 합니다. 하드웨어 벤치마크는 새로운 사양의 서버가 들어왔을때에 CPU, RAM 대역폭, DISK I/O 성능들을 측정을 말하며 소프트웨어 벤치마크는 GCC 컴파일러, Kernel 성능들을 측정하는 것일 말합니다. Phoronix 의 성능측정 결과는 HTML 파일로 저장이 되며 https://openbenchmarking.org 자동으로 포스팅하는 기능이 있어 여러사람과 결과를 공유할 수 있습니다. Installation 설치환경은 CentOS 6 입니다. CentOS 의 경우에 Epel Yum 저장소를 추가하면 다음과 같이 Phoronix […]

HowTo, Linux

powerline vim 플러그인 설치

vim 를 사용하다보면 상태바에 많은 정보를 표시해주면 좋습니다. 이를 위해서 .vimrc 에다가 많은 설정을 사용해서 사용하지만 이것을 아예 Plugin으로 할 수 있도록 제공해주고 있습니다. Vundle 설치 vim 플로그인을 쉽게 설치하고 제거하기를 도와주는 플로그인 매니저중에 Vundle 를 사용하겠습니다. 설치는 다음과 같이 해줍니다.

설치는 이와같이 Vundle.vim 파일을 넣어주면 끝납니다. .vimrc 파일 수정 인터넷을 보면 다양하게 .vimrc 파일이 있습니다. 이 파일에는 어떤 플러그인을 할지도 정의되어 있습니다.

위의 내용에 필요한 것들을 하나씩 설치해야 합니다. vim Plugin 설치하기 이제 필요한 것들은 모두 되었습니다. […]

HowTo, Linux

Ubuntu 에 zsh 설정하기

zsh 을 이용하면 다양한 테마를 사용할 수 있고 이 테마들은 각 작업때마다 터미널에 관련 작업 상태들을 표시해주어 편리합니다. 예를들어 git 를 사용하시는 분들은 zsh 를 설치하고 테마를 설정해주면 터미널에 git 관련 상태들이 프롬프트에 표시되어 편리합니다. 이 문서는 Ubuntu 에 zsh 설정하기 에 관한 글 입니다. zsh 설치 Ubuntu 의 경우 zsh 설치는 아주 쉽습니다. apt-get 을 이용해서 설치합니다.

테마 설치 및 설정 테마는 각 계정당 해줍니다. 사용할 계정에 설정을 해주시면 됩니다.

마지막에 기본쉘을 바꾸기위해서 사용자 계정의 패스워드를 물어보고 […]