Category Archives: Linux

MKBlog 관리자 입니다.
Linux 프로그램의 사용 방법을 정리할 게획입니다.
제가 잘 몰라던 부분 위주로 정리할 계획입니다.
감사합니다.

[Linux-Ubuntu] 일정 주기로 CMD 실행하기 (Crontab)

실험환경: Ubuntu 18.04 Ubuntu에서 특정 CMD(명령어)를 반복적으로 실행하기 위해서 Crontab이란 리눅스 전용 작업 스케줄러를 사용하면 된다. 사용 방법은 모두 출처 1에서 참조하였다. 상세한 내용은 출처 1을 참조하면 된다. Crontab에 등록된 CMD 확인 CMD를 사용하여 현재 Crontab에 등록된 모든 CMD를 확인 할 수 있다. 아래 그림 1은 현재 등록된 CMD를 수행한 화면이다. 현재 2가지 CMD가 설정되어… Read More »

[Linux-Ubuntu] Python 버전 변경

실험환경: Ubuntu 14.04 & Ubuntu 18.04 Ubuntu Linux에서 Python 버전을 변경하는 방법을 정리하였다. 모든 자료는 출처 1에 기준으로 작성하였다. 가장 먼저 아래 CMD를 실행해서 등록된 Python이 있는지 확인한다.  “//MK”는 주석을 의미하고, “$” 뒤에 있는 CMD는 Terminal에 실행해야 하는 부분이다. 만약 아래와 같은 에러 메시지가 나오면 등록된 Python이 없다는 의미이다.  그림1과 같은 에러 메시지가 나올 경우 아래와 CMD를… Read More »

[Linux-Ubuntu] Samba 공유 폴더 설정

실험 환경: Ubuntu 14.04, Ubuntu 18.04 Linux(Ubuntu)와 Window 사이에 파일을 공유(?)하기 위해서 Samba를 사용해서 공유 폴더를 설정한다. 아래 코드에 따라 실행하면 간단히 공유 폴더를 설정할 수 있다. “#”뒤는 주석이며, “$”뒤는 터미널에서 실행해야 하는 CMD이다. “#—#”안의 내용은 smb.conf 파일 마지막 부분에 작성해야 하는 코드이다. 모든 코드를 작성 후 Samba Service를 다시 실행하면 된다. 위와 같이 설정 완료 후 윈도우에서… Read More »

[Linux-Ubuntu] Python 빌드 및 설치 하기

실험환경: Ubuntu 18.04, Ubuntu 14.04 + Python 2.7.10 빌드 및 설치 Ubuntu Linux의 경우 보통 “apt-get install python2.7.” 와 같은 CMD를 사용해서 Python을 설치할 수 있다. 하지만 모든 Python 버전을 앞의 CMD를 사용해서 설치할 수는 없다. 다른 버전이 필요한 경우 직접 빌드해서 설치를 진행해야 한다. 출처 1을 참조하여서 Python을 빌드하고 설치하는 방법에 대해서 정리하였다. 아래… Read More »

[Linux-Ubuntu] 윈도우 공유 폴더 Mount 하기 (cifs-utils)

실험환경: Ubuntu 18.04 + Window 10 윈도우 공유 폴더를 Ubuntu Linux에 Mount해서 사용할 경우 아래와 같이 작업을 수행하면 된다. 먼저 아래 CMD를 실행해서 cifs-utils을 설치한다.  $sudo apt-get install cifs-utils 다음으로 아래 CMD를 사용해서 윈도우 공유 폴더(192.168.0.1의 D 드라이브를 의미)를 Linux의 “/home/mkblog/database/”에 마운트하게 된다. 앞에 작성한 PATH는 단순한 예제이다. 원하는 위치에 Mount를 하면 된다. $sudo mount -t… Read More »

[Linux] SELinux: Enforcing vs. Permissive Modes

SELinux는 미국 국가안보국(NSA – National Security Agency)이 개발한 Flask 라는 보안 커널을 리눅스에 이식한 커널 레벨의 보안 모듈이다. NSA는 리눅스에 강제 접근 통제를 구현하기 위해 리눅스 커널의 많은 부분을 수정했으며 그 결과물을 리눅스 커뮤니티에 기증하여 2003년부터 2.6 버전의 커널에 공식 포함되게 되었다 (출처 1).  SELinux를 Enabled 또는 Disabled로 설정할 수 있다. Disabled된 경우 DAC (Discretionary… Read More »

[Linux] Converting Video (MP4) File to Image (Frames) Files (동영상 파일을 프레임 단위로 변환)

동영상 파일(MP4)을 구성하고 있는 모든 Frame을 이미지 형식으로 변경하는 방법에 대해서 정리해 보았다. Ubuntu 18.04에서 아래 CMD를 실행하면 영상의 모든 Frame을 이미지 파일(jpg)로 변환해준다. $ ffmpeg -i SampleVideo.mp4 SampleVideoFrame%04d.jpg -hide_banner -i : -i 옵션 다음에는 Input Video 파일 이름을 작성한다. SampleVideoFrame%04d.jpg: Output Image 파일 이름을 작성한다. 파일 이름 뒤에 있는 %04d 는 4자리 숫자를 사용하여… Read More »

[Linux] “TOP” 명령어 설명

리눅스를 사용하다 보면 “Top” 명령어를 자주 사용하게 된다. 해당 명령어를 사용하면 현재 실행 중인 프로세스의 정보를 확인할 수 있다. 다양한 정보가 출력되는데 정확한 의미를 몰라서 정리해보았다. 우선 개인적으로 필요한 부분만 정리하였다. 더 필요한 정보가 있는 경우 추가로 정리할 예정이다   “Top” 명령어 (출처 1) 처음 실행 시 $top -b: 모든 정보를 한번에 출력함 $top -n… Read More »

[Vim/Linux] cscope 사용 방법 (CMD 정리)

cscope는 Linux Vim Editor 에서 변수, 함수, 매크로, 구조체 등을 검색하기 위해서 사용된다 (출처 1). ctag의 부족한 부분을 채워주기 위해서 많이 사용된다고 한다. cscope 정리 이후에 ctag에 관련된 부분도 따로 정리할 계획이다. 나의 경우 보통 ctag는 함수가 선언된 부분을 찾아서 이동하기 위해서 많이 사용하였다. 하지만 ctag의 경우 해당 함수가 호출되는 부분을 찾아주지 못하는 단점(?)이 있다.… Read More »

[Linux – Ubuntu] gcc & g++ 버전 변경 (Change gcc & g++ versions)

Ubuntu Linux에서 실험을 진행하다 보면 gcc 및 g++ 버전을 변경해야 하는 경우가 자주 생긴다. 특히 기존에 공개된 소스를 컴파일하는 경우는 버전으로 인한 에러가 상당히 자주 발생한다. 가장 좋은 방법은 gcc & g++을 home 폴더에 설치하는 방법이다. 하지만 gcc & g++을 home 폴더에 컴파일을 한번 해보았는데 개인적으로 엄청나게 힘든 경험이었다. 그래서 Ubuntu에서 root 권한을 이용하여 gcc… Read More »