최근에 CentOS 8 에서 Kubernetes 를 테스트하던 중에 패키지 업데이트가 되지 않는 일이 발생 했다. 아직 Kubernetes 는 CentOS 8 배포판을 정식으로 지원하지 않아 CentOS 7 배포판의 패키지를 사용해야 하는 상황이다. 그런데, yum 명령어로 업데이트를 할려고 보니 오류가 발생 했다. 이럴 경우에 다음과 같은 명령어를 사용해서 의존성을 체크해 볼 수 있다. # repoquery –requires –resolve kubelet-1.18 ethtool-2:4.8-10.el7.x86_64 iptables-0:1.4.21-34.el7.x86_64 util-linux-0:2.23.2-63.el7.x86_64 iptables-0:1.4.21-34.el7.i686 util-linux-0:2.23.2-63.el7.i686 conntrack-tools-0:1.4.4-7.el7.x86_64 iproute-0:4.11.0-25.el7_7.2.x86_64 ebtables-0:2.0.10-16.el7.x86_64 glibc-0:2.17-307.el7.1.i686 glibc-0:2.17-307.el7.1.x86_64 socat-0:1.7.3.2-2.el7.x86_64 위와같은 명령어를 이용하면 패키지 의존성에 대한 내용을 풀어서 볼 수 있다. 참고: kubeadm […]
CentOS에서 SNMP 설치 및 설정하기
SNMP(Simple Network Management Protocol) 은 원래 네트워크 장비를 관리하기 위한 통신 규약입니다. 그런데, 이제는 네트워크 장비뿐만아니라 컴퓨터, 전자장비까지 확장해서 사용하고 있습니다. 리눅스 시스템에서도 SNMP를 사용할 수 있습니다. 이를 이용하면 SNMP 를 이용해서 중앙집중식으로 각각의 장비들의 자원, 자원사용량등을 장비에 거의 모든 것을 알 수 있고 가지고 올 수 있습니다. 저의 경우에는 Cacti 라는 시스템 자원 모니터링 시스템에서 원격 시스템의 자원 사용량을 가지고 오기 위해서 각 서버마다 SNMP를 사용합니다. 준비 이 문서는 다음과 같은 환경에서 작성되었습니다. CentOS 7 X86_64 SNMP는 서버/클라언트 구조를 가지고 […]
Vim 디렉토리 구조.
Vim 은 Unix/Linux 시스템에서 가장 있기는 편집기(Editor) 입니다. 터미널상에서 다양한 파일들을 편집할 수 있고 다양한 기능을 제공 합니다. 다양한 기능들은 플러그인(Plugin) 들로 제작되어 필요로하는 기능들만 사용할 수 있습니다. 이러한 플러그인들은 Vim 의 디렉토리에 넣기만하면 동작하도록 아주 간편하게 되어 있습니다. 이 문서는 다음의 문서를 직역해서 만들어졌습니다. 이글의 저작권도 원글에 있음을 밝힙니다. Learn Vimscript the Hard Way 기본 레이아웃(Basic Layout) Vim 은 여러파일들로 분리된 플러그인들을 지원합니다. “~/.vim” 디렉토리 아래에 새성할 수 있는 아주 많은 다른 디렉토리들은 많은 것을 의미합니다. 이제 아주 중요한 […]
git 파일 삭제후 복구.
git 를 사용하다 보면 local 저장소에서 실수로 파일을 삭제하는 실수를 저지를 수 있다. 이때 파일을 되살린다고 ‘git pull’ 이나 ‘git fetch’를 해봐도 나오는 메시지는 최신판(Already up-to-date)라는 것이다. 이를 이용하는 경우에 어떻게 해야하나? 먼저 삭제한 디렉토리로 이동한다. 그리고 다음과 같이 입력을하면 삭제한 파일 목록을 얻을 수 있다.
|
1 |
]$ git ls-files -d |
사실 삭제된 파일은 다시 checkout 받으면 된다. 다음과 같이 말이다.
|
1 |
]$ git checkout a.py |
리눅스를 잘 다루는 사람이라면 이것을 한번에 할수 있다.
|
1 |
]$ git ls-files -d | xargs git checkout -- |
Cassandra 2.1.2 설치하기.
카산드라(Cassandra)는 분산 데이터 스토리지 시스템 입니다. 아파치 재단에서 오픈소스로 만들어 배포하고 있고, 자바기반으로 제작되었습니다. peer to peer 프로토콜을 이용한 고가용성이 구현되어 있습니다. 이 문서는 카산드라(Cassandra) 2.1.2 에 싱글(Single) 노드를 위한 설치에 대한 것입니다. 설치환경은 CentOS 입니다. jdk 7 update 75 카산드라(Cassandra) 2.1.2 는 jdk 7 update 75 버전 이상을 필요로 합니다. 만일 idk 버전 이하를 사용한다면 시작스크립트에서 오류를 내며 작동하지 않습니다. Oracle 홈페이지에서 jdk 7 update 75 를 다운받아 다음과 같이 압축을 해제합니다.
|
1 2 3 |
tar xvzf jdk-7u75-linux-x64.tar.gz -C /opt cd /opt ln -s jdk1.7.0_75 jdk |
카산드라(Cassandra) 2.1.2 설치 카산드라(Cassandra) 는 […]
Bash History 를 Syslog 에 남기기
Bash 쉘은 명령어 히스토리 기능을 제공 합니다. history 명령어를 입력하면 지금까지 사용했던 Bash 명령어들이 모두 보여 줍니다. 이러한 기능은 사용자 홈 디렉토리에 ‘.bash_history’ 파일에 기록되어 집니다. 그러나 여러 사람이 사용하는 서버에서 각 사용자 홈 디렉토리에 히스토리를 남기기 보다는 리눅스의 syslog 에 남기게 함으로써 사용자가 못된 일을 하는지 않하는지를 감시하도록 하면 좋을 것입니다. 이 문서는 Bash History 를 Syslog 에 남기기 에 대한 것입니다. 1. logger 를 이용한 방법 logger 는 쉘 명령어를 syslog 에 적도록하는 모듈 입니다. 이를 이용하면 수동으로 […]
Atheros AR81 Family GigaEthernet 드라이버 설치.
AMD 칩셋을 달고 나오는 저가형 메인보드의 경우에 Atheros 의 Ethernet 칩셋을 탑재하는 경우가 있습니다. 문제는 Atheros Ethernet 드라이버가 윈도우용은 제공하는데 리눅스용은 제공을 않하더군요. 인터넷을 검색해보니까 누군가 리눅스용 드라이버를 제작해 놨는데, 오래된 경우라 최신의 리눅스 커널을 위해서는 패치를 해야하고 그 패치도 누군가 만들어서 올려놨더군요. 이 문서는 Atheros AR81 Family GigaEthernet 리눅스 드라이버를 설치하는 방법을 설명한 것 입니다. 1. 다운로드 첨부파일을 다운로드 하면 됩니다. 첨부파일: AR81Family-linux-v1.0.1.14.tar 2. 설치 먼저, 커널 소스를 설치합니다. 현재 설치된 커널의 버전에 맞는 것을 설치해야 합니다.
|
1 2 3 |
uname -r #2.6.18-398.el5PAE yum install kernel-PAE-devel |
Atheros […]
아파치 로그 분석하기
아파치 웹 서버에는 접속에 대한 로그를 남길 수 있습니다. 로그의 형식은 다양하지만 대략적으로 어느 컴퓨터(IP 주소)에서 어떤 기기, 어떤 프로그램을 이용해서 어떤 웹 페이지를 접속했는지, 각 컨텐츠의 전송량등의 정보가 담깁니다. 이 문서는 아파치 로그 분석하기 에 대한 것입니다. 전송량 통계 로그 파일에 컨텐츠의 전송량이 담기기 때문에 이것들을 전부 더하면 아파치 웹 서버가 내보낸 전송량을 알 수 있겠지요? awk 쉘 스크립트로 간단하게 할 수 있습니다.
|
1 |
awk '{ s += $10 } END { print "Total ", s/1024/1024 " MB", "- Average ", s/NR/1024/1024 " MB", "- Access ", NR }' access_log |
여기서 중요한 것이 access_log 파일에 전송량을 표시하는 위치 입니다. 위 명령어 앞줄에 ‘s += $10’ […]
CentOS 6 Xen 설치
CentOS 6을 사용하고 있다면 별다른 노력없이 Xen 가상화 서버를 구축할 수 있습니다. 현재(2014년 9월 19일) CentOS 의 최신 배포판은 6.5 입니다. 이 문서는 CentOS 6 Xen 설치에 관한 것 입니다. 1. Xen 패키지 저장소 활성화 Xen 가상화를 위해서 CentOS 6.5 에서는 Xen 가상화 패키지 설치를 쉽게할 수 있도록 저장소를 제공합니다. 이 저장소를 이용하기 위해서 다음과 같이 쉘 명령어를 입력해 줍니다.
|
1 2 |
# Xen 저장소 활성화를 위한 저장소 추가 yum install centos-release-xen |
2. xen 설치. 저장소를 활성화 했기 때문에 yum 으로 xen 을 설치할 수 있습니다.
|
1 2 |
# Xen 설치 yum install xen |
3. grub […]
CentOS 7 RabbitMQ 설치
RabbitMQ 는 AMQP(Advanced Message Queuing Protocol) 를 지원하는 메시징 큐 브로커 입니다. 큐(Queue) 자료구조의 동작방법 그대로 서버로서 역활을 하도록 만든 서버 입니다. CentOS 7 RabbitMQ 설치 방법을 설명 합니다. 1. EPEL 저장소 추가. RabbitMQ 는 Erlang 이라는 언어로 작성되었습니다. 따라서 이 패키지가 설치되어 있어야 하는데, CentOS 7 에서는 패키지로 제공하지 않습니다. 대신에 EPEL 저장소를 추가해서 사용 합니다.
|
1 2 3 4 |
# Epel 저장소 설치. yum install http://mirror.premi.st/epel/7/x86_64/e/epel-release-7-1.noarch.rpm # Erlang 을 설치 yum install erlang |
2. RabbitMQ 설치. 현재(2014년 9월 16일) RabbitMQ 서버의 최신 버전은 ‘3.3.5-1’ 입니다. 이를 설치 합니다.
|
1 2 3 4 5 6 7 8 |
# rpm 사인 키 추가. rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc # wget 을 이용해 최신의 rabbitmq 버전을 다운로드. wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.3.5/rabbitmq-server-3.3.5-1.noarch.rpm # yum 을 이용해서 rpm 패키지 설치. yum install rabbitmq-server-3.3.5-1.noarch.rpm |
3. Web Console 활성화. RabbitMQ 는 […]