CentOS7을 설치하면 기본적으로 Python 2.7.5 버전이 설치된다.

 

2.x 버전의 Python도 사용하는데는 그닥 큰 무리가 없지만, 최근 3.x 버전에서 제공하는 신규 모듈들을 사용하기 위해서는 3.x 버전 Python 설치가 필요하다. (예를 들면...최근 3.8에 있는 공유메모리...아니면 AI 모듈들...인공지능 서비스 회사에 근무하는 나에게는 반드시 필요한...)

 

구글링하면 엄청나게 많은 Python 3.x 설치 블로그들이 검색된다. 

이 포스팅도 그저 나를 위한... (CentOS 설치할 때마다 매번 정확한 블로그를 찾기가 불편해서..)

 


CentOS7 설치 후 Python의 버전을 확인해 보자.

CentOS7의 기본 설치된 python 버전

 

설치는 아래 과정을 거친다.

  1. python.org에서 최신 3.x 버전 python 설치 파일을 다운로드 한다.
  2. 다운로드 한 파일을 풀어 make;make install로 설치를 진행한다.

 

설치 진행에 앞서 아래 Package들을 설치해 준다. (make install 할 때 문제가 생긴다고 함.)

 

  • zlib, zlib-devl, libffi-devel

zlib, zlib-devel, libffi-devl 설치

  • openssl, openssl-devel

openssl, openssl-devel 설치

 

설치가 완료되면 이제 python 3.x 버전을 설치해 보자.

https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz

wget을 통해 설치 파일을 다운로드 한다.

다운이 완료된 파일은 아래 명령어로 압축을 푼다.

$ tar -xvzf Python-3.8.1.tgz

파일 압축풀기가 완료되면 아래와 같이 Python-3.8.1 디렉토리가 생성되고, 그 안에 보면 다양한 package 구성파일들을 볼 수 있다.

Python 3.8.1 구성 파일 리스트

이제 설치를 진행해 보자.

 

순서는 configure -> make > make install 을 차례대로 진행한다.

 

Configure 실행

$ ./configure --enable-optimization으로 실행해도 된다.

make, make install 실행 (root 권한 필요)

 

make와 make install이 오류 없이 모두 정상적으로 실행 완료 되었다면 아래와 같이 python 버전을 확인해 본다.

CentOS7에 설치된 python 버전

현재 시스템 기본 파이썬으로 python 2.7.5가 설정되어 있다.

 

새로 설치한 python 3.8.1 버전을 기본 python으로 사용하려면 /bin/ 밑의 python 링크 하나만 변경해주면 된다.

python 2로 되어있던 python 심볼링 링크를 python 3으로 변경한다.

그리고 python 버전과 실제로 접속하면...

Python 3.8.1로 바뀐것을 볼 수 있다.

 

새로 적용된 python 3.8.1

 

 

Posted by [ 브랜든 ]
,

MariaDB 설치 이후 Database 생성과 해당 Database의 사용자 계정을 생성해 보자.

아래 내용은 구글링하면 너무나도 많은 정보들이, 더 정확하고 양질의 정보들이 나오는 내용들이라 굳이 나의 편의성에 의해 기록해 놓는다. 

 

Database 생성

[ STEP 1 ] Database 접속

 

$ mysql -uroot

 root 계정으로 mysql에 접속한다.

root 계정으로 MariaDB 접속

[ STEP 2 ] Database 생성 및 확인

 

MariaDB [(none)]> CREATE DATABASE 데이터베이스명;

MariaDB [(none)]> SHOW DATABASES;

신규 생성된 DATABASE 정보

[ STEP 3 ] Database 선택

 

처음 접속했을 때 'MariaDB [(none)]'에서처럼 'none'으로 어떤 DB도 선택되지 않았음을 확인할 수 있다.

USE 명령어로 사용할 DB를 선택할 수 있으며, 접속하면서 DATABASE를 지정할 수도 있다.

 

MariaDB [(none)]> USE LATS

특정 DATABASE 선택

접속할 때 DATABASE를 선택하고 싶을 경우 DATABASE 명을 입력해 주면 된다.

 $ mysql -u계정 -p비밀번호 LATS

 

사용자 계정 생성

생성한 DATABASE에 대한 사용자 계정을 생성해 보자.

 

[ STEP 1 ] 사용자 계성 생성 및 권한 부여

 

MariaDB [선택DB]> CREATE USER '계정명'@'%' IDENTIFIED BY '비밀번호';

MariaDB [선택DB]> GRANT ALL PRIVILEGES ON DB명.* TO '계정명'@'%';

사용자 계정 생성 및 DB 권한 설정

로컬에서도 접속 가능하도록 localhost를 추가해준다.
MariaDB [선택DB]> CREATE USER '계정명'@'localhost' IDENTIFIED BY '비밀번호';

 

