2022-09-06

강아람·2022년 9월 6일
0

Kakao Cloud School

목록 보기
24/30
post-thumbnail

시스템 package 관리


Linux에서 주로 사용하는 패키지

  • RPM(Redhat Package Manager): 레드햇의 패키지 관리 도구
  • .deb: 데비안, 우분투 계열에서 사용하는 패키지

RPM

기존 설치/배포: compile version
RPM은 바이너리 파일로 구성되어 있어 컴파일이 필요없음

장점

  • 패키지의 파일들이 관련 디렉터리로 바로 설치된다.
  • 기존에 설치된 패키지를 삭제하지 않고 바로 업그레이드 할 수 있다.
  • 패키지의 설치 상태를 검증할 수 있다.
  • 패키지에 대한 정보를 제공한다.

단점

  • 패키지 의존성에 따라 관련 패키지가 먼저 설치되어 있지 않으면 설치할 수 없다.

rpm 옵션 패키지명

-i: 설치
-U: 설치 + 업데이트
-v: verbose 설치/삭제 과정 표현 (-Uvh)
-h: # hash 마크


-q: 조회

  • -qa: 전체 패키지 목록 출력
    • -qa | grep: 특정 패키지 설치 여부 확인
  • -qi: 패키지 상세 정보 확인하기
  • -ql: 패키지가 설치한 파일 목록 확인하기
  • -qf: 특정 파일을 포함한 패키지 확인하기

-a: all
-i: 패키지 정보
-l: list 설치 목록


삭제
-e: 삭제, 의존성 에러가 뜰 경우 --nodeps 추가 (의존성 관계없이 삭제)


조회

[root@server1 Packages]# rpm -qa | grep sysstat


[root@server1 Packages]# rpm -qi sysstat-10.1.5-19.el7.x86_64


[root@server1 Packages]# rpm -ql sysstat-10.1.5-19.el7.x86_64


삭제

[root@server1 Packages]# rpm -e sysstat-10.1.5-19.el7.x86_64
error: Failed dependencies:
        sysstat is needed by (installed) iowatcher-1.0-6.el7.x86_64
[root@server1 Packages]# rpm -e sysstat-10.1.5-19.el7.x86_64 --nodeps
[root@server1 Packages]# rpm -qa | grep sysstat

설치

[root@server1 Packages]# rpm -Uvh sysstat-10.1.5-19.el7.x86_64.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:sysstat-10.1.5-19.el7            ################################# [100%]
[root@server1 Packages]# rpm -qa | grep sysstat
sysstat-10.1.5-19.el7.x86_64



yum

online package 설치/삭제/변경 도구

공공 프로젝트는 대부분 폐쇄망에서 진행하기 때문에 필요한 패키지를 사전에 수집해서 USB를 이전

  • RedHat 계열 ▶ CentOS, Amazon Linux: yum
  • Debian 계열 ▶ Ubuntu, debian: apt
  • alpine linux ▶ 경량의 리눅스: apk

설치

yum -y install [패키지]

삭제

yum -y remove [패키지]




MariaDB 설치 (yum)

download

https://mariadb.org/download/?t=repo-config&d=CentOS+7+%28x86_64%29&v=10.3&r_m=blendbyte

1) MariaDB.repo 생성

[root@server1 yum.repos.d]# vi /etc/yum.repos.d/MariaDB.repo

2) MariaDB.repo 내용 편집

# MariaDB 10.3 CentOS repository list - created 2022-09-06 03:13 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
baseurl = https://tw1.mirror.blendbyte.net/mariadb/yum/10.3/centos7-amd64
gpgkey=https://tw1.mirror.blendbyte.net/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1

3) MariaDB 서버와 클라이언트 패키지 설치

[root@server1 yum.repos.d]# yum install MariaDB-server MariaDB-client -y



SQL(Structured Query Language) - 구조적 질의어

왜 structured 일까?

Table

: 행(row, data)과 열(column, structure)의 집합

SQL ▶ Table에 데이터를 저장하여 질의하기 위한 언어


테이블 생성

1) 데이터베이스 생성

create database kakaodb;
  • 데이터베이스 확인
show databases;


2) 데이터베이스 선택

use kakaodb;

3) 테이블 생성

create table products (prod_id int, prod_name varchar(2));

4) 데이터 삽입

insert into products values (10, 'ka');

5) 테이블 출력

select * from products;


💡 elasticsearch (검색엔진 DB) ▶ Json 구조, 표준 SQL 지원




파일 시스템(FS) 관리



NFS

서버 간 공유




TAR 활용 backup archive 생성

💻 du -sh

[root@server1 KAKAO1]# du -sh /etc (disk ussage -summary for human)
43M     /etc


파일을 모아서 저장

[root@server1 KAKAO1]# tar cvf etc_tar.tar /etc

[root@server1 KAKAO1]# ls -lh
total 38M
-rw-r--r--. 1 root root 38M Sep  6 17:18 etc_tar.tar

파일을 gz로 압축

[root@server1 KAKAO1]# tar cvzf etc_gzip.tar.gz /etc

[root@server1 KAKAO1]# ls -lh
total 50M
-rw-r--r--. 1 root root 12M Sep  6 17:19 etc_gzip.tar.gz
-rw-r--r--. 1 root root 38M Sep  6 17:18 etc_tar.tar

파일을 bz로 압축

[root@server1 KAKAO1]# tar cvjf etc_bzip.tar.bz2 /etc

[root@server1 KAKAO1]# ls -lh
total 60M
-rw-r--r--. 1 root root 11M Sep  6 17:20 etc_bzip.tar.bz2
-rw-r--r--. 1 root root 12M Sep  6 17:19 etc_gzip.tar.gz
-rw-r--r--. 1 root root 38M Sep  6 17:18 etc_tar.tar


압축 보기

[root@server1 KAKAO1]# tar tvzf etc_gzip.tar.gz

압축 풀기

[root@server1 KAKAO1]# tar xzf etc_gzip.tar.gz

/var/log의 내용을 s1log(date 저장한 날짜)로 압축하여 저장

[root@server1 KAKAO1]# tar cvzf s1_log_$(date '+%Y-%m-%d-%A').tar.gz /var/log

/etc 파일들을 10mb 단위로 분할하여 etc_split.tar.gz로 저장

[root@server1 KAKAO1]# tar cvzf - /etc | split -b 10m - etc_split.tar.gz


0개의 댓글