OS/Linux 22

[Linux/Error] java.net.BindException: Address already in use

위 에러는 현재 실행한 프로세스의 포트가 이미 다른 데서 사용 중이어서 발생한 에러다.이를 해결하기 위해선 다음 명령어를 입력한다. 먼저 netstat 명령어로 사용 중인 프로세스의 PID 정보를 확인한다.netstat -nap | grep 포트번호예) netstat -nap | grep 9003- 옵션 -n : 포트번호- 옵션 -a : 모든 프로세스 표시- 옵션 -p : 프로세스의 PID 정보위 사진에서 맨 오른쪽의 595880/haproxy에서 595880이 이미 사용 중인 포트 9003 프로세스의 PID이다. 저 PID를 kill 명령어로 종료시킨 후 원래 실행하려던 프로세스를 실행하면 정상적으로 실행될 것이다.kill -9 PID예) kill -9 595880

OS/Linux 2024.05.28

[Linux] vi 모드에서 한 줄 복사 후 붙여넣는 명령어

타임존 테스트를 위해 profile 파일을 수정하다가 테스트가 끝나면 원복해야 하는데 수정 전 내용을 다시 찾아야하는 과정이 귀찮다는 생각이 문득 들었다. 그래서 수정하려는 줄을 싹 복사한 후 그 밑줄에 붙여넣기 하는 vi 편집기 명령어를 찾아보았다. 나는 test.txt를 임의로 만들어 명령어를 사용할 것이다. 일단 vi로 test.txt 파일을 연다. test.txt를 열면 아래와 같이 텍스트가 작성되어 있다. 나는 마지막 문장을 복사할 것이다. 그러려면 마지막 문장인 'COPY & PASTE ...'로 커서를 이동시킨 후 yy 명령어를 사용하여 복사한다. vi 모드에서 'y'를 연속으로 2번 입력하면 된다. yy 명령어를 입력하면 아무 것도 뜨는 것이 없겠지만, 이미 복사가 된 상태이다. 이제 붙여..

OS/Linux 2024.04.01

[Linux] readlink 명령어로 JAVA_HOME 경로 찾기

보통 JAVA_HOME 경로를 찾을 때 /usr/bin/java라는 심볼릭 링크(symbolic link)를 타고타고 들어간다. 이 방법은 너무 비효율적이라 생각해서 찾다보니 readlink라는 명령어를 알게 되었다. readlink 명령어를 사용하여 /usr/bin/java를 입력하면 /usr/bin/java 링크의 원본 경로를 찾을 수 있다. $ readlink /usr/bin/java 이때, f 옵션을 추가하면 해당 링크의 절대 경로를 알려준다. $ readlink -f /usr/bin/java 실제 JAVA_HOME은 f 옵션을 사용했을 때 출력되는 절대 경로이다.

OS/Linux 2024.02.18

[Linux] JAVA_HOME 경로를 못 잡을 때 해결방법

/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.392.b08-2.el7_9.x86_64/jre/bin/java/bin/java: Not a directory 서버에서 한 프로세스를 기동시켰는데 계속 JAVA 경로를 제대로 못 잡고 있었다. 분명 자바 경로를 설정했는데 이상해서 .bash_profile을 다시 보니 export JAVA_HOME을 작성하는 걸 빼먹었다. 해결 위와 같은 에러가 발생한다면 .bash_profile에서 다음과 같이 export를 추가한다. JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.392.b08-2.el7_9.x86_64/jre export JAVA_HOME export JAVA_HOME을 추가하니 정상적으로 프로..

OS/Linux 2024.01.31

[Linux] Resource temporarily unavailable(자원이 일시적으로 사용 불가능함)

Resource temporarily unavailable(자원이 일시적으로 사용 불가능함) 정상적으로 잘되던 계정 전환이 갑자기 되지 않으면서 다음과 같이 에러가 떴다. 그래서 계정에 할당된 리소스를 확인해보았다. 이는 /etc/security/limits.conf에서 확인하면 된다. vi /etc/security/limits.conf root soft nofile 81920 root hard nofile 81920 root soft nproc 81920 root hard nproc 81920 위와 같이 root에는 리소스가 할당되어 있었으나, 내가 접속하려는 계정은 그렇지 않았다. 그래서 해당 계정도 /etc/security/limits.conf에 추가하였다. vi /etc/security/limit..

