리눅스 패키지 다운로드 관리 명령어는 rpm, yum, wget 등의 3가지 방식이 있다.
wget
World wide web get
윈도우에서 웹사이트 검색을 통해 직접 압축파일을 다운로드하는 형태와 비슷
#> wget [주소]
wget으로 python 을 다운로드한다고 가정해보자 wget 은 인터넷상에 올라와 있는 주소를 통하여 해당 주소의 압축파일을 다운로드해 온다고 생각하면 된다.

python.org 파이썬 홈페이지에 들어가서 다운로드 버튼을 누르면 저렇게. xz라고 써져있는 리눅스에서 압축을 풀 수 있는 xz 형식의 압축파일이 있다 저 링크를 그대로 복사하여

터미널에 그대로
#> wget [주소] 주소를 붙여넣기 해주면 저 압축 파일을 다운로드해온다
다운을 다 받으면 명령어를 사용한 사용자의 홈 디렉터리에 압축파일이 다운된다

root 계정으로 다운받아 root계정의 홈 디렉터리에 압축파일이 다운된걸 확인 할 수있다

.xz 파일이니까 xz 압축 해제 명령어로 압축을 풀어주고

아카이브를 풀어주면
이렇게 하면 python 설치가 끝난 것이다..
RPM
Redhat Package Maneger
RPM이 나오기 전 초기의 리눅스에서는 모든 패키지를 설치할 때 직접 컴파일한 후에 수동으로 설치해야 했다. 물론 컴파일은 위한 소스 파일은 tar, gzip으로 묶여있었다. 그렇기 때문에 패키지 설치에 많은 시간이 필요하게 되었고, 이를 극복하고자 RedHat 사에서 패키지 관리 프로그램인 RPM을 개발하게 되었다. 마치, Windows 계열의 setup.exe 파일과 비슷하게 자동으로 설치해주는 프로그램이다. RPM 패키지는 컴파일되어 설치한 실행파일, 설정 파일, 라이브러리 등을 하나로 묶어놓은 파일을 말한다.
쉽게 말해 rpm 은 리눅스 자체에서 제공하는 서비스들을 인터넷 접속 없이 패키지로 다운로드할 수 있게 해주는 명령어이다. 이 rpm 명령어는 의존성 문제가 많다
3을 실행하려면 1,2 가 있어야 하는데 둘 중에 하나만 없어도 오류가 뜨고 3이 하나가 더 있어도 오류가 뜨며 아주 불편하다
rpm 설치
#>rpm -ivh [rpm_path]
-i 설치
-v 상세 정보
-h #(해시) 로딩 바
rpm 업데이트
#>rpm -Uvh [rpm_path]
-U 업데이트
( 설치되어 있지 않으면 설치 0 )
rpm 설치 유무 확인
#>rpm -qa | grep [name]
rpm 삭제
#>rpm -e [rpm_name]
rpm -qa 명령어로 다운받아져 있는 vim 패키지를 확인해보자

vim-minimal-7.4.629-6. el7. x86_64
1 2 3 4 5 6
1. 패키 지명 → - 을 기준으로 왼쪽 문자열까지
2. 주버전(major) → 대규모 version up을 몇 번 거쳤는지
3. 보조버전(minor) → 치명적인 오류나 버그를 얼마나 수정했는지 횟수 (upgrade)
4. 수정버전(patch) → 사소한 오류나 버그를 얼마나 수정했는지 횟수 (update)
5. 배포버전(release)
6. 아키텍처
→ i386, i586, i686 == 32bit 용 패키지 파일
→ x86_64 == 64bit 용 패키지 파일
YUM
Yellodog Updater Modified
rpm 기반의 시스템에서 업데이트 기능을 제공한다
★안드로이드 스마트폰에 play 스토어 역할을 한다★
YUM은 RPM 기반의 시스템을 위한 자동 업데이터 및 패키지 설치, 제거 프로그램이다. 듀크 대학교의 LINUX@DUKE 프로젝트의 일부분으로 개발되었다. RPM과 다르게 인터넷 사용이 필수이기 때문에 패키지 간 의존성 문제를 해결할 수 있다. 예를 들어 1 패키지를 설치하기 전에 필요한 2 패키지까지 모두 한 번에 설치가 가능하며, 의존도를 자동으로 찾고 알아서 설치해준다.
패키지 설치
#>yum install [option] [name] [name ...]
-y : 모든 물음에 yes로 대답한다.
옵션은 install 전에 쓰든 뒤에 쓰든 상관 x
패키지 업데이트
#>yum update -y [name]
패키지 삭제
#>yum erase [name]
그룹 패키지 설치
#>yum group list
#>yum group install -y [group_name]
ex( #>yum group install -y "Development Tools" )
ex( #>yum group install -y "GNOME Desktop" )
그냥 리눅스에서 필요한 패키지를 설치할 때 가장 많이 쓰는 명령어이다 스마트폰으로 비유하면 play 스토어와 같다고 생각하면 편하다
예로 ftp 서비스를 사용하기 위한 ftp 패키지를 다운로드해보자

이렇게 vsftp*로 path 정보를 적으면 저 이름과 관련된 모든 패키지를 스스로 다운로드한다 그리고 바로 사용이 가능하다 wget 과같이 압축파일을 다운로드하는 것이 아닌 프로그램 자체를 다운로드해온다

#>rpm -qa | grep "vsftp"
rpm 명령어로 방금 다운로드한 ftp 파일이 잘 다운되어 있는지 확인할 수 있다.
만약 yum 명령어로 필요한 패키지를 못 찾았다고 하면 그건 yum 저장소에 해당 패키지가 없어서 일 수도 있다. 이것도 안드로이드 스마트폰으로 비교하면 play 스토어에는 없는 어플이 갤럭시 스토어에는 있을 수도 있으니 갤럭시 스토어를 다운로드하면 된다는 소리다 yum 저장소에는 크게 3가지 저장소를 추가로 다운로드할 수 있다.
① EPEL
epel-release.noarch
#>yum install -y epel-release.noarch
② IUS
( https://centos7.iuscommunity.org/ius-release.rpm )
#>wget https://centos7.iuscommunity.org/ius-release.rpm
#>rpm -Uvh ius-release.rpm
③ REMI
(https://rpms.remirepo.net/enterprise/remi-release-7.rpm)
#>wget https://rpms.remirepo.net/enterprise/remi-release-7.rpm
#>rpm -Uvh remi-release-7.rpm
'Linux 2급' 카테고리의 다른 글
리눅스 RAID 종류와 구성 방법(Redundant Array of inexpensibe/independent Disk) (mdadm) (0) | 2023.11.03 |
---|---|
리눅스 프로세스, 백그라운드, 포어그라운드(ps, kill, bg, fg, jobs, top, sleep,&) (1) | 2023.11.03 |
리눅스 find 명령어 atime,ctime,mtime 차이점 (0) | 2023.11.02 |
리눅스 파일시스템 구조, i-node, 링크 파일(ln, ls -i) (0) | 2023.11.02 |
리눅스 서비스 제어, 데몬 프로세스, 런레벨(systemctl, service, runlevel) (0) | 2023.11.02 |