728x90

프로그래밍/서버 21

[리눅스] 환경 설정 꿀팁 및 자주 발생하는 오류 대응

리눅스 환경 설정은 처음 시작할 때 약간 복잡하게 느껴질 수 있지만, 몇 가지 기본적인 꿀팁과 오류 대응 방법을 알면 훨씬 수월해집니다. 이 블로그 글에서는 리눅스 환경 설정을 위한 유용한 팁과 일반적인 오류를 해결하는 방법에 대해 알아보겠습니다.리눅스 환경 설정 꿀팁1. 패키지 관리자 활용하기리눅스 배포판마다 패키지 관리자가 다릅니다. 예를 들어, Ubuntu와 같은 Debian 기반 배포판에서는 apt를, Fedora에서는 dnf를 사용합니다. 패키지 관리자는 소프트웨어 설치, 업데이트 및 삭제를 간편하게 해줍니다.# Ubuntu/Debiansudo apt updatesudo apt upgradesudo apt install package-name# Fedorasudo dnf check-updates..

[CRON]crontab 으로 스케줄링하기

서버에서 일정한 기간에 반복적으로 실행해야하는 경우가 있다. 주기적으로 크롤링을 해온다거나 주기적으로 쉘을 실행 시킨다거나 이런 주기적인 작업들은 수작업을 통해서 하기보다는 프로그램에 위임하는것이 편리하다. 그래서 서버에는 cron이라는 기능이 있는데 오늘은 그 사용법에 대해서 알아보려 한다. CentOS 6.4에서는 RHEL6 버전부터 사용된 anacron이 채용되었다고 한다. 이로인해 RHEL5와는 달라졌다. 자세한 사항은 anacron 참고하시면 되겠다. 주로 설정할때 사용하는 crontab은 cron table의 줄임말이다. crontab 명령어 crontab -l : 해당 계정의 예약된 작업리스트를 보여준다. crontab -e : 해당 계정의 예약된 작업을 수정할 수 있다. crontab -r..

[JEUS]Thread dump

사이트를 운영하다가 보면 thread full로 인해서 사이트가 다운되거나 thread 정보 조회시 해당 수행시간이 느려지는 경우가 있다. 그럴때 Thread의 정보는 굉장히 오류를 확인하는데 중요한 정보가 되는데 현재 Thread의 java_pid를 확인하고 해당아이디에 대하여 kill -3 [java_pid] 을 수행하면 해당 jvm 내의 모든 thread의 정보가 JEUS system log에 남겨진다. 즉시 그 log를 조회하고 싶다면 다른 Telnet창에서 vlog를 수행한 후 위의 명령어를 실행하면 즉시 확인도 가능하다. thread dump는 한번 뜨는것 보다 3~5초 간격으로 3번정도 남기는것이 더 유용한 정보를 확인 할 수 있다.

[리눅스]특정기간 파일찾기

서버 파일을 옮기거나 서버 이관을 할 때 중간에 일정 기간의 파일을 수동으로 옮겨야 할 때가 있다. 그래서 특정기간에 생성된 파일 목록을 추출하면 유용할 것 같아서 검색하던 중 유용한 정보가 있어서 공유해본다. find를 이용하는 방법인데기본적으로 특정기간의 파일을 찾으려면 -mtime이란 옵션이 있지만이게 은근 정확하지 않을 때가 있다 아무래도 지금 일시를 기준으로 해서 그런것 같다. 그래서 -newer 옵션과 touch를 이용한 파일을 가지고 특정기간 동안의 생성된 파일을 검색 할 수 있다. 1. 검색하고 싶은 기간의 시작일자와 끝나는 일자의 파일을 생성한다.(여기서 touch 명령어 사용) touch start.txt touch -t 201712140000 start.txt touch end.txt..

[리눅스]파일 전송

서버 to 서버 파일 전송(SCP) #scp로 192.168.0.1에서 192.168.0.2로 파일 전송을 한다고 하면 scp ./test.txt test@192.168.0.2:/test scp 보낼 파일명 계정명@아이피:폴더위치 위와 같은 형식으로 작성해주면 된다. 물론 목적지 서버(192.168.0.2)의 패스워드를 알아야 한다. (실행시 물어봄) 파일은 위와 같이 하면 되고 폴더 전송시에는 scp -r 옵션을 넣어서 실행 할 수 있다. 서버 이관이나 파일 이관시 서버 to 서버로 파일 전송할 때 사용하면 되겠다.

