본문 바로가기
Linux 리눅스/CentOS 레드헷 Redhat Fedora

RPM Rebuild 리빌드, oracle-database-server-12cR2-preinstall 파일 구하기, ORACLE Linux 6

by 프즈 2020. 6. 23.
반응형

안녕하세요. 프즈입니다.

 

오라클 설치하면서 리눅스에서 설치하는 경우 요즘에는 편리하게 oracle-database-server-12cR2-preinstall 이런 rpm 을 yum 으로 설치하면 편리하게 오라클 설치에 필요한 프로그램들을 설치해주는데요. kernel-uek 필요하다면서 설치가 안됩니다.

 

운영서버에 설치하는 경우 유지보수 업체하고 해결해야 할 문제이지만 노트북이나 테스트 장비에 설치하려는 경우에는 필요 없는 경우가 있고 저는 컨테이너에 설치하려고 하는데 저런 메시지가 나와서 별도로 kernel-uek 를 요구하지 않는 파일을 만들어봤어요.

 

Requires: kernel-uek 이런 오류에 대한 대처 방법입니다

yum install oracle-database-server-12cR2-preinstall.x86_64 -y
Loaded plugins: lxc-patch
Setting up Install Process
...
---> Package libSM.x86_64 0:1.2.1-2.el6 will be installed
---> Package oracle-database-server-12cR2-preinstall.x86_64 0:1.0-3.el6 will be installed
--> Processing Dependency: kernel-uek for package: oracle-database-server-12cR2-preinstall-1.0-3.el6.x86_64
---> Package procmail.x86_64 0:3.22-25.1.el6_5.1 will be installed
--> Finished Dependency Resolution
Error: Package: oracle-database-server-12cR2-preinstall-1.0-3.el6.x86_64 (ol6_u10_base)
           Requires: kernel-uek
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

 

그 과정입니다. 일단 lxc 를 사용합니다. ORACLE Linux 6에서 작업했습니다.

굳이 lxc가 아니어도 오라클 리눅스가 설치되는 장비가 있다면 따라 할 수 있지만 기준은 lxc에서 했던 내용입니다.

2020/05/20 - [Linux 리눅스/우분투] - 우분투에서 lxc 활용하여 테스트 서버 만들기

 

오라클 리눅스6을 준비합니다.

sudo lxc-create -n ol6r12 -t oracle -- --release=6.10

암호를 설정합니다.

sudo chroot /var/lib/lxc/ol6r12/rootfs/ passwd root
sudo chroot /var/lib/lxc/ol6r12/rootfs/ passwd oracle

컨테이너 상태를 확인하고 시작시켜요. 조금 있다가 다시 상태 확인 명령어를 하면 IP를 확인할 수 있습니다.

sudo lxc-ls --fancy
sudo lxc-start -n ol6r12

root로 접속하여 wget과 tar를 설치합니다.

yum install wget tar -y

rpm 빌드에 필요하 것을 설치합니다.

yum install rpm-build rpmdevtools -y

빌드 작업에 필요한 계정을 생성하고 접속합니다.

useradd mockbuild -p mockbuild -m -s /bin/bash
su - mockbuild

wget 명령어로 소스를 다운 로드합니다.

다운로드 주소는 바뀔 수 있으니 https://yum.oracle.com/ 접속하여 확인할 수 있습니다.

wget https://yum.oracle.com/repo/OracleLinux/OL6/latest/source/getPackageSource/oracle-database-server-12cR2-preinstall-1.0-5.el6.src.rpm

다운로드한 파일을 확인합니다. 다른 불필요한 파일이나 디렉토리가 없도록 하세요.

ls -ltr

작업에 필요한 구조를 만들어요 

rpmdev-setuptree
ls
ls -l rpmbuild

다운 받은 소스를 설치합니다.

rpm -ivh oracle-database-server-12cR2-preinstall-1.0-5.el6.src.rpm

spec 파일을 열어서 uek로 검색하여 Requires:kernel-uek라고 되어 있는 부분을 찾아 제거하고 저장하세요.

vi rpmbuild/SPECS/oracle-database-server-12cR2-preinstall.spec

이제 rpm 파일을 빌드하세요.

rpmbuild -ba rpmbuild/SPECS/oracle-database-server-12cR2-preinstall.spec

oracle-database-server-12cR2-preinstall-1.0-5.el6.x86_64.rpm 파일이 생성된 것을 확인할 수 있습니다.

이제 이 rpm 파일을 추출하여 백업해놨다가 오라클 설치할 때 활용할 수 있습니다.  

ls -lR rpmbuild/RPMS

이 파일로 설치하는 경우에는 yum localinstall 명령어를 활용하세요

yum localinstall ~mockbuild/rpmbuild/RPMS/x86_64/oracle-database-server-12cR2-preinstall-1.0-5.el6.x86_64.rpm
반응형

댓글