2019. 11. 27. 10:04ㆍSecurity/리눅스
* 리눅스의 파일 시스템과 파티션
UUID
- 매체나 장치에 붙어있는 고유 이름으로 디스크의 위치가 바뀌어도 유지.
- UUID를 이용해서도 마운트와 언마운트가 가능.
xfs_admin
- 파티션의 파라미터를 변경하거나 확인할수 있지만 사용하는 것은 추천되지 않음.(중요도 낮음)
findfs
- UUID나 라벨명으로 장치명 확인(중요도 낮음)
자동 마운트(/etc/fstab)
- /etc/fstab 파일은 시스템 시작 시 자동으로 마운트할 파일 시스템의 목록이나 옵션을 저장.
- 가상 드라이브를 부팅시마다 마운트 해주고 싶다면 /etc/fstab에 명령어를 쳐주면 되지만 오타등의 실수가 있을 경우 부팅이 되지 않으므로 rc.local 파일에 마운트 명령어를 추가해주는 것이 안전.
- 형식
->mount -a : fstab의 모든 목록을 마운트
- [장치, 마운트 위치, 파일 시스템 타입, 옵션, dump, 점검여부]의 6가지의 항목으로 구성.
- 장치 항목은 UUID가 출력될 수도 있고 라벨명이 출력될 수도 있다.
SWAP
- 리눅스의 메모리 관리 기술 중 하나. 메모리가 부족할 경우 보조기억장치를 메모리 대용으로 사용.
- 윈도우의 가상 메모리와 유사한 기술이며 일반적으로 스왑 공간 추가는 스왑 파티션을 이용하며 메모리의 2배로 잡는게 일반적이다.
- /etc/fstab에 등록해서 사용.
- mkswap -c [장치명]
-> 장치명의 스왑 파티션 포맷
swapon [장치명]
-> 장치명의 스왑 파티션 활성화
swapon -s
-> 현재 swap 상태 확인
swapoff [장치명]
-> 장치명의 스왑 파티션 비활성화
free : 메모리 구조를 확인하는 명령어
swapon -s : 현재 swap 상태를 확인
mkswap -c /dev/sdb1 : /dev/sdb1의 스왑 파티션 포맷
swapon /dev/sdb1 : /dev/sdb1의 스왑파티션 활성화
* 프로세스
- 시스템에서 실행 중인(메모리를 점유중인) 프로그램.
- 프로세스가 할당 받은 메모리 영역을 프로텍션 도메인이라고 한다.
- 프로세스는 pid에 의해 구별
- 프로세스는 트리구조를 이루며 최상위 프로세스는 init이다.
- 프로세스는 ppid로 구별되는 상위(부모 프로세스)를 갖는다.
job
- job은 현재 터미널에서 실행한 프로세스로 shell에 의해서 job 번호가 부여.
foreground
- 실행되고 있으면서 현재 입출력하고있는 프로세스.
- 터미널의 입출력은 foreground 프로세스를 위해서 대기.
background
- 실행되고 있지만 현재 입출력하고 있지 않은 프로그램.
ex) daemon 프로세스
ps : 프로세스를 확인. 보통 -ef를 같이 사용.
-a : 현재 터미널에서 실행중인 프로세스
-e : 전체 프로세스
-f : 자세한 내용.
-u : 실행 계정, 시작 시간 포함한 정보 검색
UID : 프로세스 실행 계정
PID : pid
PPID : 부모 프로세스 pid
C : idle time(유휴 시간)
STIME : start time. 프로세스가 시작된 시간
TTY : 터미널. 프로세스가 연결된 제어 터미널
TIME : CPU 사용시간
CMD : 실행 명령
kill
- 프로세스를 강제 종료.
- signal을 지정하고 미리 정의된 signal에 미리 정의된 프로세스에 대한 종료 작업을 수행
- 형식 : kill [시그널] [PID]
-> -l : signal 목록(9: 프로세스 강제 종료)
nohup
- 터미널은 죽어도 프로그램은 계속해서 실행되게 하고싶을때 사용.
- 로그아웃 이후에도 명령은 계속 실행 되지만 background로 돌리는 것은 아니다.
- 형식 : nohup [commnad]
* RPM
Redhat 사에서 제공하는 리눅스용 프로그램을 배포하는 기술. 단, 의존성 문제로 설치하기 힘든 경우가 있다.
RPM 패키지의 구조
- 패키지명-버전-릴리즈.아키텍처.rpm
-> rpm -qa : 시스템에 설치된 모든 패키지명
-> rpm -qi [패키지명] : 패키지의 상세한 정보
-> rpm -ql [패키지명] : 패키지의 파일 리스트
-> rpm -qf 파일명 : 지정한 파일이 포함된 패키지
rpm [-ivh | -Uvh | -Fvh] [패키지명] : 설치 및 업그레이드
-i : 설치
-U : 업그레이드(미설치된 파일은 설치)
-F : 업그레이드만
-v : 설치과정 출력
-h : 설치정도 출력(#)
rpm -e [패키지명] : 지정한 패키지를 삭제
--nodeps : 의존성 무시
--force : 같은 버전의 패키지나 파일이 있어도 무시
--oldpackage : 다운그레이드
* YUM(Yellowdog Updater Modified)
- RPM의 고질적인 문제인 의존성을 해소하기 위한 패키지 기술로 RPM과 동일한 형식의 설치 구조 지원.
- repository(저장소)를 이용하는 기술로 인터넷으로 지원되는 모든 프로그램을 설치, 관리할 수 있다.
조회
yum list : 설치가능한 패키지를 확인한다.
yum list [패키지명] : [패키지명]이 설치되어있는지 아닌지 확인한다.
yum repolist : 시스템에 등록된 repository list 출력
yum search [문자열] : 패키지명이나 description에 문자열이 포함된 패키지들을 출력
yum provides [경로/문자열] : 문자열이 포함된 파일이 소속된 패키지들을 출력
yum install -y [패키지명] : 패키지를 repository로부터 설치.
yum update -y [패키지명] : 패키지를 repository로부터 업데이트.
yum remove [패키지명] : 지정한 패키지를 삭제.
[실습]리눅스에서 ftp 클라이언트 설치.
yum install -y ftp
-> ftp 클라이언트 설치. 성공적으로 설치됐다면 Complete가 뜬다.
yum list ftp
-> 정상적으로 설치가 됐다면 Installed Packages라고 뜬다.(미설치시 available Packages)
* 개념 및 용어 정리
MBR
- 최상위 파티션의 첫 번째 섹터에 포함되어있는 부팅 정보를 호출 시도 하는 것.
- MBR이 존재하지 않는다면 부팅 에러가 발생
터미널
- 모니터라 키보드로 사용하기 위한 각각의 최종 단말기
'Security > 리눅스' 카테고리의 다른 글
Day 10-FTP (0) | 2019.11.29 |
---|---|
Day 9-CRON, RSYNC, 서비스와 데몬 (0) | 2019.11.28 |
Day 7-IP alias, 리눅스 파일시스템 (0) | 2019.11.26 |
Day 6-파일 구조와 퍼미션, 리눅스 네트워크 설정, 네트워크 명령어 (0) | 2019.11.25 |
Day 5-리눅스 사용자 관리 (0) | 2019.11.22 |