일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- sql
- math
- map
- deque
- BFS
- Properties
- NIO
- string
- JPA
- CSS
- Calendar
- Java
- 스프링부트
- spring boot
- scanner
- dfs
- GC로그수집
- set
- 리소스모니터링
- html
- Union-find
- alter
- javascript
- date
- 큐
- union_find
- 힙덤프
- 스택
- priority_queue
- List
- Today
- Total
매일 조금씩
02/02 ! - Linux(1) : 가상환경 VMWare와 CentOS 설치, 리눅스 명령어... 전자정부프레임워크(2) : egovFrame template project 를 mariaDB용으로 만들기 본문
02/02 ! - Linux(1) : 가상환경 VMWare와 CentOS 설치, 리눅스 명령어... 전자정부프레임워크(2) : egovFrame template project 를 mariaDB용으로 만들기
mezo 2021. 2. 25. 20:01
리눅스
리눅스란?
리눅스는 '리누스 베네딕트 토발즈'가 처음으로 개발했다.
리눅스를 작게 얘기하면 리눅스 커널을 말하며 이 리눅스 커널을 '리누스 베네딕트 토발즈'가 만든것이다.
이 리눅스 커널을 응용프로그램이 둘러싸고 있는데 이걸 리눅스라고도 하고 리눅스 패키지라고도 한다.
이 응용프로그램을 통해서 배포판을 만들어 내는 것이다. 응용프로그램의 종류에 따라서 배포판이 다양하게 나온다.
- 레드햇 계열 - 레드햇, 레드햇의 무료버전인 CentOS, 페도라 19 : 서버용으로 많이 씀
- 데비안 계열 - Ubuntu : 개인용으로 많이 씀
- 슬랙웨어 계열 - openSUSE
Mac도 원래 리눅스 계열, 정확히는 유닉스 계열이다. 위에 그래픽 화면만 올려놓은 거라고 생각하면 된다.
▶ 리눅스에서 가장 중요한 개념
1) 리눅스는 리눅스 커널 + 응용프로그램을 말하며 리눅스 배포판이라고도 한다.
2) 응용프로그램에 따라 배포판이 달라진다.
▶ 리눅스 공부
1) 서버 애플리케이션 개발자
- 시스템 명령어
- 서버 세팅
2) 임베디드 애플리케이션 개발자
- 시스템 명령어
- 커널 시스템 (하드웨어와 연결되는 부분)
=> 안드로이드 시스템 개발자
=> 아두이노/라즈베리 개발자
=> 커넥티드 시스템 개발자
3) 시스템 관리자
- 서버 모니터링
- 보안
이렇게 각자 요구하는 분야에 따라서 다르게 공부를 한다! 난 1번의 서버 애플리케이션 개발자이다.
웹사이트는..
1. 개발용
windows + tomcat + eclipse
=> 배포(deployment / war) "어디서나 볼수 있게"
2. 서비스(실제 운영)용
"원격서버를 관리할수 있느냐"
1) linux(unix) + tomcat으로 직접 세팅
2) setting된 linux 일부 사용 - 웹호스팅
https://hosting.cafe24.com > tomcat jsp 호스팅
3) 클라우드 - 아마존 웹 서비스
==========> 이 리눅스들로 향후에 unix기반에 접근할 수 있다. (은행쪽)
1. 리눅스 설치
하드웨어 위에 Linux => 가장 좋다.
하드웨어 위에 windows 위에 가상머신 프로그램 위에 Linux => 이걸로 진행한다.
가상 머신으로 VMWare와 버추얼 박스를 많이 쓴다.
가상 머신을 제작할 수 있는 프로그램을 VMWare player라고 한다.
여기서 가상머신은 VMWare, 리눅스는 CentOS로 한다.
1) 'vmware player 다운로드' 구글에 검색 , 다운로드
2) CentOS 다운로드
위사진에서 4개중 어느것을 눌러도 상관은 없지만 다운로드 속도가 달라질수 있다.
내가 직접 해본 결과 mirror.kakao.com 것이 제일 빨랐다.
가장 용량이 큰 것을 다운로드 한다.
3) 리눅스를 설치할 하드웨어(가상 머신) 만들기
여기서 Edit virtual machine settings를 누르면 아래와 같은 창이 나와서 설정을 수정할 수 있다.
그리고 가상머신을 실행시키면 까만 화면에 영어로 뭐라쓰여져 있는데 맨 윗줄 Linux 뭐시기가 선택이 되어 있지 않고 두번째 줄이 선택이 되어서 흰색으로 되어 있을 거다. 화면 클릭하고 화살표 up 방향키로 Linux가 선택되게 해준다.
그러면 CentOS가 설치될 가상환경을 설정하여 설치를 완료하면 된다.
가장 먼저 설치대상을 선택한다.
소프트웨어를 선택한다.
Root 암호를 설정한다.
Root암호를 설정하여 절대적 사용자를 만들었으니 이제 일반사용자를 만든다.
마지막으로 시간 및 날짜를 현재 지역으로 설정한다.
총 다섯가지를 설정완료했다.
그리곤 설치시작을 누른다.
설치가 다되면
라이선스에 동의가 되어있지 않다고 나온다.
그거 '동의' 누르면 된다.
▶ 실행화면
1) CUI
명령프롬프트
2) GUI
x-window - window
4) 인터넷 연결
인터넷 연결을 해야하는데 위처럼 연결하는 것은 일회성 이기때문에 켤때마다 연결해줘야하는 귀찮음이 있다.
따라서 이걸 계속 유지시키려면 다음과 같이 하면된다.
5) 리눅스 업데이트 필요
터미널에서 다음 명령어를 친다.
su - root(암호입력)yum update
이러고 나오는 질문에 두번다 y로 yes하면 완료.
이걸 Virtual Machine 폴더에서 복사본을 만든다.
6) 리눅스 백업용 복사해두기
아래처럼 가상머신 폴더내에서 리눅스의 복사가 가능하니 백업용으로 세팅이 끝난 것을 복사해두는 것이 좋다.
7) 다시 centOS 켜서 CD를 없는걸로 저장한다. (원본, 복사본 둘다)
8) 다중처리
ctrl + alt + f2,f3,f4,f5,f6 화면대로 다중처리가능
윈도우 화면 쓰고 싶으면 ctrl + alt + f1
윈도우 화면 안쓰고 싶으면 나머지 ctrl + alt + f2,f3,f4,f5,f6 에서 처리해주면됨
2. 리눅스 명령어
리눅스의 모든것은 커스터마이스할수 있다. 오픈소스이기 때문에
- data : 시스템 날짜
- cal : 캘린더
- man date
- enter : 한줄씩
- space bar : 한페이지
- q : 끝
- logout : 로그아웃
- passwd : 암호변경
리눅스는 드라이브가 없고 디렉토리에 연결된다.
디렉토리가 드라이브다.
위 그림의 맨위의 '/'가 root인데 밑에가 다 디렉토리여서 root가 일정하게 유지가 된다.
- pwd : present working directory
- ls : 디렉토리 리스트
- ls -l : 좀더 자세히
- ls -a : 숨김파일도 전부다 (파일명앞에 . 있는거)
앞쪽에 d라고 쓰여있으면 디렉토리
없으면 파일
- cd (change directory)
- cd 경로명
- 절대경로
- 상대경로
절대경로는 무조건 '/' 붙인다.
ex) cd /usr/lib
cd - :이전 디렉토리출력하고 돌아가기
상대경로는
[master@localhost ~]$ cd ../..
[master@localhost /]$ cd usr/lib
또는
[master@localhost ~]$ cd ../../usr/lib
- mkdir : 디렉토리 생성
- rmdir : 디렉토리 삭제
[master@localhost ~]$ mkdir -p dir1/dir2/dir3/dir4
dir1 안에 dir2 ...이렇게 만들어짐
dir1은 안에 디렉토리가 있어서 바로 못지움 거꾸로 지워줘야함
[master@localhost ~]$ rmdir dir1/dir2/dir3/dir4
[master@localhost ~]$ rmdir dir1/dir2/dir3
[master@localhost ~]$ rmdir dir1/dir2
[master@localhost ~]$ rmdir dir1
[master@localhost ~]$ ls
공개 다운로드 문서 바탕화면 비디오 사진 서식 음악
- tree : 트리구조로 표현
- touch : 파일 만들기
- cp : 파일복사
- mv (같은 디렉토리에선 rename) : 이동
- rm : 파일 삭제
- rm -r : 디렉토리 삭제
- cat : 파일 내용 보기
- cat -n : 줄번호도 함께 보임
- head : 위에서 10 줄만 보여줌
- head -n 3 : 위에서 3줄만 보여줌
- [master@localhost ~]$ head -n 3 etc/passwd
- tail : 밑에서 10 줄만 보여줌
- tail -n 3 : 밑에서 3줄만 보여줌
[master@localhost ~]$ tail -n 3 etc/passwd
| more : 한페이지씩 끊어서 보기
[master@localhost ~]$ cat /etc/passwd | more
바로가기 - 심볼릭 링크 (하드링크)
[master@localhost ~]$ cp /etc/passwd .
/etc/passwd를 현재에 복사
검색
- grep
[master@localhost ~]$ grep sbin ./passwd
[master@localhost ~]$ cat ./passwd | grep sbin
특정디렉토리에서 파일을 찾고 싶을 땐
- find 경로 옵션 옵션값
/usr/ 에서 name이 ls인거 찾아줘!
=> root가 아니여서 제한 걸림
/home 에서 user가 master인거 찾아줘!
실행파일이 어느 디렉토리에 있는지 알고 싶을 때
- whereis
- which
1. 리눅스 다시설치
2. 명령어 정리
디렉토리와 파일 관련
기타 ...
전자정부프레임워크
= Spring/MyBatis
<= Java / JSP / Servlet (html/css/Javascript) + 데이터베이스
* System( OS / WebServer )
+ Git / 턱시도 ..
* Spring + 데이터 베이스
* library + 설정파일
1. Java
2. JdbcTemplate
3. MyBatis
* 전자정부프레임워크
기본적인 프로그램 템플릿(가상 디자인) 제공
* 프로그램적인 골격
* 게시판 구조를 메모리 DB -> MariaDB
(여기까지 java 끝)
(오늘 새로 들어갈거)
* System
가상머신 - 하드웨어에 대한 가상화
* Intel / Virtualization(메인보드) 가 지원을 해줘야함
* 속도 느려짐 ..
* 윈도우 업데이트
1. VMWare - VMWare (유로 / 무료(*))
2. VirtualBox - Oracle (무료 - 느림)
리눅스 프로그램 2개
ubuntu
centos
egovFrame template project 를 mariaDB용으로 만들기
egov teplate project로 프로젝트를 만들면 가상 데이터들을 넣어야 확인이 가능한데 그걸 넣으라고
DATABASE안에 DB 종류별로 데이터를 넣는 명령어를 만들어놨다.
그거로 mariadb
1) pom.xml 수정
hsqldb 주석처리
mariadb 추가
log4jdbc driver 주석해제
2) globals.properties 에서 다음과 같이 수정
운영서버타입, IP, DB 서버 타입 , DB 데이터 설정 가능.
3) 아래의 Hsql은 주석처리한다.
여기까지하면 기본설정은 끝이다.
4) context-datasource.xml
hsql 주석처리
모바일용은 egovFrame mobile project 를 mariaDB용으로 만들면 된다.