
3장. 리눅스 기본 사용법
*aws 접속하기
Labs -> Creating and Working with an EC2 Instance in AWS
-
VPC(virtual private cloud) -> 가상 네트워크 생성
-
EC2 Instance 만들기
public key로 입력
사용자 이름 : ubuntu
사용자 키 이름 : Lab
chmod 400 /Users/mhee4/Lab.pem(권한주기 - 읽기 권한만 남기기)
ssh -i /Users/mhee4/Lab.pem ubuntu@54.242.154.72
(이렇게 접근해도 됨)
cd mhee4/
ssh -i .\Lab.pem ubuntu@54.242.154.72
http://blog.freezner.com/archives/1249
[OS X] 맥 기본 터미널로 AWS EC2 터미널 접속하는 방법
맥 환경에서의 첫 포스팅입니다. (드디어 맥북을 장만했습니다.) 덕분에 앞으로 OS X 에 관련한 포스팅도 하게 될 듯합니다. OS X에서 EC2를 접속하기 위한 준비물은 이렇습니다. 터미널 프로그램 (
blog.freezner.com
Mac에서 SSH로 EC2 인스턴스 접속하기
Mac OS 나 리눅스에서는 아래와 같이 해주면 된다. #.1 KeyPairs 를 만들어 보자 EC2 Service > Key Pair 메뉴에서 생성하자. 키페어이름을 입력하고 [Create]를 클릭하면 즉시 다운로드가 된다. 처음에만 당황
www.overtop.co.kr
<우분투 command>
$sudo apt-get install -y apache2(웹서버 설치)
$sudo service apache2 start
$sudo service apache2 status
$sudo apt-get install net-tools
$netstat -ntlp
-> 발급받은 IPv4로 잘 들어가지나 확인하기
ec2-54-242-154-72.compute-1.amazonaws.com
$whoami(내가 누구니)
$hostname
$cd \
$ cd /home(로그인 했을 때 자신의 디렉토리 정보)
$pwd
http://54.242.154.72/ 잘 가동되나 확인
ec2-54-242-154-72.compute-1.amazonaws.com
Playground - linux server
https://ddasi-live.tistory.com/55
MAC SSH 터널링
안녕하세요. 따시 입니다. MAC 에서 터너링하는 방법을 소개하려합니다. 기존에 윈도우 OS 를 사용했을 때에는 터널링을 쉽게 하였습니다. 윈도우에서는 xshell 프로그램을 사용하여 ssh를 사용하였
ddasi-live.tistory.com
맥에서 xshell 프로그램 대신 터널링
MAC ssh 터널링
window에서는 putty를 썼는데, mac은 자체적으로 ssh가 되서그런지 많이쓰는 툴을 딱히 찾지못해 그냥 터미...
blog.naver.com
xshell 실행 ->
session name : acloud-guru
public IPv4 : 54.167.223.78
22번
$touch test.txt
$ls -l text.txt
-rw-rw-r-- 1 cloud_user cloud_user 0 Feb 4 01:28 test.txt
$chmod 400 test.txt(읽기 전용으로 바뀜) ->소유자만 읽기권한만 주기
$ls -l test.txt
-r-------- 1 cloud_user cloud_user 0 Feb 4 01:28 test.txt
$cd/etc
$vi /etc/hosts(/로 시작하는 것이 절대경로)
:q! -> 강제종료
$vi var/log/syslog(권한 거부)
$ls -l /var/log/syslog
-rw-r----- 1 syslog adm 7547 Feb 4 01:45 /var/log/syslog
-:파일 | Hard Link연결개수 | 사용자 | 소유자그룹 | 사이즈 | 생성일 or 수정일 | 파일명
cloud-user -> admin이 아님 -> permission denied
root권한의 계정이 필요 -> sudo command 사용
**권한설정
소유자 | 소유그룹 | 기타그룹
rwx rwx rwx
_ _ _ _ _ _ _ _ _
읽,쓰,실 읽,쓰,실 읽,쓰,실
기,기,행. 기,기,행 기,기,행
2^2, 2^1, 2^0
4,2,1
001 => 1
010 => 2
100 => 4
111 => 7
쓰기 : 수정, 삭제
$sudo vi /var/log/syslog
:set nu(줄 번호 표시하기)
:set nonu(줄 번호 없애기)
명령모드 -> 입력모드
i (현재위치 입력)
a (다음위치 입력)
o (다음행에 입력)
h,j,k,l (커서 이동)
w (단어 이동)
cw (단어 변환)
x (1글자 삭제)
dd (1행 삭제)
/ (검색)
:w (저장)
:wq! (저장 & 종료)
G (문서 제일 마지막)
gg (문서 제일 처음)
:라인넘버 (해당 라인으로 이동)
:sh (쉘 명령어 사용, EXIT로 복귀)
:set nu
:set nonu
입력모드 -> 명령모드
esc
:q
:q! (저장x, 강제종료)
4장. 리눅스 기본 명령어와 네트워크 명령어
$groups
cloud_user sudo
$passwd (패스워드 변경하는 명령어)
$vi /etc/passwd(등록된 사용자 확인 파일)
$cat /etc/passwd
$cat /etc/passwd | grep cloud_user(검색데이터 추출할 때 많이 사용됨)
$ls -l /etc/passwd
-rw-r--r-- 1 root root 2315 Feb 22 2019 /etc/passwd(파일임)
$history
$cat /etc/group(현재 생성되어 있는 그룹의 목록)
$cat /etc/group | grep cloud_user
<실습 5-1>사용자와 그룹관리하기(179~182p)
$sudo adduser hanbit1 -password 1234
$tail /etc/passwd
$tail /etc/group
$sudo userdel hanbit1
$ls -l /home
$ls -al /home/hanbit1
$sudo rm -rf /home/hanbit1
$chmod -> 사용 권한 변경
$chown -> 소유자 변경
<실습 5-2>파일 허가권과 소유권 실행하기(187~188p)
$ls -l sample
$chmod 755 sample
$chown ubuntu sample
$chgrp ubuntu sample
-- process service
$ps -ef | grep cloud_user
$kill -9 processname
6. 리눅스 패키지 설치와 응급 복구
$netstat -ntpl
$apt list
$apt list apache\*
$sudo service apache2 stop
$sudo service apache2 status
$sudo apt-get purge apache2 apache2-utils apache2.2-bin apache2-common
$sudo apt-get install -y apache2
$sudo service apache2 start
$sudo service apache2 status
**python, nodejs설치 확인(node 10.xx 이후 버전 설치)
$python -V
$node --version
$sudo apt-get install nodejs
$curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
$sudo apt-get install -y nodejs
$sudo apt-get update
$node --version
$npm --version
$javac --version
$python3 -V
**java 설치
$sudo apt-get update
$sudo apt-get install openjdk-8-jre
(jre-실행만, jdk-compile개발도구도 포함)
$sudo apt-get install openjdk-8-jdk
$java -version
$javac -version
**python 최근 버전으로 update
https://www.python.org/ftp/python/3.9.1/
Python-3.9.1.tgz
-
curl을 사용해 다운
down 링크를 만들어줌
2. wget을 사용해 다운(v)
ftp역할을 해줌
$cd Downloads
$sudo wget https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tgz
tar + gz => 하나의 파일로 묶어줌 + 압축파일 => 파일들로 하나의 단일 파일로 묶고 압축
$ls -l
total 24780
-rw-r--r-- 1 root root 25372998 Dec 7 22:42 Python-3.9.1.tgz
(압축해제)
$sudo tar xfz Python-3.9.1.tgz (f : 파일명 설정, v : 상세확인)
$ls -l
$cd Python-3.9.1
$ls
CODE_OF_CONDUCT.md Mac PCbuild aclocal.m4 m4
Doc Makefile.pre.in Parser config.guess netlify.toml
Grammar Misc Programs config.sub pyconfig.h.in
Include Modules Python configure setup.py
LICENSE Objects README.rst configure.ac
Lib PC Tools install-sh
(build작업)
$sudo ./configure --enable-optimizations (build환경 체크)
$sudo make altinstall
$python -V
Python 2.7.12
$python3 -V
Python 3.5.2
$python3.9 -V
Python 3.9.1
**설치방법
ubuntu -> 패키지형태로 설치(apt-get install), 다운로드(tar로 단일 파일만들고 gzip으로 압축하는게 일반적)
*.tar, *.gz(압축파일), gunzip(압축파일 풀기)
*.tgz(*.tar + *.gz) => tar xfz Python-3.9.1.tgz
centOS(Redhat, Fedora) -> 패키지형(yum install) , 다운로드(
웹서버, Nodejs, MongoDB, ..., 다운로드 페이지
.exe -> 윈도우 실행
*.class, *.py => 압축 -> 해제(python +django +scrapy +restframework)
프로그램 묶음 + 코드파일 => 설치파일로 만들기
tar로 압축해제하면 원코드가 있다. =>설치파일 생성해야함
./configure -> (설치)make 파일
make(설치) -> 설치용 패키지 완성
(mysql을 다운받는다면)
https://dev.mysql.com/downloads/mysql/
(linux)dpkg -i lib mysql-community-server-core-dbgsym_8.0.23-1ubuntu16.04_amd64.deb
(source code) 설치 후 tar, configure, make파일을 직접 설정해줘야 함
도커/쿠버네티스를 활용한 컨테이너 개발 실전 입문
container 가상화는 리눅스 위에 설치하는게 원래는 맞음
도커의 container를 널리 활용할 수 있도록 windows, mac OS으로 설치할 수 있음
쿠버네티스는 도커를 보다 쉽게 사용할 수 있게 관리하는 것(operation tool )
Mac OS에 도커 데스크탑을 설치하여 실행
쿠버네티스 - 미니큐브
클라우드 서버에서 도커를 설치하면 영구적이지 않다.
-
mac - docker 설치
-
linux - docker 설치
$docker version
Server version 확인
$docker image ls (= docker images)
REPOSITORY TAG IMAGE ID CREATED SIZE
docker/getting-started latest 021a1b85e641 8 weeks ago 27.6MB
$docker (container) run -d -p 80:80 docker/getting-started
$docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9d822da28356 docker/getting-started "/docker-entrypoint.…" About an hour ago Up About an hour 0.0.0.0:80->80/tcp confident_swartz
$docker stop 9d822da28356(중단)
$docker rm 9d822da28356(삭제)
$docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
$docker run -d -p 80:80 docker/getting-started(재실행)
$docker container ls
$docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ed164936c5cd docker/getting-started "/docker-entrypoint.…" 28 seconds ago Up 27 seconds 0.0.0.0:80->80/tcp naughty_yalow
$docker container ls -a(종료된 컨테이너까지 보여줌)
$docker stop 9d822da28356(중단)
$docker rm 9d822da28356(삭제)
$docker run -d -p 80:80 docker/getting-started(재실행)
$docker image ls
$docker image rm 021a1b85e641
'CLOUD > Docker' 카테고리의 다른 글
2/8 - 도커/쿠버네티스 활용 컨테이너 개발 3차시 (0) | 2021.02.08 |
---|---|
2/5 - 도커/쿠버네티스 활용 컨테이너 개발 2차시 (0) | 2021.02.05 |
2/3 - Cloud Fundamentals 3차시 + Linux 1차시 (0) | 2021.02.03 |
2/2 - Cloud Fundamentals 2차시 (0) | 2021.02.02 |
2/1 - Cloud Fundamentals 1차시 (0) | 2021.02.01 |