기본 콘텐츠로 건너뛰기

추천 가젯

Tmux 환경에서 Vim 컴파일 시 발생하는 termio/termios 감지 오류 해결 방법

 리눅스 환경에서 소스코드를 직접 빌드하다 보면 의외의 환경 변수나 터미널 세션 설정 때문에 엉뚱한 빌드 에러를 마주할 때가 있습니다. 대표적인 예로 Tmux 세션 내부에서 Vim 소스를 컴파일할 때 발생하는 termio/termios 감지 오류 가 있습니다. 이번 글에서는 해당 에러가 발생하는 원인과, 단순한 clean 으로는 해결되지 않는 이유 및 올바른 해결 방법을 정리합니다. 1. 문제 원인 Vim의 소스 코드 빌드 과정( configure )은 시스템이 System V 계열인지 Linux 계열인지 판별하기 위해 termio.h 와 termios.h 헤더 파일 및 터미널 인터페이스를 검사(Probe)합니다. 하지만 Tmux 내부(세션 안)에서 컴파일을 진행할 경우 , Tmux가 제공하는 PTY(Pseudo-Terminal) 환경과 TERM=screen 등의 특수한 환경 변수 영향으로 인해 Autoconf가 터미널 인터페이스를 검출하는 과정에서 오동작을 일으킵니다. 그 결과, 실제 시스템 조건과 무관하게 설정 에러를 발생시키게 됩니다. 2. 왜 make clean 으로는 해결되지 않을까? 일반적인 개발 과정에서는 빌드가 꼬였을 때 make clean 을 실행하곤 합니다. 하지만 make clean 은 컴파일된 오브젝트 파일이나 바이너리( .o 파일 등)만 삭제할 뿐, Autotools가 시스템 환경을 탐색한 결과로 남긴 캐시( config.cache 또는 내부 매크로 변수)나 설정 파일들은 그대로 유지 합니다. 일반적인 상황에서는 시스템의 하드웨어/OS 정보가 바뀌지 않기 때문에 이 잔여물이 문제가 되지 않습니다. 그러나 Tmux나 Screen 같은 터미널 멀티플렉서 환경에서 탐색된 왜곡된 정보가 캐시에 박혀버리면, 나중에 Tmux 외부(일반 터미널)로 나와서 빌드를 시도해도 이전의 오염된 캐시 때문에 계속해서 오류가 발생하게 됩니다. 3. 해결 방법 이 문제를 해결하기 위해서는 반드시 Tmux 외부 환경 에서 기존의 오염된 설정 파일을 ...

보안을 걱정하는 당신들께 정말 중요한 일이 있다면 pgp를 사용하라 권하고 싶다.


  사용방법은 어렵지 않다.

 윈도우라면 gpg5win.org라는 싸이트를 참조하면 되고

리눅스 사용자들이라면 그냥 구글링해라. gnupg로 terminal인지

gui를 좋아하는지 취향을 탈 것이다.

그리고 안드로이드 사용자라면 apg를 추천한다. 이유는 내가 쓰고 있어서지

딱히 장점이 있어서는 아니다.
-------------------------------------------------------------------------------------
어떤프로그램을 사용하던지 가장 먼저 할 일은 openPGP key pair를 만드는 일이다.
(key pair란 공개키+비밀키를 말한다.)(다른방식의 key pair도 만들 수 있다.)
키를 만들 때는 본인의 이름 그리고 이메일주소(key를 만들때 hash에 들어갈것이다 아마)

그리고comment를 입력해야 한다.이름과 코멘트는 같은 이메일로 여러개의 키를 만들었을 때

상대방과 내가 구분하기 위해 사용된다. 이름은 보통자기이름 코멘트는 용도나

카톡 프로필 같은 것을 적으면 된다.

 키를 만들 때, 비밀번호가 필요하다.비밀번호 없이도 가능하지만 비밀번호가 없을 때는

비밀키만 빼가면 복호화(암호화의 반대)가 가능하기 때문에 적당히 어렵지만 까먹지 않을

비밀번호를 쓰던지 키 자체에 만료기간을 두는 방식을 사용하라.

 자 이제 만들어진 키를 비밀키ᅟ는 잘 보관하고 개인키를 나에게 비밀메시지를 보낼 상대방에게

