development/Linux

    [우분투 리눅스] 사용자 계정 관리

    사용자 계정의 구성 요소 구성요소 의미 로그인 ID 사용자를 구별하는 이름으로 중복되어서는 안 된다. 사용자 ID, 사용자 이름, 로그인 이름이라고도 한다. 암호 암호를 저장하는 자리이나 지금은 /etc/shadow 파일에별도로 저장한다. UID 사용자별로 부여되는 번호이다. GID 리눅스에서 사용자는 그룹에 속하게 되는데, 사용자가 속한 기본 그룹의 번호이다. 홈 디렉터리 사용자의 홈 디렉터리로 사용자가 로그인할 때 기본적으로 로그인되는 디렉터리이다. 홈 디렉터리 아래에 서브 디렉터리나 파일을 생성할 수 있다. 로그인 셸 로그인할 때 기본적으로 동작할 셸을 지정한다. 사용자 계정 및 그룹 정보 파일 파일 이름 구성 /etc/passwd 로그인 ID, UID, GID, 홈 디렉터리, 로그인 셸 등 사용자..

    [우분투 리눅스] 소프트웨어 관리

    우분투 패키지 우분투 패키지에는 데비안 계열의 패키지와 스냅 패키지가 있다. 우분투 패키지는 4개의 카테고리(main, restricted, universe, multiverse)로 나누어 소프트웨어를 제공한다. 패키지 저장소는 패키지와 패키지에 대한 정보를 저장하고 있는 서버로 사용자는 저장소에 접속하여 최신 패키지를 내려받아 설치할 수 있다. APT 명령을 이용한 패키지 관리 APT(advenced package tool)는 패키지의 의존성 문제를 자동으로 해결하여 설치하는 패키지 관리 도구이다. APT 명령 기능 apt-cache stats APT 캐시의 통계 정보를 출력한다. apt-cache search 키워드 캐시에서 키워드를 검색한다. apt-cache showpkg 패키지명 패키지의 의존성..

    [우분투 리눅스] 리눅스의 부팅과 종료

    리눅스 시스템의 부팅 PC의 전원을 켜는 순간부터 리눅스가 완전히 동작하여 로그인 프롬프트가 출력될 때까지의 과정 1. 바이오스 단계 : PC에 장착된 기본 하드웨어를 검사하고 MBR(부팅 디스크의 첫 섹터에서 512B)과 부트 로더를 로딩한다. (하드웨어 검사 -> 부팅 장치 선택 -> MBR 로드 -> 부트 로더 로드) 2. 부트 로더 단계 : 대표적인 부트 로더는 GRUB이며, 리눅스 커널을 메모리로 로딩한다. 3. 커널 초기화 단계 : 시스템에 연결된 장치를 검사하고 커널 스레드를 생성한다. 커널 프로세스는 fork를 사용하지 않고 생성(일반적인 프로세스와 구분되도록 대괄호로 표시) 4. systemd 서비스 단계 : 다양한 서비스 데몬을 시작한다. 부팅 후 dmesg 명령이나 more /var/..

    [우분투 리눅스] 파일 시스템과 디스크 관리

    리눅스 파일 시스템의 종류 ext : 초기 미닉스 파일 시스템을 대처해여 개발된 최초의 리눅스 고유 디스크 기반 파일 시스템 ext2, ext3, ext4 : ext 파일 시스템의 문제점을 바완하여 개선된 파일 시스템 XFS : 실리콘그래픽스가 개발한 고성능 파일 시스템 msdos, ios9660, nfs, ufs, vfat, hpfs, ntfs, sysv, hfs swqp, tmpfs, proc, ramfs, rootfs /proc/filesystems 파일에서 확인할 수 있다. 리눅스 파일 시스템의 구조 파일은 inode로 관리된다. 디렉터리는 단순히 파일의 목록을 가지고 있는 파일이다. 특수 파일을 통해 장치에 접근할 수 있다. 블록 그룹 0 : 파일 시스템의 첫 번째 블록 그룹. 그룹 0 패딩, ..

    [우분투 리눅스] 프로세스 관리하기

    프로세스의 개념 프로세스는 현재 실행 중인 프로그램이다. 리눅스에는 시스템 프로세스와 사용자 프로세스가 있다. 프로세스는 부모-자식 관계를 가지고 있으며 PID라는 각기 고유한 번호가 있다. 프로세스의 종류 데몬 프로세스 : 리눅스 커널에 의해 실행되고 평소에는 대기 상태로 있다가 서비스 요청이 들어오면 서비스를 제공한다. 부모 프로세스 : 자식 프로세스를 만드는 프로세스이다. 자식 프로세스 : 부모 프로세스에 의해 만들어지는 프로세스이다. 고아 프로세스 : 결과를 돌려주기 전에 부모 프로세스가 먼저 종료된 자식 프로세스이다. 1번 프로세스가 새로운 부모 프로세스가 되어준다. 좀비 프로세스 : 사용 중인 모든 자원을 반납했지만 부모 프로세스로부터 작업 종료에 대한 승인을 받지 못한 상태의 프로세스이다. ..