목록Linux (18)
삶 가운데 남긴 기록 AACII.TISTORY.COM
1. Ubuntu 서버 다운로드https://ubuntu.com/download/server https://ubuntu.com/download/server ubuntu.com2. 네트워크 연결우분투 설치에는 큰 어려움이 없겠지만, DHCP가 아닌 Manual로 고정 IP로 설정을 할 때 주의할 점이 있습니다.네트워크 관리자에게 받은 네트워크 설정 정보는 아래와 같다고 가정하겠습니다.SUBNET: 255.255.255.0Address: 192.168.2.60 GATEWAY: 192.168.2.1Name servers: 8.8.8.8우분투를 설치할 때 위와 같이 설정하면 빨간 글씨로 안된다고 나옵니다.결론적으로 말하면 아래처럼 CIDR 표기법으로 설정해야 합니다. SUBNET: 192.168.2.0/24..
여기서는 grep의 다양한 옵션에 대해 다루지는 않겠습니다. 사용하기 유용했던 패턴 샘플만 몇개 언급하도록 하겠습니다. 1. 실행 중인 프로세스 중 "java"를 포함하는 프로세스를 찾을 때 ps -ef | grep java 하지만 이건 우리가 찾으려는 프로세스 외에 프로세스가 grep 자체 프로세스도 표시되는데요. 그래서, 2. 실행 중인 프로세스 중 "java"를 포함하는 프로세스를 찾되, grep로 시작하는 프로세스를 제외할 때 ps -ef | grep java | grep -v grep 요렇게 하면 됩니다. 3. 실행 중인 프로세스 중 "java"를 포함하는 프로세스의 PID만 찾되, grep로 시작하는 프로세스를 제외할 때 ps -ef | grep java | grep -v grep | awk ..
https://aacii.tistory.com/381 /var/cache 디렉터리의 용량 부족 리눅스 서버를 운영하다가 종종 /var/cache 디렉터리의 용량이 부족한 경우가 있습니다. 이럴 때 대처하는 방법을 소개합니다. 캐시 파일 확인 먼저 /var/cache 디렉터리 내의 파일 및 하위 디렉터리 blog.aacii.net /var 파티션이 용량이 부족한 관계로 디스크를 추가했습니다. CentOS 7에서 디스크를 추가하고 /var 파티션 용량을 확장해보겠습니다. 당연하겠지만 root 권한으로 작업해야합니다. su - 디스크 용량 확인 df -h 새 디스크 확인 새로운 디스크가 시스템에 제대로 인식되었는지 확인합니다. fdisk -l 리눅스에 설치된 디스크 목록을 확인합니다. /dev/sda1 /de..
리눅스 서버를 운영하다가 종종 /var/cache 디렉터리의 용량이 부족한 경우가 있습니다. 이럴 때 대처하는 방법을 소개합니다. 캐시 파일 확인 먼저 /var/cache 디렉터리 내의 파일 및 하위 디렉터리를 확인하여 어떤 파일이 공간을 차지하고 있는지 확인합니다. du -sh /var/cache/* 용량 크기순으로 정렬된 목록이 나타납니다. 캐시 파일 정리 불필요한 캐시 파일이나 오래된 파일을 삭제하여 공간을 확보할 수 있습니다. sudo yum clean all 오래된 패키지 캐시를 삭제할 수 있습니다. 패키지 관리 도구 사용 시스템에서 사용하지 않는 패키지를 확인하고 삭제하여 불필요한 파일을 제거합니다. sudo yum autoremove 디스크 용량 확인 df -h
CATALINA_HOME과 CATALINA_BASE를 분리 Tomcat 하나에서 여러 web application 을 context root를 분리해서 구동시킬 수 있습니다. 그런데 $CATALINA_HOME과 $CATALINA_BASE를 분리해서 하나의 Tomcat으로 여러개의 인스턴스를 각각 다른 포트 번호로 구동할 수도 있습니다. 여러 인스턴스로 구동하게 되면 각각의 구동 환경을 분리해서 webapp을 구동시킬 수 있습니다. 이렇게 하면 tomcat을 업데이트 할 때 인스턴스는 그대로 두고 tomcat만 교체하면 되기 때문에 편리합니다. server.xml 파일 하나에 여러 호스트 정보를 등록해서 관리 할 수도 있는데 이런 경우 Tomcat 재구동시 모든 서비스들이 재시작되므로 추천하지 않습니다. ..
설치 가능한 JDK 확인 sudo yum list java*jdk-devel 설치 가능한 JDK 리스트가 출력됩니다. openjdk11 설치 sudo 나 root계정이 필요합니다. sudo yum install java-11-openjdk-devel.x86_64 JAVA_HOME 설정 .bashrc는 세션이 시작될 때 자동으로 환경 변수가 등록되며 .bash_profile 은 1회용 환경변수이므로 세션이 달라지면 사라집니다. 우선 jdk의 경로를 확인합니다. find / -name "javac" 2>/dev/null 여기서는 로그인한 계정의 홈 디렉토리에있는 .bashrc를 수정하도록 하겠습니다. vi ~/.bashrc 여기서의 JAVA_HOME 경로는 위에서 설치한 jdk의 경로를 지정해둡니다. 만약 ..
RAID(Redundant Array of Independent Disks) 여러개의 디스크를 하나의 디스크 처럼 사용하는 방식 Linear RAID 2개 이상의 디스크를 1개의 볼륨으로 사용합니다. 첫 번째 디스크부터 데이터를 저장한 후 꽉차면 두번째 디스크에 데이터를 저장하는 방식입니다. 그래서 각 디스크의 용량이 달라도 문제없이 사용할 수 있습니다. RAID 0 Linear RAID와는 다르게 데이터를 각 디스크에 분할하여 동시에 저장하는 방식입니다. 동시에 저장하기 때문에 저장 속도가 획기적으로 향상됩니다. 단점은, 여러개의 디스크 중에서 한개가 고장나면 모든 데이터를 잃어버린다는 점입니다. 그래서 속도는 빨라야하지만 잃어버려도 큰 문제가 없는 데이터를 저장할 때 적절한 방식입니다. RAID 1 ..
IDE 장치와 SCSI 장치 IDE는 메인보드 슬롯에 각각 2개씩 총 4개 장착할 수 있습니다 표기는 IDE 0:0, 0:1, 1:0, 1:1처럼 표기합니다. 실제 컴퓨터에 CentOS가 설치되어 있다면 실제 물리 하드디스크를 장착하겠지만, VMware는 기본적으로 IDE 1:0 에 CD/DVD 장치를 장착해 줍니다. SCSI는 총 16개의 장치를 연결할 수 있습니다. 여기서 우리는 VMware에 하드디스크를 SCSI로 추가해볼 것입니다. VMware에서는 총 60개 까지 하드디스크를 사용할 수 있습니다. 리눅스에서는 SCSI디스크 이름을 /dev/sda 라고 부릅니다. 추가로 디스크를 장착하면 /dev/sdb, /dev/sdc, /dev/sdd 등으로 부르고 논리적인 파티션으로 나눠진 것은 /dev/s..
pid 메모리에 로딩된 프로세스를 구분해주는 id 값입니다. kill 명령어와 pid 값으로 강제로 종료할 수 있습니다. 다만 부모 프로세스와 자식 프로세스로 종속되어 실행되는 프로세스들도 있으므로 주의해야 합니다. jobs jobs 명령어를 실행하면 현재 실행되는 백그라운드 프로세스의 번호를 출력해줍니다. ps 현재 프로세스 상태를 확인하는 명령어 입니다. kill 프로세스를 강제 종료하는 명령어 입니다. -9 옵션과 함께 사용하면 무한 루프를 도는 프로세스도 강제 종료 됩니다. pstree 부모 프로세스와 자식 프로세스의 관계를 트리 형태로 보여주는 명령어 입니다. 단축키 stty -a 하면 정의된 문자를 볼 수 있습니다. 인터럽트 : ctrl-c 강제종료 : ctrl-\ end of file : c..
네트워크 장치 이름 확인 centOS 7은 네트워크 장치(랜카드) 이름을 ens32 또는 ens33 으로 인식합니다. ifconfing ens33 nmtui 이 명령어는 Network Manager Text User Interface로 네트워크 작업 대부분을 할 수 있습니다. ip설정, 서브넷 마스크, 게이트웨이, dns 정보 들을 편집 할 수 있습니다. systemctl start/stop/restart/status network nmtui 명령을 통해 편집할 내용을 적용할 때 쓰는 명령어 입니다. ifup 장치이름 여기서 장치이름은 위에서 언급했던 ens32 또는 ens33을 말합니다. 해당 네트워크 장치를 작동시켜주는 명령어 입니다. ifdown 장치이름 ifup과 반대로 해당 네트워크 장치를 끄는..
cron(주기적으로 반복되는 일을 자동으로 실행) at(일회성 작업 예약) crontab 명령어 형식 분 시 일 월 요일 사용자 실행명령 매월 1일 아무요일 새벽 5시 root 사용자의 home 디렉토리를 backup 디렉토리에 복사(백업) 하는 예제 00 05 1 * * root cp -r /home /backup 매월 15일 새벽 3시 에 /home 과 그 하위 디렉터리를 /backup 디렉터리에 백업하는 예제 기본적으로 crond가 고동되어 있는지 확인해봅니다. systemctl status crond vim 에디터로 crontab을 편집 합니다. vi /etc/crontab 편집 모드 vim 에디터에서 맨 아래에 아래 처럼 등록하고 명령모드에서 wq! 로 저장하고 vim을 빠져나갑니다. 00 3 ..
JAVA application Export runnable jar 자바 어플리케이션을 실행가능한 jar 파일로 만들 때 manifest 파일(MANIFEST.MF)에 메인 클래스를 지정해줘야 합니다. https://iloveaired.tistory.com/entry/Jar-manifest-%ED%8C%8C%EC%9D%BC-%EB%93%B1%EB%A1%9D%ED%95%98%EA%B8%B0 Jar manifest 파일 등록하기 예) Manifest-Version: 1.0 Main-Class: XXXXX iloveaired.tistory.com https://m.blog.naver.com/eungsik80/220054805497 jar 파일 생성 시 MANIFEST.MF 작성 jar 파일 생성 시 MANIFE..
상태 확인 firewall-cmd --state 설치 sudo yum install firewalld //시작시 자동으로 firewall daemon 실행 sudo systemctl enable firewalld sudo systemctl start firewalld 방화벽에 http, https 서비스 접근 허용 설정 //방화벽에 서비스 추가(통신 가능하게) sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https //방화벽에 서비스 제거(통신 불가능하게) sudo firewall-cmd --permanet --remove-service=http sudo firewall-cmd --p..
시스템 종료 poweroff shutdown -P now 즉시 Power off shutdown -r 22:00 오후 10시 rebooting shutdown -P +10 10분 뒤 종료 shutdown -c 예약된 종료 cancel shutdown -k +15 15분 동안 시스템 종료 메시지를 띄우지만 실제 종료는 안됨 halt -p init 0 런레벨 0번으로 시스템을 전환 시스템 재시작 shutdown -r now 즉시 재시작 reboot init 6 런레벨 6번으로 시스템을 전환 로그아웃 logout exit 도스 키 이전에 입력한 명령어를 화살표 위아래 키로 다시 나타나게 하는 기능 history 사용했던 명령어 모두 보기 history -c 저장된 명령어 모두 삭제 자동완성 기능 탭키를 이용해..
vmware 가상 머신 생성 CentOS 소개 실무에서 많이 쓰는 리눅스 중에서 red hat 리눅스가 있습니다. 그 red hat 리눅스와 사실상 동일하다고 할수 있는 CentOS 운영체제라는 것이 있습니다. 그런데 red hat에서 CentOS 8을 끝으로 지원 중단을 발표했습니다. 그래도 CentOS는 red hat 리눅스 학습용으로 적합하기 때문에 같이 설치해보도록 하겠습니다. vmware player 소개 https://www.vmware.com/kr/products/workstation-player/workstation-player-evaluation.html 리눅스를 설치할 컴퓨터가 따로 있다면, 그 컴퓨터에 설치해도 좋습니다. 별도의 컴퓨터가 없다면 윈도우PC에서 가상 운영체제를 설치할 수..