LINUX

포스트: 487|아이템:LINUX(477)
Tags

Posts

487 posts

blkid - 리눅스에서 연결(마운트)된 저장장치(파티션) 정보 표시

반달가면|2019년 9월 16일

blkid 명령으로 리눅스에서 현재 연결(마운트)된 저장장치(파티션, partition)에 관한 정보를 확인할 수 있다. 장치이름, 파일시스템 종류(type), 고유식별자(UUID) 등이 출력된다. 배포판에 따라서 해당 정보를 열람하려면 루트(root) 권한을 요구할 수도 있다. 일반 사용자 권한으로 실행했을 때 아무런 출력도 없다면 루트 권한으로 실행해 보자. # blkid 실행 sudo blkid /dev/sda1: LABEL="rootMX18.1" UUID="ef8a7380-6cc0-4bbd-aef2-b2617588e528" TYPE="ext4" PARTUUID="abb0a64f-01" 위의 예시를 보면, 장치는 /dev/sda1, 레이블(lable)은 "rootMX18.1", 고유

리눅스에서 "too many open files" 오류 문제

반달가면|2019년 9월 10일

리눅스에서 한꺼번에 많은 파일을 인자(argument)로 지정했을 때 "too many open files" 메시지가 나올 수 있는데, 이 경우에 최대로 열 수 있는 파일의 개수를 늘려주어야 한다. 우선 현재 설정된 기본값을 확인해 보자. ulimit 명령에서 열린 파일(open files)의 최대 제한값은 -n 옵션으로 확인 가능하다. 제한값의 종류는 hard limit와 soft limit 두가지가 있는데 hard limit는 말 그대로 넘을 수 없는 제한값이고, soft limit는 현재 설정되어 있는 값으로 반드시 hard limit 이하여야 한다. # 열린 파일 개수 최대치 확인(-n 옵션, hard limit) ulimit -Hn # 열린 파일 개수 최대치 확인(-n 옵션, so

[리눅스커널] 가상파일시스템/파일객체: 파일 객체 함수 오퍼레이션

Guillermo Austin Kim|2019년 9월 3일

가상 파일시스템에서 파일 시스템 별로 파일을 열고 쓰고 읽는 함수 포인터 테이블을 지원합니다. 이 정보를 파일 함수 오퍼레이션이라고 하며 다음 해더 파일에 정의돼 있습니다.[https://github.com/raspberrypi/linux/blob/rpi-4.19.y/include/linux/fs.h]struct file_operations { struct module *owner; loff_t (*llseek) (struct file *, loff_t, int); ssize_t (*read) (struct file *, char __user *, size_t, loff_t *); ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *)

[리눅스커널] 가상파일시스템/소개: 함수 오퍼레이션이란 무엇인가

Guillermo Austin Kim|2019년 9월 3일

이번 절에서 소개했듯이, 각각 파일 시스템에 액세스를 하기 위해서 먼저 가상 파일시스템에 접근합니다. 이 때 가상 파일 시스템에서 지원하는 4가지 객체에서 지정한 함수 포인터를 통해 파일 시스템 세부 함수에 접근합니다.  4개 객체별로 지정한 함수 포인터 연산을 함수 오퍼레이션이라고 말합니다. 즉, 이전 소절에서 소개한 슈퍼블록, 아이노드, 파일, 덴트리 객체들은 모두 함수 오퍼레이션(연산)을 지원합니다. 슈퍼 블록 함수 오퍼레이션 코드와 동작 파악해보기 먼저 슈퍼 블록 함수 오퍼레이션 코드 분석으로 함수 오퍼레이션 동작을 소개합니다. 다음 코드를 같이 분석해봅시다.[https://github.com/raspberrypi/linux/blob/rpi-4.19.y/fs/inode.c]1