반응형

운영체제/Linux 18

[Linux] nohup을 이용한 백그라운드 작업

들어가며: 우리가 ssh를 접속해서 무언가를 작업을 할때 세션이 타임아웃되서 실행중이던 작업이 종료될때가 있다. 그럼 정말 너무 화가 치밀어 오르며, 다시 접속을 한 뒤에 그전에 작업을 다시 실행한다. 그래서 ssh connection이 끊어져도 작업을 할 수 있는 방법을 찾아보니 nohup을 이용해서 하는 방법이 있다. nohup을 이용하면 결과적으로는 세션이 타임아웃이 되어도, 내가 실행한 작업은 백그라운드에서 계속 실행한다. nohup을 사용하는 방법은 아래와 같다. nohub 사용하기: $ nohup command 1>/dev/null 2>&1 & 위에서 사용하는 명령어에 대해서 이해를 하기 위해서는 아래 내용을 읽어보시기 바랍니다. I/O Redirection: bash와 다른 shell에서는 ..

운영체제/Linux 2016.11.08

[Linux] Error: rpmdb open failed 해결방법

들어가며: 클라우데라에서 호스트를 추가한 뒤에, 배포하는데서 문제가 발생했다. 에러 내용은 아래와 같다. Error: rpmdb open failed 의 메시지가 뜨면서 설치가 되지 않았다. 문제를 살펴보니 yum을 실행할때 rpm의 db가 손상될 가능성이 있다고 해서 아래와 같이 해결하였다. 해결방법: 결과적으로 해결하는 방법은 기존 DB를 모두 지우고, 새로 생성을 하면 해결이 된다. $ sudo rm -f /var/lib/rpm/_db* $ sudo rpm -vv --rebuilddb

운영체제/Linux 2016.11.08

[Linux] 대량의 파일 옮기는 방법: Argument list too long의 문제 해결하는 방법

들어가며: 대량의 파일을 삭제하거나 이동할때, 아래와 같이 에러가 난다. 그 이유는 mv, rm, cp 등 많은 파일에 대해서 파일 개수 제한을 두고 있다. 그렇다면 어떻게 해야지 파일을 옮길 수 있을까. bash에서는 강력한 pipeline(|)이 있기 때문에 잘 활용하면, 간단한 코드도 한줄에 끝낼 수 있으니, 리눅스에서 개발하는 개발자들은 얼마나 커맨드를 아느냐에 따라 시간, 속도를 효율적으로 사용이 가능하다. $ mv * ../ 에러내용: /usr/bin/mv: Argument list too long 아래와 같이 사용하면 대량의 파일을 옮기거나 삭제가 가능하다. $ find . -type f | xargs -i mv "{}" ../

운영체제/Linux 2016.11.08

[Linux] 스토리지 추가하기 (포맷하기, 마운트하기)

들어가며 새로운 HDD, SSD 등 스토리지가 추가가 되면, 포맷을 하고 마운트를 하게 된다. 아래 내용은 추가된 스토리지 /dev/xvdb를 포맷하고, /mnt/data1에 마운트 하는 방법에 대해서 설명한다. 데이터를 다루는 작업을 한다면 필수. 포맷하기 $ sudo /sbin/mkfs.ext3 /dev/xvdb 마운트하기 $ sudo mkdir /mnt/data1 $ sudo mount /dev/xvdb /mnt/data1

운영체제/Linux 2016.10.13

[Linux] SSH key 생성 및 패스워드 없이 로그인하기

