'OS/Linux'에 해당되는 글 22

  1. 2018.01.28 리눅스 HW Time 변경
  2. 2015.05.06 Ubuntu 방화벽 설정
  3. 2015.05.05 Mysql Remote 설정
  4. 2015.05.05 우분투 Firewall Rule 삭제
  5. 2015.05.04 Ubuntu Apache2 재설치 방법
  6. 2015.05.04 Ubuntu Package 조회
  7. 2015.02.01 Ubuntu KVM 설치
  8. 2015.01.25 apt-get 설정 및 Ubuntu Server GUI 설정 (3)
  9. 2015.01.25 Ubuntu Root 암호 설정
  10. 2013.10.12 yum error

리눅스 HW Time 변경

2018.01.28 02:23 | Posted by 로멘틱가이

OS 시간 관리를 위해 NTP를 보통 쓰는데

BIOS 시간과의 차이 때문에 NTP 업데이트가 불가능한 경우가 있다.

특히, VM의 경우에는 HW Time을 변경하기가 더 힘들기 때문에 다음 명령어를 사용하여 하드웨어 시간을 변경한다.

 

[ 하드웨어 클럭 조회 ]

hwclock -r

 

[ 하드웨어 클럭 변경 ]

hwclock --set --date="2018-01-28 02:02:00"

 

[ 하드웨어 클럭을 현재 시스템 시간으로 변경 ]

hwclock -w --utc

hwclock -w --localtime

 

[ 현재 시스템 시간을 하드웨어 클럭 시간 설정 ]

hwclock -s

 

해당 명령어로 시간을 변경 한 후 ntpupdate 명령어를 사용하여 갱신하면 된다.

Ubuntu 방화벽 설정

2015.05.06 11:05 | Posted by 로멘틱가이

우분투 방화벽을 설정하다 보면 Outbound 정책을 설정해야하는 경우가 있습니다.

해당 방법을 소개 합니다.

 

> sudo ufw allow out proto tcp to <Remote IP> port <Remote Port>

 

ex)

sudo ufw allow out proto tcp from 168.126.63.0/24 to 168.168.0.10 port 68

sudo ufw allow out proto tcp to 192.168.0.2 port 80

 

똑같은 방법으로 Inbound 정책은 다음과 같이 설정할 수 있습니다.

 

> sudo ufw allow proto tcp from <Remote IP> to <Local IP> port <Local Port>

 

ex)

sudo ufw allow proto tcp from 192.168.0.0/24 to 192.168.0.1 port 80

 

Mysql Remote 설정

2015.05.05 22:36 | Posted by 로멘틱가이

Web 서버와 Mysql Server를 분리하여 운영할 경우 Web 서버와 Mysql Server간 연결을 할 수 있도록 Setting을 해야합니다.

해당 방법에 대해 알아보도록 하겠습니다.

 

1. Bind Address 설정

(1) Configuration File 위치 확인

> mysqld --verbose --help | grep -A 1 'Defaut options'

해당 명령어 수행 시 아래 Default options 밑에 다음 파일을 읽는다고 명시되어 있습니다.

해당 순서대로 Mysql에 대한 설정을 읽어 옵니다.

확인 결과 /etc/mysql/my.cnf 파일 만 존재 합니다.

해당 파일을 보면 includedir에 두 개의 폴더가 존재하며 해당 폴더 중 /etc/mysql/mysql.conf.d/ 폴더만 존재 합니다. 해당 폴더로 가봅니다.

 

해당 폴더에 있는 파일 중 mysqld.cnf 파일을 열어보면 아래와 같이 bind-address가 있습니다.

 my.cnf에 해당 내용이 있는 줄 알고 한참을 해매고 찾은 내용입니다.

내용을 보면 port가 3306을 사용한다고 되어 있습니다. 해당 port 내용은 방화벽 설정 시 알아보도록 하겠습니다.

 Mysql은 로컬에서 기동된다는 가정하에 DB 를 127.0.0.1로 기동하게 됩니다.

만약 Remote에서 DB를 연결해야하는 경우 기동되는 IP를 0.0.0.0으로 변경해야 합니다.

(2) Bind Address 변경

netstat로 3306 포트로 확인해보면 디폴트로 127.0.0.1로 서비스가 기동되고 있음을 확인할 수 있습니다.

 

위의 bind-address를 0.0.0.0으로 변경 후 mysql 서비스를 restart하면 우리가 원했던 0.0.0.0으로 변경됨을 확인할 수 있습니다.

 

2. 방화벽 Open

(1) 방화벽 Port Settng

3306 포트를 사용하기 때문에 3306 / TCP 를 오픈합니다.

 

3. Web Server에 연동 Module 설치

(1) php5-mysql 모듈 설치

apt-get 을 사용하여 php5-mysql 을 설치합니다.

 

4. Mysql 설정

(1) 데이터베이스 설정

> mysql -u root -p

mysql 로그인

 

> CREATE DATABASE wordpress;

wordpress Database 생성

 

