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파일에서 확인 가능
# 리눅스 디렉토리 구조
- / (루트 디렉토리)
- 리눅스 파일 시스템의 최상위 디렉토리
- 모든 디렉토리와 파일은 / 아래에 존재
- 관리자(root)만 해당 디렉토리에서 변경 작업을 수행 가능
- /bin (Binary)
- 사용자와 시스템이 사용하는 기본 명령어 실행 파일 저장.
- 예: ls, cp, mv, rm, cat 등.
- /sbin (System Binary)
- 시스템 관리자가 사용하는 시스템 관리 명령어 저장.
- 예: reboot, fdisk, ifconfig 등.
- /etc (Etcetera)
- 시스템의 설정 파일 및 구성 파일 저장.
- 예: 네트워크 설정 파일(/etc/network/interfaces), 사용자 정보 파일(/etc/passwd).
- /dev (Device)
- 장치 파일 저장. 하드웨어와 소프트웨어 장치를 파일로 표현.
- 예: /dev/sda(디스크 장치), /dev/tty(터미널 장치).
- /proc (Process)
- 커널과 프로세스 정보를 가상 파일로 제공.
- 예: /proc/cpuinfo(CPU 정보), /proc/meminfo(메모리 정보).
- /var (Variable)
- 가변 데이터 저장. 로그, 캐시, 메일 큐 등이 포함.
- 예: /var/log(로그 파일), /var/spool(메일 큐).
- /usr (User System Resources)
- 사용자 응용 프로그램과 라이브러리 저장.
- 예: /usr/bin(사용자 실행 파일), /usr/lib(라이브러리 파일).
- /lib (Library)
- 시스템 명령어와 함께 사용하는 필수 공유 라이브러리 저장.
- 예: /lib/libc.so.6(표준 C 라이브러리).
- /tmp (Temporary)
- 임시 파일 저장. 재부팅 시 대부분의 파일이 삭제됨.
- /home
- 사용자별 개인 데이터 디렉토리.
- 예: /home/user1(user1의 홈 디렉토리).
- /root
- 관리자(root) 사용자의 홈 디렉토리.
- /boot
- 부팅 관련 파일 저장.
- 예: 커널 이미지(vmlinuz), 부트 로더 설정 파일.
- /mnt (Mount)
- 임시로 마운트된 파일 시스템을 위한 디렉토리.
- /media
- CD-ROM, USB 같은 이동식 장치가 마운트되는 디렉토리.
- /opt (Optional)
- 추가 소프트웨어 패키지가 설치되는 위치.
- /srv (Service)
- 서비스 데이터 저장. 예: 웹 서버 데이터(/srv/www).
- /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
'😒 저 저 저 개념없는 나 > 🍎 Linux' 카테고리의 다른 글
[리눅스 | Linux] 파이프라인, 리다이렉션 적용 예제 (0) | 2024.11.26 |
---|---|
[리눅스 | Linux] 리다이렉션 파이프라인 (0) | 2024.11.25 |
[Linux | c] fgets 함수 (0) | 2022.04.15 |
[Linux | C] memset 함수 (0) | 2022.04.15 |
[Linux] System call 작동 원리, 동작 예시 (0) | 2022.03.23 |