[GPIN]GPIN 적용하기_2

저번에 환경 메타정보를 세팅했다면 이번에는 jsp 세팅을 해야된다. 기본적으로 마이핀+웹모듈(JSP)\G-PIN 클라이언트 모듈\GPIN_Client_WebApp\G-PIN 하위에 있는 예제 jsp를 사용하면 되는데 우선 중요한것이 사이트등록(진흥원)할때 수신 페이지를 해당 jsp중에서 ServiceResponse.jsp로 해줘야 한다는 것이다. 이유인 즉슨 로직을 보면 알겠지만 세션에 값들을 넣어주는데 parsing(SAML)을 이페이지에서 해주기 때문이다. (사실 한페이지로 합쳐도 상관없지만 예제가 그러하니 따라가는걸로..) 그리고 처음에 gpin 인증 시작할때 호출하는 페이지인 Sample-AuthRequest.jsp에서도 그렇고 ServiceResponse.jsp에서도 그렇고 사용하는 proxy ..

[GPIN]GPIN 적용하기_1

홈페이지를 운영하면서 GPIN을 적용할 일이 있지만 가이드가 있어서 그런지 GPIN에 관한 정보는 검색해도 별로 없는 것 같아서 한번 정리해 보려고 한다. 우선 GPIN은 한국지역정보개발원에서 제공하는 인증 시스템인데 구버전과 최근의 버전이 조금 차이가 있는것 같다. (이것은 적용되어 있던 GPIN소스와 신규로 받은 GPIN소스의 비교결과 내린 결론인데 개발사에서도 신규 모듈이라고 했으니 맞는것 같다. ) 우선 가이드가 있지만 사실 뭔가 좀 부족해 보이는게 사실이라서 지원받고 응답받았던 내용들을 조금 정리해 보겠다. 받은 모듈 압축을 해지하면 아래와 같은 폴더로 되어있는데 첫번째가 신규 클라이언트 모듈이고 두번째는 클라이언트 서버로 사용할 수 있도록 제공하는 톰캣이다. 세번째는 인증서 변환 프로그램인데 ..

[리눅스]/bin/sh^M: bad interpreter: No such file or directory

[리눅스]/bin/sh^M: bad interpreter: No such file or directory 파일을 실행하려고 하는데 위와같은 오류가 날때가 있다. 이것의 원인인 스크립트 파일을 윈도우에서 만들고 리눅스에서 실행했기 때문이다.개행문자가 달라서 생기는 문제인데 ^M으로 보이는 것이 그것이다. 해결방법은 세가지가 있는데.1. vi -b(나는 이것을 사용해서 해결했다.)vi 의 바이너리 모드로 들어가면 ^M 이라는 문자가 보인다. 이것을 지워주면 된다. 2. dos2unixlinux 콘솔에서 dos2unix filename.txt 와 같이 명령을 주어 파일을 변경한다. 3. subversion property 설정형상관리 시스템으로 subversion을 쓰고 있을 경우, 해당 스크립트 파일의 pr..

[JEUS]jsp 반영안될때

[JEUS] JSP 반영안될때 제우스 서버에 jsp를 반영하는데 변경부분이 반영이 안될 때가 있다. 이럴때 살펴봐야할 설정이 WEBMain.xml 인데이 설정은 jeus/config/[server명]/[container 명]/ 아래의 경로에 있다. 여기서 설정해 주는것이 url-encoding 과 jsp 컴파일 관련 설정인데이 설정을 해주지 않으면 jeus에서 컴파일 되었던 쿠키정보를 활용해서 페이지를 보여주기 때문에 변경부분이 반영되지 않는 현상이 나타날 수 있습니다. 그래서 web-container 설정 하위로 아래의 설정을 추가하면 되는데 true true 주로 컴파일 변경이 반영되지 않는 파일들은 처럼 파일에서 다른 파일들을 인클루드 해서 사용하는 파일들이 컴파일 누락이 되는 경우가 있는데 그런경..

728x90