키 만들기: ssh-keygen
키 배포: ssh-copy-id 192.168.10.10
레이어 보기: tree -L 2 /bin // /bin으로부터 2레벨 구조 보기
**스크립트 만들기
공개키 인증 방식 사용 예 -> 암호없이 원격 로그인
1. 보안 장비 접속하는 경우
2. 클라우드에 존재하는 서버에 접속하는 경우
3. Big Data 시스템 관리시 (->Ansible)
4. Cloud 시스템 관리시 (->Ansible)
ex) 빅데이터 서버에서 많은 서버들을 한번에 동시에 관리하기 위해 공개키 사용.
<리눅스 파일 시스템 구조>
/: 최상위 디렉토리, root디렉토리. 모든 파일 시스템의 마운트 포인터가 존재
/usr: 설치된 소프트웨어, 공유 라이브러리가 포함된 파일 및 읽기 전용 프로그램 데이터. ex) /usr/bin, /usr/sbin, /usr/local
/etc: 시스템 고유의 구성파일. ex) OS부팅 설정, 서비스 설정, 보안,기타 설정 파일.
/var: 재부팅 후에도 유지하는 시스템 고유의 가변 데이터. 동적으로 변경되는 파일. ex) DB, 캐시디렉토리, 로그 파일, 웹 사이트 콘텐츠등
/run: 마지막 부팅 후 시작된 프로세스의 런타임 데이터. 프로세스 ID파일과 잠금 파일이 여기에 포함. 디렉토리 내용은 재부팅 시 다시 생성.
/home: 일반 사용자의 홈 디렉토리. 일반 사용자의 개인 데이터, 구성파일을 저장하는 디렉토리
/root: root 사용자 홈 디렉토리
/tmp: 어디서든 쓸 수 있는 임시파일용 공간. 10일동안 엑세스, 변경이 없으면 자동 삭제. 또다른 임시디렉토리는 /var/tmp에 존재한다. 이것은 30일 까지 보관한다.
/boot: 부팅 프로세스를 시작하는 데 필요한 파일들. ex) Boot Loader(GRUB), Kernel, 램파일시스템(initrd)
/dev: 시스템에서 하드웨어에 엑세스 하는 데 사용되는 특수 장치 파일을 포함. 윈도우의 장치관리자.
/bin: 바이너리 파일들. 기본 명령어등이 들어있다. 부팅에 필요한 명령어가 위치하고 있고, 부팅 후에 시스템의 사용자들이 사용할 일반적인 명령어도 위치함.ex) ls, cp, mv, rm ....
/sbin: 시스템 바이너리파일. 관리자가 사용하는 명령어. ex) 네트워크설정, 장치관리 설정 명령어.
/lib , /lib64: 라이브러리가 들어있음.
현 상태를 순간적으로 기록해 복구용으로 사용
스냅샷은 OS 기동중이거나 Power OFF 상태 모두에서 사용 가능.
*절차
VMware > VM > snapshot > Take snapshot > 스냅샷 이름, 설명 작성.
8개 이내로 만들자.
ex)CPU,키보드,디스크,
디스크 장착
1. 장치 인식 작업(systemd.udevd) > 2. 파티션 작업(fdisk/gdisk/parted CMD) > 3. 파일시스템 작업(mkfs) > 4.마운트 작업(mount(윈도우는 자동))
1) 디스크 종류: IDE(SATA),SCSI(SAS),SSD(NVMe)
HDD: IDE,SCSI
SSD: NVMe(메모리처럼 생김.) SAS보다 읽기10배,쓰기 1.5~2배 빠름.
NVME: 컨트롤러 4개 컨트롤러당 64개.
2) 디스크 구조:
플래터 - 저장하는 공간
스핀들 모터 - 플래터를 돌려주는 모터
헤드 - 데이터를 읽는 역할
헤드 암 - 헤드를 데이터가 있는 곳으로 움직이는 역할.