> CREATE USER wordpress@localhost;

User 생성

> Drop user wordpress@localhost

User 삭제

 

> SET PASSWORD FOR wordpress@localhost=PASSWORD("<Password>");'

패스워드 설정

 

>GRANT ALL PRIVILEGES ON wordpress.* TO wordpress@localhost IDENTIFIED BY '<Password>';

wordpress Database에 wordpress 유저에 대해 모든 권한 할당

 

> Select user, host from user;

user별 권한 할당 host 확인

 

> FLUSH PRIVILEGES;

Mysql 리플레쉬

(2) Remote 접속 Test

mysql -u [user 명] -p [Password] -h [서버 IP]

우분투 Firewall Rule 삭제

2015.05.05 12:58 | Posted by 로멘틱가이

Ubuntu 방화벽을 관리하다보면 해당 Rule 을 삭제해야하는 경우가 생깁니다.

 

일반적으로 Rule의 상태를 조회하기 위해서는 다음명령어를 사용하면 됩니다.

 

 

 

위의 룰중 3306에 해당하는 Rule을 삭제하기 위해서 ufw에 대한 help page를 보면 다음과 같이 설명이 나옵니다.

위의 명령어를 보면 delete RULEINUM 이라는 명령어를 사용하면 해당 RULE을 삭제할 수 있다고 나옵니다.

 

그럼 RULEINUM은 무엇인가?~!

방화벽 등록 리스트를 보는 명령어 중 status numbered라는 명령어가 있습니다.

해당 명령어를 사용하면 각 Rule이 숫자로 구분되어 나오게 됩니다.

 

삭제를 하기 위해서는 맨앞에 있는 [ 숫자]로 구분하여 삭제를 하면 됩니다.

만약 3번에 있는 3306을 삭제하기 위해서는 다음과 같이 하면 됩니다.

 

위와 같이 해당 숫자를 입력한 후 3306을 삭제한 것을 볼 수 있습니다.

 

또는 해당 포트와 TCP/UDP구분, IPv4/IPv6 구분 없이 모든 포트에 대한 Rule을 삭제하기 위해서는 다음 방법을 사용합니다.

 

Ubuntu의 방화벽관리는 Redhat 계열의 IPTABLE보다 훨씬 간단한 것을 알 수 있습니다.

 

Ubuntu Apache2 재설치 방법

2015.05.04 01:21 | Posted by 로멘틱가이

Ubuntu Server에서 Apache 서버를 관리 Test를 하다보니 다음과 같은 문제가 발생하였습니다.

Apache2에 대한  Setting을 초기화한 후 Test를 하려고 Apache2 Package를 다음 명령어를 사용하여 삭제하였습니다.

 

> sudo apt-get autoremove apache2

 

삭제 후 살펴보니 /etc/apache2 폴더가 그대로 남아 있어 해당 폴더를 다음 명령어를 사용하여 수동 삭제 하엿습니다.

 

> sudo rm -rf /etc/apache2

 

그 다음 새로 apache2를 설치하였습니다.

 

> sudo apt-get install apache2

 

설치 후 /etc/apache2 폴더 아래를 보면 apache2.conf 파일이 없으며 설치 후 폴더만 존재하는 현상이 발생합니다.

(물론 apache2.conf파일이 없어 apache2 Service도 기동되지 않습니다.)

 

해당 이슈를 해결하기 위해 다음 명령어 수행이 필요합니다.

 

> sudo apt-get remove --purge apache2

> sudo apt-get clean

> sudo apt-get install apache2

 

기본적으로 debian 계열(우분투)는 설정 파일은 별도로 관리하고 있습니다.

해당 파일 삭제를 하기 위해서는 --purge 옵션을 사용한 경우에만 제거가 가능합니다.

 

 

Ubuntu Package 조회

2015.05.04 00:13 | Posted by 로멘틱가이

Ubuntu에서 설치된 Package를 조회하는 방법입니다.

 

> dpkg --get-selections | grep -v deinstall

 

설치한 List를 확인하는 방법입니다.

apt-get에 list가 있을줄 알았는데 없네요

Ubuntu KVM 설치

2015.02.01 04:50 | Posted by 로멘틱가이

오늘은 Ubuntu에 KVM을 설치하는 방법에 대해 알아보겠습니다.

 

1. 가상화 지원 여부 확인

Ubuntu에 KVM을 설치하기 위해서는 CPU에서 가상화 관련 기능이 지원되야 합니다.

(Intel - VT-x, AMD - AMD-v)

 #egrep -c '(vmx|svm)' /proc/cpuinfo 

 

 

해당 결과가 0인 경우 해당 머신의 CPU는 가상화를 지원하지 않으며 1 이상인 경우 가상화를 지원합니다.

 

가상화를 지원하지 않는 경우 반가상화(하드웨어를 에뮬레이터 하는 방식)로 지원하는 QEMU를 사용하게 되며 가상화를 지원하는 경우 전가상화(하드웨어를 hypervisor를 통해 사용)를 지원하는 KVM을 사용합니다.

 

