리눅스 기초 3

ganadara·2022년 11월 2일
3

복습

목록 보기
3/49

새싹 인공지능 응용sw 개발자 양성 교육 프로그램 김기희 강사님 수업 정리 글입니다.

목차

  1. network
  2. 네트워크 관련 명령
  3. java 실행환경 구축하기
  4. 파이썬 환경 구축
  5. centos에 mysql 설치하기

1. network

  • 이것만 알기
    ip주소
    net mask
    broadcast
    gateway
    port
    network

기본

전세계 네트워크를 묶어 둔 것을 인터넷, wan이라고 한다.
wan은 작은 네트워크 그룹(lan, intranet, network(작은 의미 network)으로 구성
intranet은 기업체 또는 단체가 사용하는 인터넷. lan안에 호스트pc가 있다.

ip주소는 네트워크상의 호스트가 가지는 유일한 주소를 말한다.
ipv4 는 . . . . 으로 구성
ipv6 는 : : 으로 구성

hostpc도 ip주소를 가져야 한다. ex)192.168.56.100
hostpc에 부여된 net mask도 봐야 한다. ex)255.255.255.0
논리곱(and연산) 비트연산을 해야 한다. ex)192.168.56.0 / 192.168.56.0
192.168.56.0 = 192.168.56.0 면 같은 통신망안에 있다.
192.168.56.0 이 주소는 실제 hostpc에 부여된 주소가 아니라 이 근거리 통신망에 부여하는 주소이다. → network 주소, 이 네트워크의 끝을 알려주는 주소(broadcast 주소)
네트워크 안에 있는 모든 주소는boradcast주소를 항상 주시하고 있다.

예_ 10.0.3.0 이것만 봐서는 실제주소인지 네트워크 주소인지 모름
net mask가 255.255.255.0 이라면 마지막 broadcast주소는 10.0.3.255가 된다.
net mask가 중요하다.

큰 의미

lan + lan = network(최소단위)
다른 네트워크 간에는 통신하려면 gateway를 통해 자기 네트워크를 빠져나가야한다. (gateway: 어떻게 네트워크를 찾아가야 하는지 알려준다.)
다른 네트워크에서는 router가 맞이해 준다. 사실 gateway와 router는 같은 장치지만 들어올때 나올때 차이이다.

어딘가에 nameserver네임서버(도메인서버)가 있다.
www.naver.com이 네임서버에 ip주소를 물어보고 찾아간다.
네임서버는 호스트이름을 ip주소로 바꿔준다.

안에서는

통신을 하기 위해서는 연결을 구성해야 한다. 연결을 구성할 때는 서로 일종의 계약을 맺는다. 통신을 하고자 하는 쪽이 상대에게 통신하자고 알려준다. 서버쪽에는 거부 또는 승인을 한다. 이 때 session이 생성된다. 연결하는 동안 계속 사용한다.

netmask

netmask = network의 규모를 나타낸다.
ip주소는 255.255.255.255까지 쓸 수 있다.
255.255.255.0 비트연산자(xor)을 해야 한다.

ex)
255.255.255.255 - 255.255.255.0 = 0.0.0.255
->255개의 호스트가 참여할 수 있다는 뜻
255.255.255.255 - 255.255.0.0 = 0.0.255
-> 255 * 255 = 65025개 참여 가능

255.0.0.0 = a클래스 네트워크
255.255.0.0 = b클래스
255.255.255.0 =c클래스
255.255.255.128(→서브넷이라고한다.)을 쪼개면 총 128개의 호스트가 하나로 묶을 수 있다.

net mask가 128인 192.168.56.0 / 192,168,56,128 로 나눠서 사용할 수 있다.

session

최초연결

서로 연결하기 전 최초 생성된 것을 session이라고 한다. 이후에 주고 받는 것은 session이라고 한다.

port

client, server에 접속한 목적을 알 수가 없어서 모든 host들은 client든 server든 자기자신을 둘러싸는 외벽이 있다. 연결이 되기 위해선 이 벽을 통과해야 한다. client는 port까지밖에 접근 못 함.

port는 번호가 부여된다. port 번호는 1~65535까지 존재
port는 항상 존재. client가 접근할 수 있는 건 port까지. port에서는 웹 서비스구동하면 서버소켓을 만들고 80port에 바인딩을 한다. port는 존재하지만 port에 존재하는 소캣이 없으면 연결이 안 된다.
socket → client socket or server socket

서버를 구동하게 되면 웹서버는 서버소켓을 생성하고 80port을 연결하고 기다리고 client를 맞이한다(연결한다)
연결이 안 된다는 것은 이 포켓에 연결된 소켓이 없다는 뜻.

