YUM repository 구축 – local

이전 포스트에서 설명 한 것처럼 설정된 repository에서 패키지를 다운로드하고 설치하는데 도움을 준다.
이를 위해서는 언급 한 것과 같이 RPM패키지들과 이들 정보를 가진 repository가 필요하다.
일반적인 환경에서는 공용 repositoy (Kakao, naver, KAIST)등에서 제공하는 mirror 사이트를 이용하면 되지만, 폐쇠망 이나, 네트워크 상태가 좋지 않은 경우를 대비해 로컬(서버에 저장)이나, 내부망에 repository를 구축 할 수도 있다.

생각보다 구축 방법은 단순하다.
1. RPM패키지 파일 다운로드
2. repository 정보 생성
3. repo 파일 생성(구축된 repository 서버 정보 기록)
4. 네트워크 접근을 허용할 경우위한 http 서버 구축

로컬 리포지터리 생성

※CentOS7.8 (모든 패키지 포함) 미디어 파일을 이용한 구축의 예

필요 패키지 설치

 # repository 구축을 위한 필수 패키지 다운로드
[centos:/home:]# yum install createrepo yum-utils
Loaded plugins: fastestmirror, langpacks
중략
 * updates: mirror.kakao.com
base                                                                                                                                       | 3.6 kB  00:00:00
중략
(5/5): updates/7/x86_64/primary_db                                                                                                         | 4.5 MB  00:00:01

==================================================================================================================================================================
 Package                               Arch                               Version                                       Repository                           Size
==================================================================================================================================================================
Updating:
 yum-utils                             noarch                             1.1.31-54.el7_8                               updates                             122 k

Transaction Summary
==================================================================================================================================================================
Upgrade  1 Package
후략

설치미디어 파일 다운로드

 # 설치 미디어 파일 다운로드
[centos:/home:]#  wget http://mirror.navercorp.com/centos/7.8.2003/isos/x86_64/CentOS-7-x86_64-Everything-2003.iso

iso 파일 마운트

[centos:/home:]# mkdir /mnt/centos
[centos:/home:]# mount CentOS-7-x86_64-Everything-2003.iso /mnt/centos
mount: /dev/loop0 is write-protected, mounting read-only

repodata 생성

[centos:/home:]# mkdir /home/repo-data
 # 패키지 파일을 복사할 디렉토리 생성.
 # 마운트 한 ISO 파일 경로를 직접 지정할 수도 있지만, 이 경우 마운트 정보를 변경 해야 한다.
[centos:/home:]# cp /mnt/centos/Packages/*.rpm /home/repo-data/
 # 패키지 파일 복사 centos 7.8.2003 iso 기준으로 10070개 rpm 파일이 존재한다.

[centos:/home:]# createrepo /home/repo-data/
Spawning worker 0 with 2518 pkgs
Spawning worker 1 with 2518 pkgs
Spawning worker 2 with 2517 pkgs
Spawning worker 3 with 2517 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete

repo 파일 생성

[centos:/home:]# vi /etc/yum.repos.d/local.repo
 #여기부터 붙여넣기 한다.
[haedongg_local-repo]
name=haedongg_local-repo
baseurl=file:////home/repo-data
 # createrepo 명령으로 생성된 repodata 가 있는 디렉토리를 지정한다.
enabled=1
gpgcheck=0

WGET 다운로더

GNU Wget(간단히 Wget, 이전 이름: Geturl)는 웹 서버로부터 콘텐츠를 가져오는 컴퓨터 프로그램으로, GNU 프로젝트의 일부이다. 이 프로그램의 이름은 월드 와이드 웹과 get에서 가져온 것이다. HTTP, HTTPS, FTP 프로토콜을 통해 내려받기를 지원한다. 1위키백과에서 발췌

이런걸 다운 받을 때 사용한다.
웹브라우저가 있다면 클릭 한번이면 되지만
웹브라우저가 없는 터미널 환경 등에서 파일을 다운로드 하기 위해 사용한다.

기본 명령은 단순하다.
“wget 다운로드할_파일주소”

[root@host ~]# wget http://mirror.kakao.com/centos/8.2.2004/isos/x86_64/CentOS-8.2.2004-x86_64-boot.iso         --2020-09-09 18:11:46--  http://mirror.kakao.com/centos/8.2.2004/isos/x86_64/CentOS-8.2.2004-x86_64-boot.iso
Resolving mirror.kakao.com (mirror.kakao.com)... 113.29.189.165
Connecting to mirror.kakao.com (mirror.kakao.com)|113.29.189.165|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 654311424 (624M) [application/octet-stream]
Saving to: ‘CentOS-8.2.2004-x86_64-boot.iso’

13% [========>                                                                ] 89,458,496  11.2MB/s  eta 49s

다운로드 시 파일명 변경
원본 파일명은 CentOS-8.2.2004-x86_64-boot.iso이지만
다운로드 파일 이름은 centos-boot.iso 이 된다.

