일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ios
- centOS7
- linux
- kubernetes
- NGINX
- 클라우드
- 운영체제
- C++
- devops
- os
- 도커 이미지
- 도커
- boj
- Python
- 도커 명령어
- 도커 컨테이너
- centOS
- AWS
- docker
- swift 클로저
- 데브옵스
- 네트워크
- 인프라
- Swift
- 쿠버네티스
- 부스트코스
- 프로세스
- k8s
- 컨테이너
- 리눅스
- Today
- Total
목록linux (16)
귀염둥이의 메모
/proc 가상 파일 시스템으로 물리적인 용량을 갖지 않음 프로세스에 대한 정보가 있는 디렉터리 시스템이 부팅되면서 시스템의 프로세스 정보가 저장됨 프로세스의 상태 정보, 하드웨어 정보, 시스템 정보 등을 알 수 있음 현재 실행 중인 PID와 같은 이름의 폴더들이 생성
실습 환경 : OpenStack, Ubuntu 18.04.5 LTS strace 명령어로 프로세스가 어떤 시스템 콜을 호출했는지 확인할 수 있다. hello.c (C 코드) #include int main(void) { puts("hello world"); return 0; } strace의 출력을 저장하고 확인 $ strace -o hello.log ./hello 각각의 줄은 1개의 시스템 콜 호출이다. 빨간 박스 부분이 write() 시스템 콜이 문자열을 화면에 출력한다. hello.py (python 코드) print('hello world') strace로 실행 후, 로그 출력 C 언어로 작성된 프로그램과 마찬가지로 write() 시스템 콜이 호출된다. C 언어보다 처리할 양이 많기 때문에 훨씬 ..
파일 시스템은 구조화된 일련의 정보를 구성하는 파일과 디렉터리의 집합이다. 리눅스 시스템은 다양한 종류의 파일 시스템을 사용할 수 있다. 쉽게 말해서 파일 및 디렉터리를 저장하는 방식이다. 1) 디스크 기반 파일 시스템 (Disk-Based File System) 디스크 기반 파일 시스템은 하드디스크, CD-ROM 등을 기반으로 하는 파일 시스템이다. MINIX : UNIX의 한 갈래인 Minix에서 사용되던 파일시스템이다. 플로피 디스크 등 작은 크기의 저장소 장치로 사용되는 파일 시스템이다. EXT : 리눅스 초기 개발 시 리눅스에서 사용하기 위해 만들어진 확장 파일 시스템 (Extened File System)이다. 리눅스가 유닉스와 호환되도록 만들어졌기 때문에, 리눅스 파일 시스템도 유닉스의 파일..
물리 메모리인 RAN의 용량 확장에는 많은 제약이 있다. 같은 용량의 디스크에 비해 가격이 매우 비싸고, 시스템 메인보드에 연결할 수 있는 슬롯에도 제한이 있어 무한정 확장이 불가능하다. 물리 메모리가 부족한 경우를 해결하기 위해 운영체제가 사용하는 방법은 가상 메모리(Virtual Memory)이다. 가상 메모리는 RAM + 스왑(SWAP)이다. 스왑은 디스크 장치에 생성되는 영역을 의미한다 윈도우에서는 페이징(Paging) 파일 관리를 하고, 리눅스에서는 스왑 파티션 영역이 있다 운영체제의 가상 메모리를 관리하는 가상메모리 관리자는 물리 메모리와 스왑 영역을 합산하여 가상 메모리로 사용한다 스왑 영역을 물리 메모리처럼 사용할 수 있다고 해서, CPU가 스왑 영역에 있는 데이터를 직접 접근하여 읽을 수..
디스크 연결 ➡️ 장치 인식 확인 ➡️ 파티션 설정 ➡️ 파일 시스템 생성 ➡️ 마운트 1. 디스크 연결 가상머신에 SATA 방식의 8G 디스크를 추가해준다 2. 장치인식 확인 sdb 이름으로 인식됨 리눅스 시스템의 하드웨어 장치는 /dev 디렉토리 내에 파일로 생성된다 brw : b 는 block 단위, 블록 장치는 반드시 운영체에 연결을 시켜서 사용 윈도우는 용량단위로 나누지만, 유닉스에서는 sector 형태로 파티션을 나눈다 (0 - 2047) 은 MBR 또는 GPT가 사용 3. 파티션 설정 fdisk /dev/sdb Command (m for help): p ✏️ p(rint) 파티션 보기 Disk /dev/sdb: 8589 MB, 8589934592 bytes, 16777216 sectors U..
df -h 읽기 접근 권한이 있는 파일 시스템에 대해 사용 가능한 디스크 공간의 양을 표시 fdisk -l 파티션 보는 명령어 start, end : 섹터 주소 lsblk 블록장치의 목록을 본다, fdisk -l과 유사함lsbl sdx1 : DAS vdx1 : 가상 디스크 srx1 : cd, dvd rom
LAMP L : Linux A : Apache M : (MySQL, MariaDB) P : (PHP, Python, Perl) CentOS 7에 LAMP기반 WordPress를 설치해보자 WordPress는 php7 버전을 권장합니다 CentOS 는 yum 레포지토리가 보수적(?)이여서 최신버전의 패키지가 설치되지 않을 수 있습니다 php7.3 버전을 설치하기 위해 remi 레포지토리를 설치해야 합니다 remi 저장소는 EPEL 저장소 의존성이 있기 때문에 EPEL 저장소를 먼저 설치합니다 레포지토리 설치하기 (EPEL, remi) EPEL(Extra Packages for Enterprise Linux)은 기업용 리눅스 환경을 위한 추가 패키지를 의미합니다 yum -y install epel-relea..
1. MariaDB 설치하기 yum -y install mariadb-server [root@server1 ~]# yum -y install mariadb-server ... ... Installed: mariadb-server.x86_64 1:5.5.68-1.el7 Dependency Installed: mariadb.x86_64 1:5.5.68-1.el7 mariadb-libs.x86_64 1:5.5.68-1.el7 perl-DBD-MySQL.x86_64 0:4.023-6.el7 Complete! 2. MariaDB 서비스 실행하기 systemctl start mariadb systemctl enable mariadb [root@server1 ~]# systemctl start mariadb [roo..
1. 아파치 웹 서버설치 yum -y install httpd [root@server1 ~]# yum -y install httpd ... ... Installed: httpd.x86_64 0:2.4.6-97.el7.centos Dependency Installed: apr.x86_64 0:1.4.8-7.el7 apr-util.x86_64 0:1.5.2-6.el7 httpd-tools.x86_64 0:2.4.6-97.el7.centos mailcap.noarch 0:2.1.41-2.el7 Complete! 2. httpd 서비스 시작하기 systemctl enable httpd systemctl start httpd [root@server1 ~]# systemctl enable httpd Created ..
리눅스는 일반적으로 DAC(Discretionary Access Control) 접근 제어 모델을 사용합니다. DAC 는 사용자의 권한을 기반으로 파일과 자원에 대한 접근을 제어합니다. DAC는 편리하지만 특정 소프트웨어 취약점이 존재했을 때 취약점을 통해서 시스템 권한과 정보가 쉽게 탈취될 수 있다는 단점이 있습니다. SELinux(Security Enhanced Linux)는 리눅스의 보안을 강화해주는 커널 모듈이고, 이 것을 사용하면 DAC 이 아닌 MAC(Mandatoryy Access Control)을 사용합니다. MAC은 프로세스, 사용자, 포트, 파일 등에 정책을 부여해서 접근을 제어 합니다. 접근 제어 모델 DAC(Discretionary Access Control) : 임의적 접근 제어 ..