소프트웨어 관리
소프트웨어 패키지 관리
소프트웨어 소스코드 컴파일 : 직접 소스코드에 대한 컴파일 명령을 수행
- 소프트웨어 소스코드 컴파일
- 컴파일(Compile) : 프로그래머가 작성하는 소스코드를 기계어로 변환
- 인터프리터(Interpreter)방식 : 소스코드를 직접 실행
컴파일 과정을 간편화 : 'Makefile'
# ./configure //설치 환경 설정 # make //컴파일 # make install //컴파일된 파일 적정위치로 복사
소프트웨어 패키지
- 동작환경에 맞게 사전에 컴파일 된 파일을 모아놓은 덩어리
- 패키지 설치 : 파일을 적정한 위치로 복사, 기타 추가작업 수행
- 리눅스의 각 배포판에 따라 패키지 설치 방식에 차이가 있음
- EL : rpm(Redhat package Manager) - http://rpmfind.net/ : rpm 패키지 검색/다운로드
- Ubuntu : deb
소프트웨어를 저장소(Repository) 를 통해 설치
- 저장소(Repository) : 여러가지 필요한 패키지 파일을 보유
- 패키지 설치시 의존성 문제를 스스로 해결할 수 있음
- 배포판에 따라 도구 및 패키지의 차이가 있음
- EL : yum(Yellowdog Update Modified), dnf
- Ubuntu : apt
rpm(Redhat Package Manager)
- <소프트웨어 이름>-<버전>-<릴리즈 번호>-<운영채제>-<아키텍처>.rpm 파일 설치시 사용
- 옵션
- -i : 설치
- -v : Verbose(상세한 정보)
- -h : Hash. 설치 진행상황을 # 기호로 표시
- [######## ] 30%
- -U : 업데이트
- -ivh : 일반적인 설치옵션
- rpm -ivh wireshark.
- -Uvh : 일반적인 업데이트 옵션
- 쿼리옵션(Query) : 질의
- -q : 쿼리 옵션에 기본 포함
- -qa : 현재 설치된 패키지 목록 확인
- -ql : 패키지 설치시 생성된 파일 리스트
- -qf : 특정 파일이 포함된 패키지 확인
- -qs : 패키지 내 파일 상태(변경 여부 등)
- -qd : 패키지 내 문서(매뉴얼) 파일 조회
- -qc : 패키지 내 설정 파일(Configurration)
- -qi : 특정 패키지의 상세정보
- -gR : 의존성(Dependency) 정보 확인
yum(Yellowdog Update Modified)
rpm의 문제인 종속성 문제를 쉽게 해결
필요한 패키지를 직접 다운로드 하지 않고도 설치 가능
관련 파일
- /etc/yum.conf : yum 기능설정
- /etc/yum.repos.d : 패키지 저장소(repository) 설정
- /var/log/yum.log : 패키지 설치 로그파일
yum 명령어
명령어 형식 : #yum <서브커맨드> [argument]
패키지 정보 업데이트
- #yum repolist
- #yum makecache fast
패키지 탐색 : #yum search
패키지 정보 확인 : #yum info [패키지 이름]
패키지 설치 : #yum install [패키지 이름1] [패키지 이름2]...
패키지 설치 시 필요한 패키지 의존성 정보 확인 후 필요한 패키지를 레포지토리에서 다운로드 가능할 경우 함께 설치
-y : 질의 없이 설치
-y 옵션 사용하지 않을 경우 [y/d/N]
- -d : 설치하지 않고 일단 다운로드
-y 옵션 사용하지 않을 경우 GPG Key 확인 요청
패키지 목록 확인 : #yum list [패키지 이름]
- 패키지 이름을 입력하지 않을 경우 : 모든 설치 가능한 패키지를 포함한 목록이 출력
- 출력내용
- 패키지이름 패키지버전/릴리즈 Repository
- Repository 이름 앞 @ 기호 : 설치된 패키지
- #yum list installed : 설치된 패키지의 목록만 출력
패키지 삭제 : #yum remove [패키지 이름]
설치시 의존성을 가지는 패키지를 함께 설치 했더라도 삭제시에는 지정한 패키지만 삭제됨
-y : 질의없이 바로 설치삭제
패키지 업데이트
- #yum update : 모든 패키지에 대하여 업데이트 수행
- #yum update kernel : 시스템 커널 업데이트
- 일반 패키지 업데이트 시 이전 패키지 파일 삭제후 다시 설치
- 커널 업데이트 시 이전 커널 정보 유지 후 새로운 커널 추가
패키지 그룹
- 용도가 비슷한 패키지들을 묶어놓은 단위
- 기존 yum명령어에 groups 서브커맨드 추가
- #yum groups list
- #yum groups info [그룹이름]
- #yum groups install [그룹이름]
yum Repository 관리
/etc/yum.repos.d : 레포지토리 실행정보 저장 디렉토리
설치시 기본적으로 레포지토리 미러 정보가 설정으로 저장되어 있음
외부 네트워크 차단 등의 이유로 레포지토리를 사용할 수 없을 경우 접근가능한 레포지토리에 대한 설정을 직접 추가하여 사용
/etc/yum.ropos.d/[파일이름].repo
네트워크 위치의 레포지토리 사용
테스트 레포지토리 주소 : http://ftp.daumkakao.com/centos/$releasever/os/$basearch/
##repo 파일 작성 예시 vi /etc/yum/repos.d/test.repo [test] name='test repo' baseurl=http://ftp.daumkakao.com/centos/$releasever/os/$basearch/ gpgcheck=0 enabled=1
Local Repository (DVD Media 등)
file:///run/media/user/CentOS\ 7\ x86_64/
vi /etc/yum/repos.DVD.repo [DVD] name='DVD repo' baseurl=file:///run/media/user/CentOS\ 7\ x86_64/ gpgcheck=0 enabled=1
yum-config-manager
- --add-repo
- #yum-config-manager --add-repo="http://mirror.kakao.com/centos/7.9.2009/os/x86_64/"
- yum-utils 패키지가 설치되어있어야 사용가능
- --add-repo
EPEL(Extra Package for Enterprise Linux)
- epel-release 패키지 설치
- #yum install epel-release
- /etc/yum.repos.d/epel* : EPEL 레포지토리 파일
'클라우드 아키텍트 양성과정' 카테고리의 다른 글
리눅스(CentOS) 로그관리(rsyslog,journal) (0) | 2021.04.26 |
---|---|
리눅스(CentOS) 작업 스케줄러 (0) | 2021.04.26 |
리눅스(CentOS) systemd (0) | 2021.04.26 |
리눅스(CentOS) 저장소 관리(LVM, RAID) (0) | 2021.04.26 |
리눅스(CentOS) 저장소 관리(파티션, 파일시스템, 스왑) (1) | 2021.04.26 |
댓글