[ STEP 2 ] 사용자 계정 모든 IP 접속 허용

 

MariaDB [선택DB]> GRANT ALL PRIVILEGES ON *.* TO '계정명'@'%' IDENTIFIED BY '비밀번호';

사용자 계정 외부 접속 IP 허용 설정

특정 IP 대역만 허용하고 싶을 경우 아래와 같이 실행한다.

 GRANT ALL PREVILEGES ON *.* TO '계정명'@'192.168.%' IDENTIFIED BY '비밀번호';

 

 

다음 포스팅은 외부 IP를 통해 위의 계정으로 Database에 접근하는 것을 포스팅 하려한다.

참고로 위의 DB는 내부 공유기에 연결되어 있는 라즈베리파이에 설치되어 있으며, 외부접속 시 공유기를 거쳐야 하기때문에 DNS 설정과 Port Forwarding 설정 후 진행해야 한다.

(예전에 사용하던 DNS 서비스가 만료되었는데...무료 DNS 서비스를 찾아봐야지....)

Posted by [ 브랜든 ]
,

처음 라즈베리파이를 구매했던 이유는 내 개인적인 개발 서버가 필요했기 때문이었다. 

C 컴파일이나 쉘 스크립트, 그리고 Python 정도만 돌아가면 됐었기에 라즈베리파이로도 충분했다.

(STT 처리 모듈 테스트를 위해 값 비싼 GPU도 있으면 좋겠지만...회사 서버를 사용하는 걸로...)

 

가끔 On-Premise 사업을 진행하면서 운영에 필요한 Utility들을 짬짬히 개발하거나 내 Library 소스를 관리하는데에 많이 이용한다. 

 

Database를 설치해두면 개인적으로 매우 유용한 '서버'로써의 라즈베리파이를 쓸 수 있다. 게다가 공유기 Port Fowarding과 외부 접근 가능 계정을 할당하여 사용한다면 언제 어디서는 사용할 수 있는 DB 서버가 된다. 

 

나는 가장 널리 사용하는 MySQL과 동일한 소스코드 기반으로 동작하는 MariaDB(무료니까...)를 설치해 사용하도록 해야겠다. 

 

https://ko.wikipedia.org/wiki/MariaDB

 

MariaDB - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. MariaDB는 오픈 소스의 관계형 데이터베이스 관리 시스템(RDBMS)이다. MySQL과 동일한 소스 코드를 기반으로 하며, GPL v2 라이선스를 따른다. 오라클 소유의 현재 불��

ko.wikipedia.org


[ Step 1 ] MariaDB yum 'repository' 등록

 

'repository'는 패키지들을 모아 놓은 저장소라고 생각하면 될 듯하다.  작업은 당연히 root 권한으로 해야한다.

 

/etc/yum.repos.d/MriaDB.repo 파일 생성

10.3 버전을 base로 설정했는데 원하는 버전으로 변경해도 된다.

 

[ Stem 2 ] yum 업데이트 실행

 

MariaDB.repo 파일 생성 확인 후, yum update 명령어를 실행

MariaDB repository 설정 추가 후 'yum update'를 실행하면 mariadb 관련 update가 진행됨을 볼 수 있다.

그리고 'yum repolist' 명령어로 MariaDB repository가 등록되어 있는지 확인한다.

 

중간에 mariadb 관련 repository 등록 상태를 확인할 수 있다.

 

[ Step 3 ] MariaDB 설치 및 확인

 

yum install mariadb-server 명령어로 MariaDB를 설치한다.

 

mariadb-server만 설치가 된다. 다른 블로그를 찾다보면 mariadb-client도 같이 입력하도록 한 사람들이 많다.

 

설치가 완료된 후에는 rpm -qa 명령어로 잘 설치가 되었는지 확인한다.

설치된 MariaDB 관련 패키지 목록.

 

[ Step 4 ] MariaDB 실행 및 접속 확인

 

systemctl 명령어로 MariaDB를 실행한다. 

 

'active' 상태의 MariaDB 확인.

 

root로 MariaDB 접속을 확인한다.

 

중간에 mysql.sock 관련해서 많은(?) 우여곡절이 있었지만, MySql과 MariaDB는 조금만 구글링해보아도 많은 솔루션이 있기 때문에 설치 자체는 어렵지 않다. 

 

다음 포스팅은 외부접속 계정 생성과 실제 외부 접속을 진행해 보도록 해야겠다. 

 

 

Posted by [ 브랜든 ]
,

그저 라즈베리파이3에 주식 자동매매 프로그램을 위한 DB 서버용 리눅스 설치를 하려고 했을 뿐인데