A: 트랙
B: 섹터
C: 트랙 섹터
D: 클러스터
*섹터 => 트랙 => 실린더 => 파티션 => 디스크
3) 디스크 이름 체계
[참고] Hot swap: 서버 ON중에 새로운 디스크 장착해도 인식. 리눅스는 핫스왑에 약함.
1) 서버 전원 OFF
2) 디스크 장착 : VMwatr > VM > setting > add > hard disk > create a new virtual disk > scsi > 1G, store virtual disk as a single file
3) 서버 전원 ON
4) 디스크 확인: ls -l /dev/sd?, fdisk -l, lsblk, lsscsi(scsi disk만 볼때)
파티션 종류 및 이름체계
--FW 종류-- ----- DISK 파티션 타입 종류 -----
1. BIOS -> MBR 파티션 스키마 2TB 지원
2. UEFI -> GPT 파티션 테이블 8ZB 지원
- 2TB보다 크면 GPT방식만 가능.
MBR(Master Boot Record 파티션 스키마
-파티션 종류-
primary partition 주 파티션: (p1~p4)
Extended partition 확장 파티션(p1~p4) - Logical partition 논리파티션(L5~L15)
-> 확장 파티션은 주 파티션을 제외한 1~4번에 할당하고 논리 파티션은 5번부터 할당.
[???] 확장파티션과 논리파티션은 왜 필요한가.
몇개의 파티션과 용량이 중요. 4개 이상의 파티션을 만들기 위함. 주 파티션을 4개만들면 더이상 파티션을 만들 수 없음.
GPT(GUID Partition Tables)
-파티션 종류-
Partition(1~128)개 파티션 설정 가능.

[실습] MBR 파티션 형식
구조 확인: df -h (fdisk -l), cat /proc/swaps (swapon -s),lsblk, lsblk -p, lsblk -p --fs
[실습1] sdb에 파티션 구성하기.
fdisk /dev/sdb -> scsi의 두번째 디스크 설정하기
m: 도움말 보기
p: 상태 프린트 하기.
n: 생성 - p(주 파티션) or e(확장 파티션) - 파티션 넘버 1~4 정한 후 - first sector는 그냥 enter - Last sector는 200MB면 +200M enter
w: 쓰기, 저장
d: 삭제
t: 파티션 시스템 ID 설정.
partition id (fdisk) gdisk
82: Linux swap 8200
83: Linux (default) 8300
8e: Linux LVM 8e00
fd: Linux RAID fd00
mklabel gpt | msdos // 파티션 타입 설정 GPT | MBR
mkpart // 파티션 생성.
partition name? primary // 이름
File system type? [ext2]? ext4 // 파일시스템
Start? 2048s | 1M // 시작점
End? 200MB //끝점
quit //나가기
--
삭제하기: rm 1 // 1번 파티션 삭제
print: 확인.

파일시스템이란? 컴퓨터에서 파일을 저장 및 관리하는 구조체계
<메뉴얼>mkfs -t ext2 | ext3 | ext4 | xfs /dev/sdb1 //파일 시스템 적용
mkfs.ext4 /dev/sdb1 // 위와 같음
lsblk --fs // 확인

mount -a CMD // /etc/fstab등 마운트 될만한거 모두 마운트
umount -a CMD // 마운트 된것 모두 해제
mount /dev/sdv1 /raid0 // 일반 마운트
mount -p /raid0 /raid1 // bind mount
[참고] 바인트 마운트: 기존 디렉터리 구조를 다른 위치에 마운트해 마운트 지점의 내용이 원본 디렉터리의 내용과 동일하게 보이도록 만든다.
즉, 대상디렉터리에 접근하면 원본 디렉터리의 내용이 그대로 나타남.
파일 시스템의 특정 부분을 여러 위치에서 동시에 사용하고자 할 때 유용.
uuid는 blkid로 확인
마운트 옵션


remount
mount /testmount
mount | grep testmount
moutn -o remount,ro /testmount // 읽기 전용으로 umount없이 변경.
mount | grep testmount
[참고] * [장애 처리] /etc/fstab 이후 부팅 안될 시

"sulogin prompt"에서 root 암호 입력
mount |grep root
mount -o remount,rw /
vi /etc/fstab
작업라인 주석 처리
systemctl demon-reload
exit
CD 마운트 방법
(자동으로 마운트 되는 경우)
Automount (CDROM에 CD를 넣을때)
#cd /run/media/<사용자이름>/<LABEL이름>; ls
#cd ; umount /run/media/<사용자이름>/<LABEL이름>
(수동으로 마운트 되는 경우)
#mkdir -p /mnt/cdrom ; mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom
#cd /mnt/cdrom ; ls
#cd ; umount /mnt/cdrom
ISO 파일 마운트
가상 CD 프로그램: Daemon Lite, VirtualCD, CD Space
(명령어 형식)
ex) ISO 이미지 파일: 수동 마운트만 가능.
[참고] ISO파일 만들기: mkisofs
mkisofs -o linux.iso /test
mkdir -p /mnt/iso ; mount -t iso9660 -o ro,loop /test/linux,iso /mnt/iso
cd /mnt/iso; ls
cd; umount /mnt/iso
df -h // 확인
USB Flash Drive(USB Memory Stick)
RAM DISK
->램의 남은 공간을 디스크 처럼 사용하는 것.
-> 전원off시 사라지기때문에 임시파일로 활용
(수동마운트)
#free -h
#mkdir -p /mnt/ramdisk ; mount -t tmpfs -o size=10m none /mnt/ramdisk
#cd /mnt/ramdisk;ls
#cd;umount /mnt/ramdisk
NFS(Network File System) 원격 마운트
-> 분산 파일 시스템(Distributed File System)의 종류
-> 1. 리눅스/유닉스 : NFS: Linux <- 공유 -> Linux
-> 2. 윈도우 : CIFS(Common Internet File System) : WIN<- 공유 ->WIN
(NFS 서버)
#mkdir -p -m 777 /share
#vi /etc/exports
/share *(rw)
#systamctl enable --now nfs-server
(NFS 클라이언트)
#showmount -e 192.168.10.30
#mkdir -p /mnt/nfs; mount -t nfs 192.168.10.30:/share /mnt/nfs
#cd /mnt/nfs; ls
#cd; umount /mnt/nfs
CIFS(Common Internet File System) 마운트
(CIFS 서버)
-> 컴퓨터\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device 여기서 0으로 설정해주고
-> 비밀번호없이 접속 할 수 있게 설정..?
-> 전제조건: soldesk 사용자 암호 필요
[주의]: 마운트 전에 수행해야한다. 또는 마운트 해제하고 수행.
fsck /dev/sdb1 == fsck -t ext4 == fsck.ext4 == e2fsck
fsck -y /dev/sdb1 // 대답을 모두 yes
ex) fsck -y /dev/sdb1 2>&1 | tee fsck.log // fsck.log파일에 내용 저장.
위 슈퍼블락 일부를 0으로 만든 후 fsck -y /dev/sdb1을 하면 고쳐진다.
고쳐진 작업 내용을 저장하고 싶다면
fsck -y /dev/sdb1 2>&1 | tee fsck.log를 사용하자.
df: 파티션 단위의 사용량 점검
-k : 키로바이트 단위
-m : 메가바이트 단위
-h : 사람이 보기 쉽게 변환
-T : 파일시스템 타입도 같이 출력
주로 df -hT 사용.
ex) df -hT / /boot /home
du : 디렉토리 단위의 사용량 점검
-k : 키로바이트
-m : MB
-h : 보기 편하게
-a : 해당 경로 모든 용량 표시
-s : 해당 경로 디스크 용량 총 합계만 출력
find
find / -name core -type f
find / -user fedora -goroup fedora
find / -mtime -7|7|+7
fine / -perm -755|755
find / -size -30M|30M|+30M
find / -name file1 -type -exec CMD \;
[실무 예] df CMD + du CMD + find CMD + lsof CMD
df -k
du -sk /var // var의 총 용량
cd /var
du -sk * | sort -nr | more // 페이지 단위로 /var 용량 역방향 정렬
find /var -type f -size +1G // /var에 있는 파일 사이즈가 1G이상인것 찾기
[질문] 다음 물음에 대한 답을 찾아 보시오.
(질문1) /(root) 파일 시스템안의 바로 밑에 있는 디렉토리 중 가장 용량이 큰 디렉토리는? du -sk * | sort -nr |more
답: usr
(질문2) 사용량(%)이 가장 많은 파일시스템은? df -hT /
답: /dev/sda1
(질문3) 운영체제 내에 용량이 가장 큰 파일은?find / -type f -size +300M
답: /var/cache/PackageKit ....
(질문4) /etc 디렉토리 총 용량은? du -sh /etc
답:33MB
[참고] 웹 콘솔(Web Console)로 모니터링
systemctl enable --now cockpit.socket //활성화
firefox https://localhost:9090 & // 웹 브라우저 접속