일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- wsl
- Docker
- 전역설치
- npm
- 리액트
- 리눅스
- 쉘스크립트
- 깃허브
- 벨로포터
- Sequelize
- 머클트리
- 변수
- immer
- 우분투
- 라우터
- 시퀄라이즈
- wget
- 블록체인
- 설치
- 노드
- node.js 교과서 따라하기
- 환경변수
- 일반유저
- 솔리디티
- 리액트를 다루는 기술
- 자바스크립트
- 이더리움
- centos
- MariaDB
- 머클루트
- Today
- Total
코드코코
[리눅스] 리눅스 패키지 본문
리눅스 패키지(Linux Package)
리눅스 시스템에서 소프트웨어를 실행하는데 필요한 파일들(실행 파일, 설정 파일, 라이브러리 등)이 담겨 있는 설치 파일 묶음
- 패키지는 저장소(repository)에 저장되어 있으며, HTTP 혹은 FTP 서버를 통해 다운로드 할 수 있다.
패키지
리눅스 배포판에 따라서 서로 다른 패키지 형식을 지원
- Debian 계열 (Debian, Ubuntu 등) : .deb 파일
- RedHat 계열 (RedHat, Fedora, CentOS) : .rpm 파일
- openSUSE 계열 : openSUSE를 위해 특별히 빌드된 .rpm 파일
Ubuntu에서는 /var/cache/apt/archives 디렉터리에 다양한 .deb 파일들이 보관되어 있다. 이러한 패키지를 관리하기 위해선 패키지 관리 도구를 사용하는데, 일반적으로 다음 두 유형의 패키지 관리 도구를 사용한다.
- 저수준 툴(low-level tools) : 실제 패키지의 설치, 업데이트, 삭제 등을 수행
- 고수준 툴(high-level toos) : 의존성의 해결, 패키지 검색 등의 기능을 제공
소스 패키지(Source Package) vs 바이너리 패키지(Binary Package)
소스 패키지(Source Package)
- 소스 코드가 들어 있는 패키지
- 컴파일 과정을 통해 바이너리 파일로 만들어야 실행할 수 있다.
- 소스 패키지는 설치할 때 컴파일 작업도 진행되므로, 설치 시간이 길고 컴파일 작업 과정에서 오류가 발생할 가능성이 있다.
- 내가 원하는 대로 소프트웨어를 수정해서 사용할 수 있다.
바이너리 패키지(Binary Package)
- 성공적으로 컴파일된 바이너리 파일이 들어있는 패키지
- 응용 프로그램, 라이브러리 파일, 버전 정보나 의존성 등의 메타 정보 파일 등이 포함
- 이미 컴파일이 되어 있어서, 소스 패키지에 비해 설치 시간도 짧고 오류가 발생할 가능성도 적다.
- 리눅스의 기본 설치 패키지들은 대부분 바이너리 패키지이다.
- 내 컴퓨터 환경과 바이너리 패키지가 컴파일된 환경이 달라서 문제가 발생할 수 있다.
- 바이너리 패키지를 제대로 실행하기 위해서는 특정 라이브러리나 다른 패키지가 필요할 수 있는데 이러한 패키지 간의 의존성을 패키지 의존성(Package Dependencies)이라 부른다.
패키지 관리
- 새로운 소프트웨어를 설치, 업데이트, 삭제하는 일
각 패키지 관리 도구
- dpkg
- Debian 기반의 리눅스에서 사용되는 저수준 패키지 관리자(low-level package manager)
- .deb 패키지의 설치와 삭제를 담당
- 하지만 자동으로 패키지를 다운로드하거나 의존성을 해결해주지는 않음
- apt-get / apt-cache / apt
- Debian 기반의 리눅스에서 사용되는 고수준 패키지 관리자(high-level package manager)
- 패키지를 검색, 다운로드, 설치, 의존성 해결
- 최근의 Debian 기반의 리눅스 배포판에는 apt-get과 apt-cache 의 기능을 통합한 apt 명령이 설치되어 있다
- aptitude
- Debian 기반의 리눅스의 또 다른 high-level package manager
- apt-get 보다 좀 더 개선된 기능을 제공
dpkg는 다음과 같이 사용할 수 있다
$ dpkg --help
$ dpkg -k flashpluginnonfree_2.8.2+squeeze1_i386.deb // 패키지의 설치
$ dpkg -l // 설치된 패키지를 나열
$ dpkg -l apache2 // 설치되었는지 확인
$ dpkg -r flashpluginnonfree // 설치된 패키지를 삭제
apt-get / apt-cache의 경우 패키지 repository는 /etc/apt/sources.list 에 명시되어 있다
'기록 > 리눅스' 카테고리의 다른 글
[리눅스] wget 실습 (0) | 2021.12.15 |
---|---|
[리눅스] 파일 다운로드 (0) | 2021.12.15 |
[리눅스] ubuntu 에서 MariaDB 재시작하기 (0) | 2021.12.14 |
[리눅스] ubuntu에 MariaDB 설치하기 // ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) (0) | 2021.12.13 |
[리눅스] ubuntu에 nodejs 설치하기 (0) | 2021.12.13 |