2. KVM 구성

KVM 관련 패키지를 설치합니다.

 # sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils

qemu-kvm : http://packages.ubuntu.com/lucid/qemu-kvm

 

해당 패키지 설치 후 KVM 그룹에 사용자를 넣어줍니다.

 # sudo adduser [사용자 ID] libvirtd

 # sudo adduser [사용자 ID] kvm

 

그룹에 user 추가 후 적용을 위해 logout이 필요합니다.

로그인 후 다음과 같이 결과가 나오면 정상

 # virsh -c qemu:///system list

 

Id Name                 State
---------------------------------------------

만약 에러가 발생하는 경우 아래 Site를 참고하시기 바랍니다.

(관련 사이트 : http://wiki.libvirt.org/page/Failed_to_connect_to_the_hypervisor)

 

Gui에서 확인을 위해 ubuntu-desktop과 virt-manager를 추가로 설치합니다. 

 # apt-get install virt-manager

 

3. virt-manager 실행

메뉴 실행 후 search에virt라고 치면 virtual machine manager가 조회되어 집니다.

 

Virt-manager에서 Hypervisor 부분을 보면 qemu로 되어 있습니다.

당연히 처음에 CPU가 가상화를 지원하기 때문에 전가상화인 KVM으로 보일 줄 알았는데 아니더군요;;

(한참을 헤맷어요 이거 땜시 ㅎㅎ)

 

KVM은 기본적으로 반가상화인 QEMU를 기반으로 돌아갑니다.

HW Accel이 추가로 지원되어 전가상화가 되는거죠

 

VM의 Overview를 보면 Hypervisor가 kvm으로 되어 있는 것을 확인할 수 있습니다.

 

ps-ef 를 통해 보면 accel 부분에 kvm으로 인식되어 있는 것을 확인할 수 있습니다.

(참고 사이트 : http://www.innervoice.in/blogs/2014/03/10/kvm-and-qemu/)

apt-get 설정 및 Ubuntu Server GUI 설정

2015.01.25 22:36 | Posted by 로멘틱가이

Ubuntu Server 설치 시 GUI가 설치되어 있지 않습니다.

GUI 모드를 사용하기 위해서는 다음과 같은 설치 과정이 필요합니다.

- Ubuntu Server Update and Upgrade

- Install Full Ubuntu Desktop

- Update and Upgrade Ubuntu Desktop

 

설치를 진행해 보도록 하겠습니다.

Redhat 계열이 Software 및 Patch 설치를 위해 자동 RPM 설치 프로그램인 yum을 사용하는 것과 같이 Debian 계열인 Ubuntu는 apt-get 명령어를 사용합니다.

Repository 설정 파일에 해당 파일들을 받아오는 경로가 기입되어 있습니다.

해당 경로를 수정하기 위해 다음과 같이 진행합니다.

1) apt-get repository config file 확인

apt-get repository config file은 다음 파일입니다.

- /etc/apt/sources.list

해당 파일 변경을 위해 backup 후 sed를 사용하여 ftp.daum.net으로 변경합니다.

(default로 미국 주소인 us.archive.ubuntu.com, security.ubuntu.com으로 설정되어 있지만 한국에서 가장 빠르게 받을 수 있는 ftp.daum.net으로 설정을 바꿉니다.)

 

2) apt-get update 및 upgrade

 

 

위와 같이 apt-get 설정 완료 후 GUI 설정을 위해 ubuntu desktop을 설치 합니다.

ubuntu desktop 설치 명령어는 다음과 같습니다.

- apt-get install ubuntu-desktop

 

설치 후 rebooting을 하면 다음과 같이 gui 화면으로 로그인 됩니다. 

 

Ubuntu Root 암호 설정

2015.01.25 21:05 | Posted by 로멘틱가이

오늘은 Ubuntu Server 설치 후 root password를 설정하는 방법에 대해 알아보겠습니다.

 

처음 Ubuntu Server를 설치하면 설치 시 생성한 User로만 로그인 할 수 있습니다.

(설치 시 root 비밀 번호를 묻는 화면이 없습니다.)

 

설치 완료 후 로그인 창에서 생성한 User로 로그인 후 다음과 같이 입력해야 root 암호를 설정할 수 있습니다.

 

> sudo passwd root

> 일반 유저 암호 입력

> root 암호 입력

 

여기서 passwd는 입력할 passwd가 아닌 고유 명사 입니다.

 

위와 같이 생성 후 su 명령어를 입력하여 root로 전환하면 root 권한으로 모든 것을 설정할 수 있습니다.

yum error

2013.10.12 14:10 | Posted by 로멘틱가이

linux에서 yum 실행 시 다음과 같은 메시지가 발생하는 경우가 있습니다.

 

 

 

 

 

위의 메시지는 python 3 verion을 make install 한 경우에 발생합니다.

기존 python 2 version으로 변경하면 해결됩니다.

이전 1 2 3 다음