OS/Linux 2023.10.16

[Linux] 파일 내용만 지우기

파일 내용만 지우기 abc.txt 파일에 위와 같은 내용이 담겨있다. abc.txt 파일 자체를 삭제하지 않고 안에 내용만 지우고 싶을 땐 다음 명령어를 입력하면 된다. $ cat /dev/null > 파일명 -- 만약 abc.txt 파일 내용을 삭제하고 싶다면 $ cat /dev/null > abc.txt 처음에 $ cat abc.txt 입력했을 땐 abc.txt 파일 내용이 출력됐었는데 지금은 파일 내용이 지워져서 출력되지 않는다. cf) /dev/null : 윈도우의 휴지통과 비슷한 역할을 하는 리눅스의 블랙홀이다.

OS/Linux 2023.08.22

[Linux] 리눅스 시스템 시간 변경

한 고객사가 AWS EC2 인스턴스를 사용하여 서버를 운영하고 있었는데 현 회사 솔루션 내 작업 로그시간을 UTC가 아니라 KST로 보이게 해달라는 요구를 하였다. AWS EC2 인스턴스의 시스템 시간은 기본적으로 UTC를 따른다. 솔루션은 시스템 시간에 따라 로그를 출력하기 때문에 UTC의 경우 우리나라 시간보다 9시간 전으로 로그가 찍혀 일반 사용자들은 보기 어려울 수 있다. 나는 이를 ..

OS/Linux 2023.08.14

[Linux] /etc/hosts 파일

hosts 파일 컴퓨터가 도메인의 IP를 찾을 때 컴퓨터가 가장 먼저 조사하는 파일로, Linux에서 DNS보다 먼저 hostname을 IP로 찾아준다. DNS 매핑 과정 IP 주소로 접속하기란 번잡하므로 사람이 외우기 쉬운 주소로 도메인을 사용한다. tistory.com을 예로 들겠다. tistory.com을 입력했을 때 브라우저는 DNS 서버에 접속하여 tistory.com의 IP 주소를 찾는데, DNS 서버가 해당 IP를 알려주면 이에 접속해서 사이트를 띄운다. 이때, tistory.com을 입력했을 때 컴퓨터가 DNS 서버에 hosts 파일을 먼저 조사한 후 IP 주소를 찾는다. hosts 파일에서 해당 IP 주소를 찾는다면 DNS 서버는 더이상 그 도메인에 대해 묻지 않는다. hosts 파일 구..

OS/Linux 2023.07.29

[Linux] CentOS7 ssh 설치 및 접속

ssh 설치 유무 확인 # rpm -qa | grep ssh* 나는 ssh가 설치되어 있었다. ssh 설치 # yum install [설치할 openssh 패키지] 혹시 몰라 다시 openssh-server를 다시 설치하였다. 만일, 서버가 설치되어 있지 않다면 openssh-server*를 설치하고, 클라이언트가 설치되어 있지 않다면 openssh-clients*를 설치하면 된다. ssh 설정파일 편집 # vi /etc/ssh/sshd_config PermitRootLogin : root 계정으로의 로그인 허용 여부를 설정한다. yes는 허용, no는 차단하는 것이다. 나는 테스트를 위한 것이므로 root 계정으로의 로그인을 허용하였다. ssh 자동실행 등록 및 시작, 상태 확인 -- ssh 자동실행 ..

OS/Linux 2023.07.23

[Linux] yum으로 java 설치

처음에 CentOS를 깔고 터미널에서 명령어 java -version 또는 which java를 입력했을 때 아무 것도 안뜰 수 있다. 그럴 때 java를 설치해주어야 하는데, 먼저 jdk-devel 패키지가 깔려있는지 확인해야 한다. jdk가 깔려있어도 jdk-devel이 없으면 안된다. jdk 설치 유무 확인 # yum list installed *jdk-devel 위 명령어를 입력했을 때 'Error: No matching Packages to list' 라는 문구가 출력된다면 jdk-devel 패키지를 설치해야 한다. 설치 가능한 jdk 확인 # yum list java*jdk-devel jdk 설치 # yum install [설치할 jdk-devel 패키지] 나는 java-1.8.0-openjd..

OS/Linux 2023.07.23