들어가며 linux에서 ssh키를 이용해 서버에 접속하는 경우가 많습니다. 특히 분산처리할때는 ssh키를 등록해 놓고 처리를 해야지 패스워드 없이 작업을 원활하게 진행이 가능합니다. 그렇다면 ssh키를 등록한다는 말이 무엇을까요? ssh-key는 내가 너의 비밀번호를 이미 알고 있으니, 다음부터는 너한테 비밀번호 물어보지 않고 접속할께 알겠지? 라는 의미라고 생각하시면 됩니다. 등록하는 방법은 서버와 클라이언트로 나누어서 생각하면, 서버는 내가 ssh를 통해 접속하고자 하는 컴퓨터를 의미하고, 클라이언트는 서버에 접속하기 위한 컴퓨터라고 생각하시면 됩니다. 클라이언트에서 ssh키를 생성하고, 생성된 키를 서버에다가 등록해주면 끝입니다. 그럼 생성하고 등록하는 방법에 대해서 알아보도록 하겠습니다. ssh ..

운영체제/Linux 2016.08.19

[Ubuntu] scp 사용법 - 서버간 데이터 전송하기 (file, directory)

들어가며 서버에서 작업을 하다보면 나의 로컬에 있는 데이터를 서버로 전송하거나, 서버에 있는 데이터를 내 로컬로 전송을 해야 하는 경우가 있습니다. 그럴때는 Ubuntu에서 제공하는 기본 커맨드인 scp를 사용하시면 됩니다. scp는 Security CoPy의 약자로 보안이 보장된 복사라고 할 수 있습니다. 보안이 보장 되었다는 말은 무엇이냐, 우리가 ssh를 통해 서버에 접속을 하면 22번 포트가 open이 되어 있어야 합니다. scp는 ssh와 동일한 포트를 사용하여 SSL기반의 세션 보안 프로토콜을 사용하기 때문에 기존에 사용하던 FTP와 다르게 보안측면에서 뛰어납니다.$ scp @:source_path : 내가 복사하고자 하는 파일이 경로를 입력합니다.username : 사용자 계정 아이디를 입력..

운영체제/Linux 2016.08.02

vi/vim에서 register(레지스터)/buffer(버퍼)를 사용하는 방법 (복사/자르기/붙여넣기)

Vi/Vim에서 레지스터를 이용해 복사, 잘라내기, 붙여내기 하는 방법 yy, dd를 이용해 복사 및 붙여넣기를 했고, pp를 통해 붙여넣기를 수행했습니다. 하지만, pp를 통해 붙여넣기전에 yy,dd를 했다면, 그 이전에 있는 내용이 아닌 가장 최근의 값을 사용하게 됩니다. 즉, 하나의 버퍼를 사용해서 복사, 잘라내기, 붙여넣기를 수행하고 있습니다. vi에서는 내부 register를 지원하고 있습니다. 아주 간단한 방법으로 동작합니다. 일단 :reg를 입력하면 현재 register의 항목을 볼 수 있습니다. " " "0 "1 "2 "3 "4 "5 "6 "7 "8 "9 "- ". "% "# "/ "" 레지스터 -> 바로 이전에 지워진 내용이 항상 들어 갑니다 "1 ~ "9 레지스터 -> 지워진 내용이 큐..

운영체제/Linux 2016.06.22

Linux(Ubuntu)에 Java설치 및 환경 설정하는 방법

Ubuntu에 Java설치 및 환경 설정하는 방법 Ubuntu에서 apt-get으로 Java를 설치하고, 환경변수를 설정하는 방법에 대해서 설명하겠습니다. 일단 설치하기에 앞서, java를 설치할때 어떤 설치 항목이 있는지 살펴보면 JRE, JDK가 있습니다. 그럼 각각 어떤 역할을 하는지 알고, 내가 필요한 부분만 설치하시면됩니다. JRE (Java Runtime Environment) 즉, 자바로 구현이 되어있는데 프로그램을 동작시킬 때 필요한 라이브러리들과, 기타 파일들을 가지고 있다. JRE는 JVM의 실행 환경을 구현했다고 생각하면 된다. JDK (Java Development Kit)은 JRE + 개발을 위한 도구(javac, java 등)을 포함합니다. 그럼 내가 만약 개발자라면 JRE가 아..

운영체제/Linux 2016.06.16
반응형