[root@host ~]샾 wget -O centos-boot.iso http://mirror.kakao.com/centos/8.2.2004/isos/x86_64/CentOS-8.2.2004-x86_64-boot.iso

HTTPS 사이트에서 인증서 오류 등 발생 시

[root@host ~]샾 wget --no-check-certificate http://mirror.kakao.com/centos/8.2.2004/isos/x86_64/CentOS-8.2.2004-x86_64-boot.iso

하위 디렉토리를 포함해 여러 파일을 다운로드 하고 싶을 때

[root@host ~]샾 wget -r http://mirror.kakao.com/centos/8.2.2004/isos/x86_64/ 
 # 파일 이름을 지정하지 않음을 기억하자.

robots.txt 로 인해 순환 다운로드(-r)가 안될 때

[root@host ~]샾 wget -r -e robots=off 
 http://mirror.kakao.com/centos/8.2.2004/isos/x86_64/ 

클라우드 서비스 아키텍쳐 아이콘

AZURE architecture icons

Azure example architecture diagram (그림을 클릭하면 이동합니다.)

Amazon Web Service architecture icons

AWS example architecture diagram (그림을 클릭하면 이동합니다.)

Google Cloud Platform architecture icons

GCP example architecture diagram (그림을 클릭하면 이동합니다.)

경복궁 미디어 파사드

경복궁 미디어파사드 (2016-10-01) 2nd Session

궁의 아름다움
선 계절의 빛
회홍

우연히, 정말 우연하게도 덕수궁의 석조전 미디어 파사드를 보고
경복궁에서도 행사 소식이 있어서 부지런히 카메라를 들고 갔었다.

열심히 찾아봐도 저 때 이후로는 비슷한 행사가 더 없는 것 같다.

팬텀페인 여성 멤버 무한 영입방법 (메탈기어 솔리드 5)

(여성 포로가 있는 사이드옵스라면 무엇이든 상관 없지만 미션 시작 지역과 가까운 곳에서 포로를 회수 할 수있는 미션을 선택한다. )

1. 사이드옵스46 ‘포로회수 20’ 지역으로 이동
2. 포로 캡쳐 (회수 하지 않고 들처 맨다)
3. 미션 근접 조우 수주 (미션 시작지로 이동하면 포로 자동 회수)
4. 미션 취소 5. 다시 ……….포로

※ 패치돼서.. 더 안된다는 댓글이 있는데.. 잘 모르겠다… 벌써 몇년 전인지라..

‘수직 확장'(scale up) 과 ‘수평 확장’ (scale out)

수직 확장.

수직 확장 :
하드웨어를 기준으로 하드웨어의 사양을 늘린다.
램을 추가하고, HDD를 추가하고, CPU를 추가하는 등.
단순하긴 하지만 RAM 뱅크가 꽉 차면 램을 더 꽂을 수 없고, CPU소켓도 한정적이고,
확장에 한계가 있다는 단점과
경우에 따라서는 특정 제조사 전용 장비만 써야 하는 등의 단점이 있다.

어플리케이션을 수정할 필요는 없다는 장점이 있다.
어플리케이션의 수정, 업데이트가 쉽다. (수정 내역을 한곳에만 반영하면 되니까)

수직 확장

수평 확장 :
기존의 하드웨어는 그대로 두고 장비를 추가하여 소프트웨어적으로 하나처럼 묶는다.
클러스터링 하려는 소프트웨어만 구동할 수 있으면 되기 때문에 하드웨어 종속성이 덜하다.
이론상으로는 무한한 확장이 가능하고,
쿠버네티스 같은 오케스트레이션을 이용해 중단 없는 자동 확장도 가능하다.

일반적으로 네트워크로 연결 되므로 네트워크 환경이 좋지 않으면 확장이 불가능하거나,
확장을 해도 원하는 성능을 못 얻는 경우가 있다.
어플리케이션의 수정이 필요한 경우가 많고,
어플리케이션의 수정, 업데이트의 경우 각 노드에 반영해야 하므로 작업량이 늘어난다.

스토리보드

프로그램 등을 개발 할 때 프로그램의 화면, 사용자 인터페이스, 메뉴의 흐름 등을 설명하는 문서.
회사에 정해진 양식이 없는 경우 다음 사항을 유념해 작성 해야 한다.

– 개략적인 화면 모양
화면 레이아웃, 버튼의 위치, 아이콘 모양 등을 보기 쉽게 표현한다.
– 작업 흐름
순서도의 개략적인 구현 모습을 표현한다.
– 간결하게
실제 설계도와는 구분해야 한다.
문서를 보았을 때 ‘아 이프로그램은 이런 UI를 가졌고 이렇게 동작하는구나’ 정도를
쉽게 파악할 수 있어야 한다.

※ 표준 양식은 아니다. 참고용으로만 사용하자.
이렇게 작성해서 보고 했는데 양식이 별로라고 혼났어요 … 라고 하면 곤란하다.