개발자입니다
[비트캠프] 10일차(2주차5일) - git, 리눅스 설치(VirtualBox, Vagrant, centOS) 본문
[비트캠프] 10일차(2주차5일) - git, 리눅스 설치(VirtualBox, Vagrant, centOS)
끈기JK 2022. 11. 18. 12:58
git이란?
git : 버전관리 시스템. 소스의 변경을 관리. Cofiguration Management System(형상관리시스템)
program : 계획, 과정. 컴퓨터가 해야할 일을 계획하는 것
아래와 같은 순서로 명령어가 CPU에 전달된다.
명령어(소스) -(번역 : 컴파일)-> 기계어 -> OS -> CPU
CVS → SVN → git
|중앙집중관리| |분산관리|
서버의 파일을 직접 편집하는 것이 CVS, SVN. 그러나 단점은 서버의 소스코드가 날아가면 끝이다.
① 변경된 내용을 다운로드 : git fetch
② 다운받은 내용을 기존 파일에 합친다 : git merge
위 두 가지를 한번에 하는 명령어 : git pull
Repo.: 소스파일 + 변경내력
리눅스 설치
리눅스 개념
Linux → 컴퓨터(Hardware, H/W)에 설치하지 않고,
→ VM(Hypersior)에 설치한다.
H/W, S/W → 추상화
계층구조(layered)
Application?
Software
- System S/W : H/W 제어 (예) OS, Driver
*Driver : 장비 제어 software. Driver는 OS에 맞게 제작해야 한다. - Application S/W : (예) MS Word, PPT, Excel, Chrome, VSCode, LoL
- Standalone App. (예) MS World, Excel, VSCode, 지뢰찾기
- Client/Server App. (예) LoL, Chrome, Git, Kakao Talk
- 설치형 App. (예) LoL, Git, Kakao Talk
- 클라우드 App. (예) Naver Mail/Cafe, 네이버 지도
Virtual Box는 Type 2 방식을 사용한다.
VirtualBox 설치
*dependency : 프로그램 설치시 다른 프로그램 필요한 것
리눅스 설치 - 1단계 : VirtualBox 설치
virtualbox 검색 후 설치한다.
명령 프롬프트에서 폴더명 변경 및 폴더 삭제 명령어
ren test3 test4 # 폴더명을 test3에서 test4로 바꾼다.
rmdir test4 # test4 폴더를 삭제한다.
rmdir /s /q test4 # /s : 강제 삭제, /q : 물음 없이 삭제
*Context Menu : 마우스 우클릭
리눅스 설치 - 2단계 : Vagrant 설치
vagrant 검색해서 AMD64 다운 후 설치한다.
Vagrant : VirtualBox를 CLI로 제어하는 프로그램
명령 프롬프트에서 버전 확인 명령어는 다음과 같다. 또한 help 명령어는 다음과 같다.
vagrant -v
vagrant --version
vagrant help init # init 명령어 help를 본다
리눅스 설치 - 3단계 : centOS 리눅스 머신 생성
Vagrant로 VM 생성하기 - ① Vagrantfile 생성
사용자 폴더에 아래처럼 폴더 생성해서 vagrant init 실행한다.
mkdir vm-projects
cd vm-projects
mkdir centos
cd centos
vagrant init "centos/7" ## 현재 폴더에 Vagrantfile 다운해서 생성한다.
# OS가 이미 설치되어 있는 virtualbox용 VM 이미지 이름
# 이 사이트에서 제공하는 다양한 os의 VM 이미지 : app.vagrantup.com
Vagrantfile : 생성할 VM의 설정정보(VM의 호스트명, 설치할 OS 정보, 네트워크 정보, ...)
Vagrant Cloud에서 centos 검색했을때 우측에 virtualBox 나와있으면 init 생성 가능하다.
vagrant init을 하지 않고 'Vagrantfile'이라 파일을 생성해서 코드를 직접 타이핑 해도 된다. (자세한 것은 아래 참조)
Vagrant로 VM 생성하기 - ② OS 이미지 다운로드 및 VM 생성, 설치
명령 프롬프트에 아래 처럼 입력한다.
vagrant up # Vagrant 설정 파일을 찾아 실행한다
위 명령으로 아래가 다 실행된다.
ⓐ 로컬 vagrant에 보관되어 있는 이미지가 있는지 찾아본다. 없으면 ①,② 실행
① vagrantcloud.com 에서 VM 이미지를 다운로드
② VM 이미지를 압축해제 해서 VM 생성 → VirtualBox 에 등록
③ 설정파일에 등록된 대로 VM 설정 변경(이미 등록 되어있으면 ④로 감)
④ VM 실행
Vangrantfile을 직접 생성하면 ①,②를 하지 않는다.
vagrant cloud에서 아래 코드 복사한다.
C:\Users\bitcamp\vm-projects\centos 폴더에 아래 코드를 입력하고 Vagrantfile이라 저장한다. (확장자 없음)
Vagrant.configure("2") do |config|
config.vm.box = "centos/7"
end
이 강의에서는 직접 다운하는 것과 코드 작성하는 것을 비교하기 위해 centos2 폴더를 만들어서 코드를 저장했다.
Vagrant로 VM 생성하기 - ③ VM에 SSH로 접속 (SSH : 보안 터미널(암호화해서 데이터 주고 받음))
VM에 SSH로 접속하려면 명령 프롬프트에 아래처럼 입력한다.
C:\Users\bitcamp\vm-projects\centos>vagrant ssh # 현재 VM 프로젝트가 생성하고 실행한 리눅스 서버에 접속한다.
들어가면 명령 프롬프트 입력부분이 바뀐다.
나가는 방법은 exit 입력하면 된다.
[vagrant@localhost ~]$ exit
VM 정지
가상머신 멈추려면 vagrant halt 입력한다. 그러면 VirtualBox에서 실행 중 → 전원 꺼짐으로 바뀐다.
다른 프로젝트 폴더에서도 정지 가능하다(아래 참조).
C:\Users\bitcamp\vm-projects\centos>vagrant halt
*가상머신 폴더 위치는 C:\Users\bitcamp\VirtualBox VMs이다.
C:\Users\bitcamp\vm-projects\centos (프로젝트 폴더)가 아니다.
*아래 파일이 가상 하드이다. 용량은 약 1GB 이다.
VM 삭제
VM 삭제는 아래 명령어로 할 수 있다. 삭제 후에도 프로젝트가 존재하는 한 vagrant up 하면 다시 생성할 수 있다.
C:\Users\bitcamp\vm-projects\centos>vagrant destroy
실습1. VM의 서버 이름 변경하기
vagrant ssh로 리눅스 서버에 접속해서 hostname 입력하면 서버 이름 확인 가능하다.
C:\Users\bitcamp\vm-projects\centos>vagrant ssh
[vagrant@localhost ~]$ hostname
localhost.localdomain
서버 이름 변경하려면 가상머신을 멈추고, Vagrantfile을 수정하고, 다시 서버 실행시킨다.
C:\Users\bitcamp\vm-projects\centos>vagrant halt
# VSCode에서 Vagrantfile에 config.vm.hostname = "myhost1.bitcamp" 코드를 추가한다.
C:\Users\bitcamp\vm-projects\centos>vagrant up
접속 후 hostname으로 서버 이름 확인하면 바뀌어 있다.
[vagrant@myhost1 ~]$ hostname
myhost1.bitcamp
실습2. centOS3 VM 생성해서 실행 후 서버 이름 "myhost3.bitcamp"로 변경하기
centos 프로젝트의 VirtualBox 이름 확인 방법
아래 경로에 가면 action_set_name 파일에서 숫자를 확인 할 수 있다.
이 숫자를 VirtualBox에서 일치하는지 비교하면 된다.
vagrant 현재, 다른 서버 상태 확인 및 global 상태 확인
아래 각 명령어와 설명 확인하자.
vagrant status # 현재 프로젝트 폴더의 서버 상태를 확인한다.
vagrant global-status # 전체 서버 상태를 확인한다.
vagrant up <id> # status 명령어에서 나온 id를 입력하면 다른 프로젝트 폴더의 서버를 조작할 수 있다.
# vargrant up, halt 등이 가능하다
리눅스 명령어
깃 설치
아래 명령어이다. -y 하면 질문에 모두 y를 입력한다.
sudo yum install git -y
기본 명령어
pwd # 현재 위치 확인
ls # 현재 폴더 내용물 확인. dir과 동일하다.
mkdir git # 명령 프롬프트와 동일하다.
cd git # 명령 프롬프트와 동일하다.
git clone https://github.com/jongkwangyun/jongkwangyun.github.io # 명령 프롬프트와 동일하다.
rm -rf jongkwangyun.github.io # 폴더 삭제한다. -r는 폴더 삭제, -f는 강제 삭제
# 참고로 명령 프롬프트는 RD /S /Q '파일 경로'로 삭제한다. RS 는 폴더 삭제, /S 는 하위 폴더와 파일 모두 삭제, /Q 는 확인 없이 삭제
실습3. VM5 생성 및 git 개인 페이지 변경하기
- centOS VM5 생성
- project directory 생성
- Vagrantfile 준비
- VM 실행 - centos5 VM 접속
- VM SSH 접속 - git 개인 페이지 변경
- git 설치
- nano 에디터 설치
- git config의 name와 email 설정
- git 개인 페이지 저장소 복제
- README.md 편집
- git commit & push
과제
1. Hypervisor 조사해서 Git page에 정리 보고서(~11/20 06:00)
조언
*연봉 1억의 벽은 수학이다.
*기술이나 용어를 검색해서 익숙하게 만들어라. 이해하지 않아도 이해한 것처럼 착각하게 된다. VM 위에서 어떻게 돌아가는지 구체적으로 알 필요 없다. 석박사 수백명이 이해하고 만든다.
*타 분야 경력자도 추가 경력 인정 가능한 경우 있다. 개발자 2년 경력 쌓으면 +1년해서 3년, 4년 경력 쌓으면 +2년 더해서 7년이 되기도 한다.
'네이버클라우드 AIaaS 개발자 양성과정 1기 > git, 리눅스' 카테고리의 다른 글
[git] 자주 사용하는 명령어 - commit, branch, checkout, merge, rebase, reset, revert (0) | 2023.03.30 |
---|---|
[비트캠프] 12일차(3주차2일) - 리눅스 명령어, git 명령어, git(충돌, 브랜치) (0) | 2022.11.22 |
[비트캠프] 11일차(3주차1일) - git(status, log, 로컬 저장소에서 리모트 연결), Hash (0) | 2022.11.21 |
[비트캠프] 9일차(2주차4일) - 매직에꼴 특강, 필요 툴, git 개인 홈페이지 만들기, 매직에꼴 과제 제출법 (0) | 2022.11.17 |