😒 저 저 저 개념없는 나/🍎 Linux

[리눅스 | Linux] 리눅스 패키지 | 디렉토리 구조 | 마운트

우주수첩 2024. 11. 25. 14:28
728x90

 

# 리눅스 패키지; Linux Package

  • 시스템에서 소프트웨어를 실행하는데 필요한 파일들(실행 파일, 설정 파일, 라이브러리 등)이 담겨있는 설치 파일 묶음
  • 종류
  • 1.소스패키지
    •  소스 코드가 들어있는 패키지
    • 컴파일 과정을 통해 바이너리 파일로 만들어야 실행 가능
    • 설치 시 컴파일 작업도 진행.
      -> 설치 시간 김, 작업 과정에서 오류 발생 가능
    • 원하는 대로 소프트웨어를 수정하여 사용 가능
  • 2.바이너리 패키지
    • 성공적으로 컴파일된 바이너리 파일이 들어있는 패키지
    • 이미 컴파일 되어있음
      -> 설치시간 짧고 오류발생 가능성 적음
    • 대부분의 리눅스 기본 설치 패키지
    • 문제점 : 내 컴퓨터 환경과 바이너리 패키지가 컴파일된 환경이 다를 경우 문제 발생

 

패키지 의존성

  • 소프트웨어 패키지가 실행되거나 설치되기 위해 다른 패키지나 라이브러리에 의존하는 관계
  • 특정 소프트웨어가 제대로 작동하려면 필요한 다른 소프트웨어나 구성 요소가 설치되어 있어야 한다

 

 

# 리눅스 패키징 방식

1.DEB

  •  Debian 계열에서 사용하는 패키징 방식
    • Debain, Ubuntu, Linux Mint 등 
  • *.deb

2.RPM

  •  Red Hat계열 에서 사용하는 패키징 방식
    • Red hat, Fedora, CentOS 등
  • *rpm

 

 

# 저수준 / 고수준 패키지 도구

 

저수준 패키지 도구 

  • 패키지 파일을 설치하거나 제거할 때 사용하는 도구
  • 패키지간 의존성은 알지 못함
  • Debian : dpkg
  • Red Hat : rpm

 

고수준 패키지 도구

  • 파일 설치 및 제거 + 패키지 의존성 해결
  • 패키지 의존성을 해결한다 : 해당 패키지가 가지고 있는 패키지 간의 의존성을 파악하고 필요 시 자동으로 설치한다.
  • Debian: apt-get, apt, aptitude
  • Red Hat - yum, dnf

 

 

# 리눅스 패키지 저장소

  • 사용하는 소프트웨어 패키지를 저장하고 배포하는 중앙 서버나 네트워크의 컬렉션
  • 패키지에 대한 정보(이름, 버전 번호, 패키지 설명 등)가 포함된 메타데이터를 가지고 있다.
  • Debian : etc/apt/source.list파일에서 확인 가능

 


 

 

