본문 바로가기

Linux/Linux공통

(36)
[Linux] CentOS 7 Local Repository 만드는 방법 (인터넷 없이 yum 사용) yum은 기본적으로 인터넷과 연결된 저장소(repository)를 바라보고 작업을 수행합니다. 저장소에 업로드되어 있는 패키지들을 인터넷을 통해 접근하고, 찾아서 내 리눅스에 받아오는 식입니다. 그 말은 인터넷에 연결할 수 없는 내부망 서버에선 사용이 불가하다는 의미입니다. 현업에선 보안상의 이유로 내부망에 서버를 구축하는 경우가 많습니다. 이처럼 인터넷이 없는 환경에서도 로컬에 repository를 만들어주면 yum을 이용할 수 있습니다. 이를 흔히 "로컬에 레포를 잡는다"고 말합니다. 로컬에 yum repository 만드는 방법 이 글은 CentOS 7을 기준으로 방법을 설명드립니다. 그러나 다른 배포판도 원리는 비슷하기 때문에 읽어보시면 패키지 관리 도구의 작동 방식을 이해하시는데 도움이 되실거에..
[Linux] RPM 과 YUM의 패키지 설치 차이 리눅스에서 패키지 설치는 rpm 또는 yum 명령어를 이용합니다. 두 명령어는 최종적으로 원하는 패키지 프로그램을 설치한다는 점에서 같지만 작동 방식에 차이가 있습니다. RPM(Redhat Package Manager) rpm은 인터넷에 연결되지 않은 상태에서도 패키지를 설치할 수 있는 명령어입니다. 다만 설치하려는 .rpm 패키지 파일이 컴퓨터에 있어야 합니다. 패키지는 서로 의존성을 갖습니다. 예를 들어 C 패키지를 설치하기 위해선 B 패키지가 필요하고 B 패키지를 설치하기 위해서는 A 패키지가 필요한 식입니다. 이런 경우 설치 순서는 A > B > C 순으로 해야 합니다. rpm은 개별 패키지를 수동으로 설치하는 개념이기 때문에 이런 의존성을 사용자가 직접 고려하면서 설치해야 하는 불편함이 있습니다..
[Linux] THP 비활성화 방법 및 설명 - 이슈 : THP가 일부 DB서버에서 문제가 될수 있습니다. ex) 티베로 DB에서 일반적인 경우에는 hugepage 사용시, THP 기능 disable을 권고하고 있습니다. _USE_HUGE_PAGE=Y 파라미터 사용시 1. THP(Transparent Huge Pages)란? Linux는 메모리를 Page라는 블록으로 분할해 관리를 합니다. 기본 페이지의 크기는 4KB인데 만약 1기가의 메모리를 Page로 분할하게되면 256,000개의 Page로 분할됩니다. 메모리가 커질수록 Page의 개수가 늘어나면서 페이지를 관리하는 TLB(transparent lookaside buffer)의 크기가 같이 커지게 되는데 이걸 방지하기위해 Page자체의 크기를 키워 Page개수를 줄여 TLB의 크기를 작게 만드..
[Linux] 메모리 효율을 위한 vfs_cache_pressure 유휴 메모리가 전부 어디로 간거지? (Page Cache) Linux는 I/O 성능을 높이기 위해서 Page Cache를 사용한다. 이 글에서는 Page Cache에 대해서는 다루지 않지만 간단히 설명하면 다음과 같다. Linux는 물리적인 저장/통신 장치와 데이터를 주고 받을 때 메모리에 먼저 적재한 후에 데이터를 주고 받는데 이는 동일한 데이터에 대한 접근을 할 경우 메모리에서 바로 가져오도록 하여 I/O 성능을 높이기 위함이다. 이를 Page라는 단위로 관리를 하며 흔히 Page Cache라고 이야기 한다. 따라서, 한번이라도 데이터를 읽거나 쓴 적이 있다면 메모리는 Page Cache에 적재되고 아래의 파일에서 Cached 영역으로 표기 된다. cat /proc/meminfo Linux 커뮤니티에..
[Linux] xhost 설치 및 사용법 X11 포워딩이란 # 원격에 있는 리눅스에 SSH로 접속해서 GUI 기반의 X11 어플리케이션을 실행하기 위한 기법이다. # 리눅스 서버에 접속해서 리눅스에 설치되어 있는 웹브라우저를 실행하면 웹브라우저 실행창이 리눅스에 # 접속되어 있는 클라이언트 윈도우에 나타나도록 하는 것이다. # 서버와 클라이언트간의 통신에는 ssh 프로토콜을 이용하여 중계를 하게 된다. # 그러나, X11 환경에서 수행되는 것이기 때문에 리눅스와 윈도우에 X11 실행환경이 준비되어야 한다. # 준비 사항 # 리눅스 : X11 환경의 준비와 통신을 위한 ssh의 config를 준비해야 한다. # Windows : X11 환경의 준비(Xming 설치 필요)와 통신의 중계를 위한 putty와 putty에 ssh의 config를 준비해..
[Linux] top 명령어로 서버의 상태 파악하기 TOP 명령어 top 명령어는 현재 OS의 상태를 나타내주는 CLI 어플리케이션입니다. 메모리 사용량, CPU 사용량 등을 나타내주며 top를 실행하는 동안에는 주기적인 업데이트로 실시간에 근접한 내용을 보여줍니다. 리눅스에서 top 명령어를 실행하면 아래와 깉이 노출됩니다. 위에는 전체의 요약이 있으며 아래에는 각 프로세스마다 구체적인 내용을 포함하고 있습니다. 요약 영역 요약 영역은 top에서 상단에 위치하고 있습니다. 이 요약영역은 전체 프로세스가 OS에 대해서 리소스를 어느정도 차지하고 있는지를 알려줍니다. 요약 영역에 나타나는 대표적인 값은 시간, 유저, 로드 에버리지(Load Average), 테스크(Tasks), CPU, 메모리(memory)로 아래의 이미지를 보시면 각 영역에 대해 나태내느..
[Linux] DB접속 오류 (java.sql.SQLRecoverableException: IO Error: Connection reset ) ::: 이슈 배경 ::: Table Migrator을 이용하여, 데이터를 이관중 계속 DB와 연결이 끊김 ::: 이슈 확인 ::: 오라클 11g에 접속이 안되는 현상이 발생하여 데이터 추출이 불가능 함 이전에는 아주 정상적으로 잘 수행되는 것이 갑자기 해당 에러가 떨어지면서 장애 발생 java.sql.SQLRecoverableException: IO Error: Connection reset 드라이버는 기존 운영시스템에 따라 11g JDBC 드라이버를 사용 ::: 원인 분석 ::: 11g JDBC 드라이버를 사용시에는 connect string을 암호화하기 위해서 /dev/random을 이용해서 40byte의 난수를 생성한 다음에 connect string을 암호화 한다고 합니다. 그런데 /dev/ran..
[Linux] Ping, Curl, telnet 서버끼리 통신하는 작업을 하다가 방화벽이 뚫려 있는지 확인할 일이 생겼다. ping도 쓰고 curl도 쓰는데 둘 차이가 뭔지 갑자기 궁금해져서 찾아봤다. Ping ping [대상 목적지 ip] 탁구 ping pong의 줄임말인 줄 알았는데(그런 의미도 있다고 하지만), Packet Internet Groper의 약자라고 한다...! 확인할 IP로 인터넷 패킷을 전송하고 대상이 보낸 응답을 분석하는 방식이다. 실제 ping google.com을 쳐보면 packets 전송상태를 나타내 준다. ping은 ICMP 프로토콜(TCP/IP에서 IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜)을 사용하는데 이 프로토콜은 OSI 7 계층의 3 layer에 해당하는 Network layer에 속하는 프로토콜을 ..