이런 글을 쓰고 있게 될 줄은 몰랐다. 

 

리눅스 재설치때 마다 블로그 보면서 다시 설치하면 되니 그냥 기록해 두자. 

 

나는 원래 Server-Side C언어 개발자였기 때문에 개인적으로 만들어서 갖고 있는 C언어 라이브러리들이 

조금 있다. (Logger, Statistic, DB Handler, Transaction Manager 등등...)

언제 사용할 기회가 있을지 모르니 C/C++ 컴파일러를 설치해 둬야겠다. 

(실은 지금도 실시간 STT(음성인식) 처리를 위한 RTP 패킷 캡쳐 모듈을 C++로 만들어놔서 C++ 컴파일러가 필요하긴 하다. 최근 동일 기능의 Python 모듈을 새로 설계해서 개발하고 있긴 하지만...)

 


 

Step 1.  Available Group 확인

 

현재 시스템의 Available Group에 Development Tools가 존재하는지 확인한다.

'Available Group'의 'Development Tools' 확인.

 

Step 2. Development Tools 설치

 

yum group install "Development Tools" 명령어로 C/C++ 컴파일러 관련 모든 패키지들을 한번에 설치한다.

 

설치할 패키지들이 매우 많다. 56개....

Step 3. 컴파일러 설치 확인

 

설치가 완료된 후에는 gcc --version 명령어로 설치된 버전을 확인한다. (gcc/g++ 동일하다.)

 

 

Step 4. 예제를 통해 소스 컴파일 하기

 

아래와 같이 C/C++ 언어 예제 소스를 만들어 컴파일을 해보자.

 

프로그래밍의 기본, "Hello, World!" 출력 프로그램 작성. 

 

컴파일~~

 

출력된 "Hello, World!" 문자열.

gcc를 통해 test.c 파일을 컴파일 하면, a.out 파일이 생성되고, 이 파일을 실행시키면 "Hello, World!"가 출력된다.

 

오랫만에 짧게 C언어 끄적였는데 (요즘엔 Python을 주로 쓰고 있어서...) 그래도 손가락이 기억하나 보다.

 

 

Posted by [ 브랜든 ]
,

라즈베리파이에 설치한 CentOS 7의 기본 셋팅을 하려고 한다. 

 

실은 이미 한번 진행했다. minimal 버전을 설치했기 때문에...

결국 실패하고...아니 포기하고....(하나하나 설정해 주는게 이렇게 빡셀 줄이야...)

다시 GNOME 버전으로 설치했다.

 

2020/07/12 - [Whatever] - 라즈베리파이(Raspberry-Pi) 3B+에 CentOS 7 설치하기

 

라즈베리파이(Raspberry-Pi) 3B+에 CentOS 7 설치하기

작년에 구매하여 간이 서버로 사용하고 있는 '라즈베리 파이'가 하나 있다. 개인적인 개발 서버가 필요하여 구매하였고, 집 공유기에 물려 365일 24시간 돌아가고 있는 아주 고마운 녀석이다. 이 �

brandon-dev.tistory.com

 

어찌나 편하던지...

친절하게 X window로 바로 부팅해준다. 

 

라즈베리파이에서 실행된 X-Window

먼저 root 비번부터 변경해 보자. 

 

su - passwd 명령어를 통해 root의 비밀번호를 변경한다. 참고로 초기 root 비밀번호는 'centos'로 되어 있다. 

 

다음은 yum 의 update 이다. 

 

yum update는 X-Window에서 'Application Update' 항목을 통해 진행할 수도 있고, 콘솔에서 'yum update -y' 명령어를 사용해서 진행할 수도 있다. 콘솔의 경우 당연히 root 권한으로 실행해야 한다.

 

나는 X-Window에서 바로 OS update 알림이 떠서 실행한 후에, 콘솔에서 다시 update를 실행했다. (당연히 콘솔에서는 설치되는게 없었다.)

Hostname을 변경해 볼까. Default 값인 'localhost'가 썩 맘에 들지 않는다. 

라즈베리파이니까 'raspberry'로 바꿔 보자.

 

방법 1. hostname 명령어

hostname 명령어를 사용하여 raspberry로 바꿨지만...OS 재부팅을 하면 다시 초기화 된다. 

 

방법 2. /etc/sysconfig/network 파일 수정

해당 파일에 HOSTNAME 필드가 없다면, 추가해주면 된다. 재부팅을 해보자.

엇...변경안됐다....

CentOS 7에서는 아래 방법으로 변경해야한다.

 

방법 3. hostnamectl set-hostname 명령어 사용

귀찮지만...다시 재부팅해보자.

이제 변경된 Hostname으로 표시됨을 확인할 수 있다. 

Posted by [ 브랜든 ]
,