2. 네트워크관련명령

리눅스 시스템에서 장치 관리 =
하드웨어
콘솔 → 파일
디스크 → 파일
사운드카드 → 파일
네트워크카드 → 파일

합쳐서 device, 파일(=장치파일)을 선택하면 장치로 갈 수 있도록 해놓음
tty sda~adz까지

디스크

하나 시스템에는 여러개 디스크장치를 달 수 있다.

  1. sda - 첫 번째 디스크
  2. sdb - 두 번째 디스크
  3. sdc - 세 번째 디스크

디스크 장치는 그냥 못 쓰고 파티션을 나눠야 한다.
리눅스 설치하면서 영역을 2개로 나눴다.

  1. /(root) → sda1 첫 번째 하드디스크의 첫 번째 파티션
  2. swap → sda2 첫 번째 하드디스크의 두 번째 파티션

파티션안에 파일시스템이 만들어 지니까 파티션을 만듦
위치: /dev/sdb (/dev= device)

  1. 파티션 생성
  2. 파티션에 파일시스템 생성(= 파티션 내에 데이터를 어떻게 저장하고 관리할 것인가를 정하는 것)
  3. 마운트(파일시스템을 쓰기 위해서)

sdb 두번째 하드디스크. sdb1 두 번째 하드디스크의 첫 번째 파티션

파일시스템 생성 명령어

파일시스템 생성 mkfs -t ext4 /dev/sdb1 or mkfs.ext4

마운트 생성

마운트 하려면 디렉토리필요

mkdir /data = data폴더 생성

ex)
마운트 mount /dev/sdb1 /data
1. 어떤 파일시스템를 마운트할 것인가 = /dev/sdb1
2. 어떤 디렉토리 = /data

ex)
/dev/sda3 on / type ext4 (rw,relatime,seclabel,data=ordered)

첫번째 하드디스크의 첫 번째 파티션의 첫 번째 파일시스템을 root을 주고 rw은 옵션

파일시스템을 추가하면 자동으로 마운트를 하려면 정적마운트(=고정)를 해야 한다.
/etc/fstab 파일을 정적 마운트 파일이라고 한다.

  • 덤프 = 파일시스템백업
    ex)
    12 → 1 = 덤핑가능여부, 2 = 점검여부
    덤프 = 0 불가 1허용
    점검 = 1 허용 2 불기
  • 명령어
    df = 디스크 사용량을 보는 명령, 마운트를 보는 것
    mount = 아주 자세히 마운트 보여줌

3. java 실행환경 구축하기

jdk설치하기

Summary : OpenJDK 11 Runtime Environment = jr = 실행만 할 수 있다.
Summary : OpenJDK 11 Development Environment = 개발가능

자바home이라는 환경변수를 요구한다.
환경변수 1. 사용자환경변수 2. 시스템환경변수
시스템환경변수를 만들려면 언제 생성되는 지 알아야 한다.
시스템환경변수는 부팅하는 과정에 설정된다.

예)
for i in /etc/profile.d/*.sh /etc/profile.d/sh.local ; do
sh확장자 파일을 만들어두면 i에 넣고 실행해라
export해야 환경변수 설정
부팅할때 만들어지니까 환경변수 설정하면 재부팅해야 한다.

재부팅 대신 source /etc/profile 가능
echo $JAVA_HOME

tomcat

tomcat은 웹 서버 프로그램이다.

4. 파이썬 환경 구축하기

파이썬을 프로그램밍을 하기 위한 환경 구축

yum명령을 이용하여 gcc

#yum install -y gcc openssl-devel bzip2-devel libffi-devel

openssh - 원결로그인서비스 제공
openssl -특정 프로토콜을 통해 통신가능하게 해준다.

시스템백업

  • 덤프명령

cat /dev/sda > /dev/sdb 똑같이 만든다
cat /dec/sda1 > data 파티션을 data로 만들어라

./configure - - enable -optimizations
이 라이브러리를 사용가능한지 , 컴파일 환경을 체크한다.
그 환경에 맞춰서 makefile(명세파일)을 만들게 된다.

5. centos에 mysql설치하기

계정과 호스트 짝을 이른다
% = 모든 호스트 가능

  • database의 2가지 의미
  1. 큰의미 : 데이터집합체
  2. 작은의미: table space로써의 의미

table space는 테이블이 저장되는 공간
실제 데이터는 tablespace에 저정되고 테이블은 여러개가 존재할 수 있다.

profile
DL 공부중

0개의 댓글