보내라.  파일로  보내던가 ---BEGIN으로 시작하는 텍스트를 보내던가 그것은 알아서하면 된다.

또는 키서버에 올리면 된다. 다음은 내 공개키를 pgp.mit.edu라는 키서버에 올린 그 키다.

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: SKS 1.1.4
Comment: Hostname: pgp.mit.edu

mQENBFL91JABCACuzWUCbd8I5rvM0CresthuWJdDBHi3g9khPN0twDbcQWdCV9B1HqgBBFSt
3Q2xDODj5PIXiU3JP9J/BgCAA5nrbntHFgTbACujSmVKAFl6xjGrzJfhAoG3iasROJn2FTlb
GVfIFwAg90axFLuYqfERjPVfE/Y2wrPHwmnkO95tYro/UZFnaJdIpEe4CaGw2kcRE0JfCDdr
kFBfHpg4Mc7BCq7hDBeltQVQuJQGYdyGh8fd1rYEev0Yo9VM6ubPlDHBjdofoDG+u+6FUOYZ
fu9mF6oa36ZJNZE0BqfmdNX6aPg9QjT12HDDvv1UhfC2zbD4Pvb/ZKyzY9Jc4M/eurRNABEB
AAG0MUh5ZW9rIEtJTSAoS29ua3VrIFVuaXZlcnNpdHkpIDxla2gwMzI0QGdtYWlsLmNvbT6J
ATgEEwECACIFAlL91JACGw8GCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEI0HNn+ASP2n
DLwH/1Tf7USOLskb3ATqDIrCAtTB/r4h3ooCqNvf4D0ZrrKf/2Mc4+J+JK6BGwljDiRmRwRB
qsKrAAHIfHoOSE8O1ZgrTfXdnyRM7Z0umT3LrR7J2dWNaFSbO9HwL8bq25j2bjd4hSNcEIA8
xn12Ricnufl3J+pOFyr0tOoAhnFFVoeH9QjFSKBBfO6vIBft48YTpW1yy+5axoAqAhsWVkEY
ZCkMkUFFEnU6FRc05lVyNkpJ8QzDN9l9vt2BBvi7lfNYA3v9sufQSEOnLxa5sjQjO6U7KrLH
M424LhLf2/g+S4B+/cpwsayCGNE3y/nKuhMxHfgZlIihi8ZZBHED95gQDcs=
=z/tO
-----END PGP PUBLIC KEY BLOCK-----
 
그리고 보통 상대방도 PGP암호화 프로그램을 사용한다면 이메일주소만 알면 
 
key server에서 찾아주는 기능들은 포함하고 있다. 만든사람의 용도로 자기 키를 
키서버에 올리는 기능도 있다. 
 http://www.gpg4win.org/doc/en/gpg4win-compendium_13.html 여기 가서 좌우로
다니면서 잘 따라하면 된다.  

읽어보니 gpg4win을 깔면 outlook에 붙어서 쉽게 쓸 수 있는 것 같다. 
 


-------------------------------------------------------------------------
쉽게 쓰는 것은 그렇고 조금 귀찮지만 어떤 text 던지 data던지 암호화가 가능하다. 

파일을 암호화 하는 것은 이메일 보낼줄 아는 사람이라면 메뉴 뒤지면 할 수 있다. 

중요한것은 text를 암호화 할 수 있다는 것이다. 잘 찾아봐라 다 있다. 없으면
 
text파일을 암호화 해서 보내면 되기는 한데 암호화가 안되어 있는 메신저 서비스를 
 
엿맥이기에는 좀 부족하다. 잘 찾아서 text 창에 글쓰고 공개키 고르고 암호화 하고
 
암호화된 이상한 텍스트 ---BEGIN으로 시작하는 녀석을 그대로 text창에 입력후 보내면 된다. 
 
 그다음 받은 사람이 자기 비밀키로 암호화를 풀면된다. 
 
처음에는 Tutorial을 작성하려고 했는데 귀찮아서 도저히 못하겠다.
 
 인터넷에 올라온 tutorial 작성자들 진짜 -_- 존경한다.  

댓글