# 리눅스 디렉토리 구조

 

  1. / (루트 디렉토리)
    • 리눅스 파일 시스템의 최상위 디렉토리
    • 모든 디렉토리와 파일은 / 아래에 존재
    • 관리자(root)만 해당 디렉토리에서 변경 작업을 수행 가능
  2. /bin (Binary)
    • 사용자와 시스템이 사용하는 기본 명령어 실행 파일 저장.
    • 예: ls, cp, mv, rm, cat 등.
  3. /sbin (System Binary)
    • 시스템 관리자가 사용하는 시스템 관리 명령어 저장.
    • 예: reboot, fdisk, ifconfig 등.
  4. /etc (Etcetera)
    • 시스템의 설정 파일 및 구성 파일 저장.
    • 예: 네트워크 설정 파일(/etc/network/interfaces), 사용자 정보 파일(/etc/passwd).
  5. /dev (Device)
    • 장치 파일 저장. 하드웨어와 소프트웨어 장치를 파일로 표현.
    • 예: /dev/sda(디스크 장치), /dev/tty(터미널 장치).
  6. /proc (Process)
    • 커널과 프로세스 정보를 가상 파일로 제공.
    • 예: /proc/cpuinfo(CPU 정보), /proc/meminfo(메모리 정보).
  7. /var (Variable)
    • 가변 데이터 저장. 로그, 캐시, 메일 큐 등이 포함.
    • 예: /var/log(로그 파일), /var/spool(메일 큐).
  8. /usr (User System Resources)
    • 사용자 응용 프로그램라이브러리 저장.
    • 예: /usr/bin(사용자 실행 파일), /usr/lib(라이브러리 파일).
  9. /lib (Library)
    • 시스템 명령어와 함께 사용하는 필수 공유 라이브러리 저장.
    • 예: /lib/libc.so.6(표준 C 라이브러리).
  10. /tmp (Temporary)
    • 임시 파일 저장. 재부팅 시 대부분의 파일이 삭제됨.
  11. /home
    • 사용자별 개인 데이터 디렉토리.
    • 예: /home/user1(user1의 홈 디렉토리).
  12. /root
    • 관리자(root) 사용자의 홈 디렉토리.
  13. /boot
    • 부팅 관련 파일 저장.
    • 예: 커널 이미지(vmlinuz), 부트 로더 설정 파일.
  14. /mnt (Mount)
    • 임시로 마운트된 파일 시스템을 위한 디렉토리.
  15. /media
    • CD-ROM, USB 같은 이동식 장치가 마운트되는 디렉토리.
  16. /opt (Optional)
    • 추가 소프트웨어 패키지가 설치되는 위치.
  17. /srv (Service)
    • 서비스 데이터 저장. 예: 웹 서버 데이터(/srv/www).
  18. /run
    • 시스템이 부팅된 후 생성되는 임시 데이터 저장.

 

 


 

# 마운트 ; Mount

리눅스는 드라이브가 순차적으로 매겨지기는 하는데 컴처럼 C, D드라이브 같은 건 없음 -> 마운트 필요

 

  • 어떤 디바이스를 사용하기 위해 파일 시스템을 디렉토리 계층 구조의 특정 디렉토리와 연결시키는 것
    == 장치명을 지정된 마운트포인트(디렉토리 위치)와 연결하는 작업
    == 특정 장치(device)를 하나의 디렉토리 처럼 사용하기 위해 수행하는 작업
    == 파일 시스템이 디렉토리 계층 구조와 연결되지 않으면 사용자가 해당 파일 시스템에 접근할 수 없음. 
  • 마운트 포인트 ; mount point
    • 디렉토리 계층 구조에서 파일 시스템이 연결되는 디렉토리
    • 파일 시스템이 마운트 되는 경로

위의 예시에서는 /usr, /home 디렉토리가 마운트 포인트

 

 

 


 

$ mount

 

 

 

[장치 명] / [마운트 포인트 ; 디렉토리 명] / 파일시스템 타입 (읽고 쓸 수 있는지에 대한 여부 == 마운트 사용 옵션)

 

 

1. 디스크 및 파티션 확인

$ fdisk -l

 

현재 하드디스크 확인

 

 

2. 마운트 확인

$ df -h

 

df(Disk Free) -> 시스템 전체에 마운트 된 디스크의 여유 공간 확인

파일시스템 ;Filesystem | 디스크 크기;Size | 사용된 용량;Used | 사용 가능 용량 ; Avail | 사용 비율 ; Use% | 마운트 경로 ;Mount on

 

 

3. 마운트 해제

$ umount /boot

 

명령어 실행 후 df -h 명령어로 확인 시  sda16이 사라짐을 알 수 있다

본인은 뭐 잘못 건들였을까봐 쫄려서 안함 ㅋ

 

 

4. 마운트 경로 변경

/etc/fstab을 vi 편집기로 열어 /dev/sda16파티션의 경로를 /boot에서 /attatchments 로 수정 후 저장

$ vi /stc/fstab

 

 

5. 마운트

$ mount -a

 

 

https://www.linux.co.kr/bbs/board.php?bo_table=lecture&wr_id=3865

https://thdbs523.tistory.com/63

https://jiurinie.tistory.com/129

 

 

 

 


 

728x90