[bash: iconv] iconv를 이용한 텍스트 인코딩 확인
By 반달가면 | 2017년 8월 4일 |
인코딩이 불분명한 텍스트 파일이 있을 경우 iconv를 이용하는 간단한 셸 스크립트를 작성해서 인코딩을 확인해 볼 수 있다. 캐럭터 인코딩을 변환해주는 도구인 iconv에 대한 기본적인 내용은 이전 게시물을 참고하자. 여기로 방법은 단순하다. iconv에서 지원하는 인코딩 목록 전체를 가지고 현재 내 리눅스 시스템에서 사용중인 인코딩(통상 UTF-8)으로 한번씩 다 변환해 보는 것이다. 이걸 수작업으로 하기가 귀찮으므로 스크립트를 만들어서 하면 된다. 먼저, iconv에서 지원하는 인코딩 목록을 출력해 보자. # 지원하는 캐럭터 인코딩 목록 확인 iconv -l | more 437// 500// 500V1// ... iconv 버전에 따라 출력이 다를 수도 있겠는데, 어쨌든 데
OS별 EOS 정리
By 멋진넘 | 2018년 8월 14일 |
IT 관련 관리자로 있다보면, 이런 저런 일들이 많은데, 그중에 하나가 OS의 EOS와 연관된 서버에 대한 이슈를 확인하는 일이다. 특히 새로운 것에 대해서 수행할때, EOS에 대해서 관심있게 한다. 1. CENTOS 20. What is the support ''end of life'' for each CentOS release? CentOS 3 CentOS-3 updates until October 31, 2010 CentOS 4 CentOS-4 updates until February 29, 2012 CentOS 5 CentOS-5 updates until March 31, 2017 CentOS 6 CentOS-6 updates until November 30, 2020 Ce
[리눅스커널][스케줄링] ftrace로 컨택스트 스위칭 동작 확인
By Guillermo Austin Kim | 2019년 3월 6일 |
ftrace로 컨택스트 스위칭 동작 확인 이전 절에 봤던 ftrace 로그를 살펴보면서 스케줄링 동작을 살펴봅시다.lxpanel-718 [002] d... 7831.739824: sched_switch: prev_comm=lxpanel prev_pid=718 prev_prio=120 prev_state=D ==> next_comm=Xorg next_pid=552 next_prio=120 먼저 메시지 가장 왼쪽 부분을 보겠습니다. CPU2에서 lxpanel(pid-718) 프로세스가 실행 중입니다. 휴면에 진입할 프로세스는 lxpanel(pid=718) 이고 다음에 실행될 프로세스는 Xorg(pid=552)입니다. - struct task_struct *prev: prev_comm=lxpane
[리눅스커널] 동기화 - 유저 프로세스 시스템 콜 호출 시 레이스 컨디션
By Guillermo Austin Kim | 2018년 10월 3일 |
유저 공간에서 생성된 프로세스는 여러 개 쓰레드를 생성합니다. 이 쓰레드들이 같은 디바이스 노드에 접근해서 시스템 콜을 발생하며 커널과 통신합니다. fork() 라는 함수를 유저 공간에서 시스템 콜로 호출하면 유저 공간에서 sys_clone()이란 함수 호출로 프로세스를 생성합니다. 유저 공간에서 open(), write() 그리고 ioctl() 이란 함수를 호출하면 이에 대응하는 시스템 콜을 호출해서 커널 공간과 통신합니다. 이번에는 시스템 콜 관련 함수에서 발생한 레이스 컨디션을 확인합니다. 먼저 패치 코드를 소개하겠습니다.1 diff --git a/kernel/exit.c b/kernel/exit.c2 --- a/kernel/exit.c3 +++ b/kernel/exit.c4 @@ -760,10 +