linux를 사용하며 자주 사용하는 명령어에 대해 정리한다. zetawiki.com/를 참조하였다. 리눅스 종류 확인 $ grep . /etc/*-release 다른 계정으로 전환 - testuser 계정으로 전환 $ su - testuser 특정 명령어 root 실행권한 주기 - 사용 전 사용자 계정에 대한 권한 부여가 있어야 한다. $ sudo /usr/sbin/httpd -k stop CPU 사용량 확인 - 사용량이 높은 프로세스부터 확인 $ top Memory 사용량 확인 $ free 현재 디렉토리 용량 확인 $ du -hs * 프로세스 확인 - process_name에 해당하는 process가 떠 있는지 확인 $ ps -ef | grep process_name 프로세스 종료 $ kill proc..
지난번에는 rpm으로 설치한 package에 대해 삭제를 했는데 이번에는 yum으로 설치한 package를 삭제하는 방법에 대해 알아보겠다. yum 으로 설치된 package 목록을 확인한다. $ yum list installed | grep [설치한 package] grep을 안써서 하는 사람들도 있지만 grep을 사용하는 것이 여러모로 편한것 같다. yum으로 설치한 전체 list를 확인하려면 yum list installed 만 입력하면 된다. 설치목록을 확인했으면 이제 삭제를 해주면 된다. $ yum remove [삭제할 package명] 삭제가 잘 되었다. 중간에 y 한번 눌러주면 된다. 다시 yum list installed 로 확인해본다. 끝!
기존에 rpm을 통해 설치한 package가 있는데 이를 지우고 싶은 경우가 있다. 가령 다음과 같은 상황이다. 사정상 더 낮은 버전의 zabbix를 설치해야 하는데 이미 최신버전이 깔려있어서 설치를 할 수 없다. 그래서 기존에 설치된 package를 삭제하고자 한다. rpm 으로 설치된 package를 일단 확인을 한다. $ rpm -qa | grep [package 명] 설치를 확인했으면 지워준다. rpm -e 명령어를 통해 삭제할 수 있다. $ rpm -e [삭제할 package명] 삭제를 하고 확인을 한번 해준다. 삭제가 정상적으로 된것을 확인할 수 있다. 만약 삭제가 정상적으로 안되고 dependency 관련 오류가 난다면 다음과 같이 한다. $ rpm -e [삭제할 package명] --nod..
web/was 세팅을 마치고 브라우저에서 잘 연결이 되는지 확인을 하려고 nginx에 설정한 도메인을 딱 치는순간! 왜 이런 오류가 날까? 원인을 파악해 보니 web서버에서 was서버로 (물리적으로 다른 서버) 연결을 하는 경우만 이렇다. web to web 은 nginx 설정대로 아주 잘 된다. 그렇다는것은 web 서버와 was 서버간의 방화벽이 문제가 될수 있는다는 것이다. 방화벽이 열렸는지 확인할 수 있는 방법은 telnet도 있지만 오늘은 netcat (or ncat)에 대해서 살펴보겠다. (기존의 netcat을 크게 개선시킨것이 ncat 이라고 한다.) 일단 nc가 설치가 되었는지 확인을 해본다. 역시 깔려있지 않다. 인생이 그렇게 호락호락하지는 않은것 같다. $ yum install nc yu..
springboot 로 프로젝트를 구성하고 배포환경을 구성하였다. 이제 실행 스크립트만 작성을 하면 되는데 문제가 생겼다. 내장 was를 사용하기에 springboot 실행/중지 파일 (start.sh/stop.sh) 을 직접 만들어줬고 이를 통해 실행을 하려 한다. start.sh ( before ) #!/bin/bash java -jar /springboot jar경로/sample.jar --spring.profiles.active=dev 이걸 jenkins의 Execute Shell을 통해 혹은 linux shell에서 실행을 한다면 springboot가 background로 실행되는것이 아니라 실행된 상태로 끊어지지 않고 대기한다. 이걸 ctrl+c 와 같은 행위로 멈춘다면 실행도 멈추게 된다. ..
배포환경을 구성하다보면 서버간 ssh 연결이 안되는 경우(거의 대부분)을 볼수 있다. 이럴 경우에는 방화벽으로 막혀 있는것이 아니라면 hosts.allow 설정으로 해결할 수 있다. 배포서버를 A, 개발서버를 B 라고 한다면 A가 source, B가 destination이 된다. 이때는 hosts.allow 를 설정은 B에서 하면 된다. 주석이 끝나는 부분 다음에 다음과 같이 설정한다. B 서버 hosts.allow (vi /etc/hosts.allow) 설정 sshd:ip1 ip2 ip3 이런식으로 공백을 두고 여러 IP를 입력할 수 있다. sshd 외에 pop, vsftpd, sendmail 등의 프로세스도 제어할 수 있다. 또한 모든 프로세스를 허용 하려면 ALL: ip1 ip2 ip3 이런식으로 ..
CentOS에서 JAVA를 설치해보자. openjdk11 을 설치할것이기 때문에 이것부터 구해야 한다. Archived OpenJDK GA Releases Archived OpenJDK General-Availability Releases This page is an archive of previously released builds of the JDK licensed under the GNU General Public License, version 2, with Classpath Exception. WARNING: These older versions of the JDK are provided to he jdk.java.net 여기에서 다운로드 받을 수 있다. 다운로드를 받았으면 압축을 풀어준다. $ ..
리린이(리눅스어린이)에게 서버 구성의 임무가 주어졌다. 리눅스를 많이 사용해보긴 했어도 남이 구성한 환경 위에서 기본적인 명령어나 shell script 정도 만들어서 동작시키고 하는것이 전부였는데 처음부터 구성을 해야 한다. 처음부터 하나씩 해보자. 일단은 사용자 추가 및 폴더 권한을 설정해서 특정 사용자는 특정 폴더에서만 작업을 진행하도록 해야한다. Group 생성 및 User 생성 root 계정으로 접속 후 $ groupadd -g 1010 testdev 이렇게 그룹부터 생성을 해준다. 1010 이라고 하는건 gruop_id (gid) 이다. 1000 이후의 숫자를 중복이 안되게 넣어주면 된다. 중복이 안되나 확인을 하려면 혹은 그룹이 잘 생성되었는지 확인을 하려면 $ vi /etc/group 으로..