안녕하세요. 린아저씨 입니다. 리눅스를 사용하다 보면 프로그램을 백그라운드에서 세션과의 연결이 끊어져도 돌려야할 일이 많이 발생합니다. 그럴때 주로 사용하는 명령어가 바로 nohup 과 & 명령어 입니다. 오늘은 nohup 명령어와 & 명령어에 대해서 아주 쉽게 설명해 보려 합니다. 1. nohup 명령어란 무엇일까? nohup은 no hang up 의 약자 입니다. 해석 그대로 "끊지마!" 입니다. 내가 세션과 연결을 종료해도 지금 실행시킨 프로그램을 종료하지 마! 라는 것이죠. 즉, 로그아웃으로 세션과의 연결이 종료되더라도 nohup 으로 돌린 프로세스는 데몬 형태로 실행되게 되어 종료되지 않고 계속 실행되는 것 입니다. 2. nohup 어떻게 사용하지? 중단 없이 실행하고자 하는 프로그램 명령어 앞..
안녕하세요. 린아저씨 입니다. 우리가 리눅스 OS를 사용하면서 안쓰고 싶어서 안쓸수 없는 프로그램 중 하나가 'vi에디터' 입니다. CentOS를 쓰는 사람도, Ubuntu를 쓰는 사람도 vi 없이는 텍스트 파일 편집을 할 수 없습니다. (물론, nano 에디터도 있긴 해요!) 그래서 이번에는 "이것만 기억해" 시리즈로 vi 에디터에 대해 필수 단축키만 다뤄볼 생각입니다. (사실.. 맨날 쓰는 명령어만 써요 ^^;;) 사실 저희가 맨날 쓰는 vi 에디터는 현재는 vim 에디터 입니다. vi에서 성능이 향상된 프로그램이 vim인데 많은 사람들이 이미 vi 명령어에 익숙해져 있으니까 vim에 자동으로 alias를 걸어줘서 vi로 vim을 실행시키고 있습니다. (그리고 vim은 세글자지만 vi는 두글자라 한글..
안녕하세요. 린아저씨 입니다. 오늘은 MySQL Server 설치 방법에 대해서 포스팅하려고 합니다. 사실 Internet이 가능한 Public 환경에서라면 MySQL Server 설치는 아주 쉽습니다. 자 그럼 바로 설치해 봅시다. 1. apt Repository 업데이트 MySQL Server를 설치하기 전 apt repository를 최신으로 업데이트 해줍니다. $ sudo apt update 2. MySQL Server 설치 특정 버전을 선택할 것이 아니라면, ubuntu apt repository에서 제공해주는 버전으로 설치합니다. 20년 04월 14일 기준으로는 mysql server 5.7 버전을 제공해주고 있습니다. $ sudo apt install -y mysql-server 특별히 물어..
안녕하세요. 린아저씨 입니다. 회사에서는 모니터가 3개 세팅되어 있어서 불편함 없이 쓰지만, 집에서는 현재 모니터 한개로 쓰고 있어서 모니터 한개가 아쉬운 상황입니다. 그래서 기존에 가지고 있던 아이패드를 듀얼 모니터로 사용하는 방법에 대해 포스팅하고자 합니다. 먼저 준비물은 아이패드와 라이트닝 케이블, "duet display" 이라는 앱을 아이패드에 설치하는 것입니다. Duet Display는 12,000원 이라는 거금의 앱이긴하지만 개인적으로 아까운 금액은 아니라고 생각듭니다. 아이패드의 활용도를 +30 정도 올려주는 것 같습니다. 그렇게 Duet Display를 설치완료하면, 이번에는 윈도우에 Duet Display를 설치합니다. 윈도우는 무료에요!!! 아무 검색창에나 Duet Display라고 ..
MySQL도 버전업이 진행되면서, root 패스워드 변경 방법도 변화가 있었습니다. 기존 방법대로는 패스워드 변경이 안되는 경우가 있어서 다시 한번 정리 합니다. 제가 테스트한 버전은 ubuntu 18.04 이고, 공식 ubuntu respository에서 apt update 후에 mysql-server를 설치하게 되면, MySQL 5.7이 설치 됩니다. MySQL 5.7을 설치할 때는 별도로 root 패스워드 설정하는 과정이 나오지 않고 바로 설치가 완료됩니다. 따라서 설치가 완료되면 sudo 권한을 통해 mysql 접근해야합니다. $ sudo mysql -u root -p Eneter password: 패스워드를 물어보면 그냥 Enter를 치면 로그인이 됩니다. 이제 원하는 패스워드로 root 패스워..
top 시스템의 상태를 전반적으로 빠르게 파악 가능 (CPU, Memory, Process) 옵션 없이 입력하면 interval 간격(기본 3초)으로 화면을 갱신하며 정보를 보여줌 top 실행 전 옵션 순간의 정보를 확인하려면 -b 옵션 추가(batch 모드) -n : top 실행 주기 설정(반복 횟수) top 실행 후 명령어 shift + p : CPU 사용률 내림차순 shift + m : 메모리 사용률 내림차순 shifi + t : 프로세스가 돌아가고 있는 시간 순 k : kill; k 입력 후 PID 번호 작성. signal은 9 f : sort field 선택화면 -> q 누르면 RES 순으로 정렬 a : 메모리 사용량에 따라 정렬 b : Batch 모드로 작동 1 : CPU Core별로 사용량 ..
TMPFS(Temp File Storage) tmpfs는 유닉스 계열 운영 체제의 임시 파일 스토리지(Temp File Storage) 기능을 일컫는 이름이다. 마운트된 파일 시스템 처럼 보이지만 영구적인 기억 장치가 아닌 휘발성 메모리에 저장 된다. 덜 사용되는 페이지들을 스왑공간으로 스왑 아웃 처리를 하며, 메모리 부족현상을 피하고자 올라오는 페이지의 크기와 inode를 제한한다. (물리 RAM의 절반, RAM페이지 수의 절반) 간혹 메모리 영역이 부족으로 Target Error가 나면, tmpfs의 공간을 늘림으로 해결도 가능하다. # mount -o remount,size=10G tmpfs ramfs와 tmpfs의 차이 기본적으로 ramfs와 tmpfs는 몇가지 세세한 사항을 제외하고는 거의 동일..
Spark 를 사용하면서 Jupyter Notebook에 연동해서 사용하기도 하지만, Cli 환경에서 바로 Spark-shell에 붙어서 사용하는 경우 많다. 이때, 발생할 수 있는 Warning 중 두가지 사례에 대해 정리하려고 한다. 현재 화면은 Spark 1.6 버전이지만, Spark 2.X 버전에서도 동일하게 발생할 수 있다. 1) 경고 메세지 Failed to created SparkJLineReader 원인 spark-shell을 실행시키는 유저의 OS 홈 디렉터리 문제로 Permission denied의 경우 유저 홈 디렉터리에 접근권한이 없는 경우 발생. 아예 홈디렉터리 없는 경우에는 No such file or directory 라는 메시지 발생. 해결 spark-shell 유저의 OS ..
최근 외부망에 연결되지 않은 우분투에 호튼웍스 HDP Local Repository를 구축하면서 패키지 리스트에 apt 패키지를 등록하는 작업을 하였습니다. CentOS에는 Local Repository 생성하는 작업을 기존에 여러번 진행해 보았기 때문에 apt-key를 등록하는 방법까지 쉽게 했었지만, 이번에 우분투에 Local Repository를 등록하면 한참을 헤메었습니다. 그래서 이번 기회에 apt-key를 이용해서 gpg key를 등록하는 방법에 대해 정리하고자 합니다. apt key가 제대로 등록되어 있지 않을 경우에는 apt update 가 정상적으로 실행되지 않습니다. Command : apt-key Usage: apt-key [--keyring file] [command] [argume..
Hadoop User Experience의 약자인 Hue는 Hadoop 클러스터와 함께 사용되는 웹 기반 사용자 인터페이스입니다. Hue는 Hive Query Edit 및 Spark Job 등을 실행할 수 있고, HDFS 파일 Browsing 등이 가능합니다. 1. Identity provider 설치를 위해 WSO2 Identity Server 설치 1) https://wso2.com/identity-and-access-management/ 에서 wso2is-5.8.0.zip 다운로드 /opt/cloudera/security/saml 위치에 압축풀기 불러오는 중입니다... # cd /opt/cloudera/security/saml/wso2is-5.8.0/repository/conf # find ./ -..
Linux를 사용하다보면 ls cd 만큼 많이 사용하는게 grep 명령어 입니다. 그래서 조금 더 grep에 대해 자세히 정리하고자 합니다. grep은 입력되는 파일에서 주어진 패턴 목록과 매칭되는 라인을 검색한 다음 출력해주는 명령어 입니다. 1. 기본 문법 grep [option] pattern [file] 2. 옵션 옵션 설명 -c 매칭된 검색 결과를 출력하지 않고 매칭된 행의 총 라인 수를 출력한다. -i 매칭에 사용하는 문자의 대소문자를 구분하지 않는다. -l 패턴에 매칭된 라인이 하나라도 있는 파일의 이름만을 출력한다. -n 파일 내에서 매칭된 행 번호를 함께 출력한다. -s 에러 메시지 외에는 출력하지 않는다. -v 패턴과 매칭되지 않는 행만 출력한다. -w \로 둘러싸인 패턴표현을 하나의 ..
이제는 Disk 가격이 워낙 저렴해졌기 때문에 2T보다 작은 Disk를 사용하는게 더 이상하다. 그런데 fdisk를 이용해서는 2T까지 밖에 파티션이 되지 않아서 당황할때가 있다. 2T 이상으로 파티션을 설정할 때는 GNU에서 제공하는 parted 명령어를 사용해서 파티션을 잡아야한다. 1. 파티션 잡을 디스크 선택 # parted /dev/sdb 2. 디스크에 라벨링 (parted)mklabel gpt *기본적으로 linux partition은 MBR(Master boot Record) 방식이다. 그런데 이 MBR의 파티션당 최대 크기는 2TB이다. 따라서 18EB(엑사바이트)까지 파티션 크기를 잡을 수 있는 GPT(GUID partition Table) 방식을 써야한다. 3. 파티션 나누기 (part..