- 빌드 테스트를 위해서 openssl111 를 다운 받아 와서 빌드를 시작 합니다.
검색 엔진에서 openssl11-1.1.1g-3.el7.src.rpm 를 검색 합니다. src.rpm은 소스RPM이라는 뜻이며, 파일명에서 보시는 내용과 같이 el7 RedHat Enterprise Linux 7 기반 이라는 사실을 알수 있습니다.
- rpmbuild man 페이지 내용과 같이 rebuild 명령은 주어진 소스 패키지를 설치하고 준비, 컴파일 및 설치를 수행하는 옵셥 입니다.
rpmbuild --rebuild|--recompile 소스패키지명...
따라서 아래와 같이 rebuild 옵셥을 통해 수행합니다.
# rpmbuild --rebuild openssl11-1.1.1g-3.el7.src.rpm
- 아래와 같이 의존성 이슈가 발생 하게 됩니다.
총 4개가 발생 하였으며, lksctp-tools-devel, perl(Test::More), perl(Module::Load::Conditional), devtoolset-8-toolchain 입니다.
warning: group mock does not exist - using root warning: user mockbuild does not exist - using root warning: group mock does not exist - using root warning: user mockbuild does not exist - using root warning: group mock does not exist - using root warning: user mockbuild does not exist - using root warning: group mock does not exist - using root error: Failed build dependencies: lksctp-tools-devel is needed by openssl11-1:1.1.1g-3.el7.x86_64 perl(Test::More) is needed by openssl11-1:1.1.1g-3.el7.x86_64 perl(Module::Load::Conditional) is needed by openssl11-1:1.1.1g-3.el7.x86_64 devtoolset-8-toolchain is needed by openssl11-1:1.1.1g-3.el7.x86_64
- lksctp-tools-devel 의존성은 의존성 이슈에 나온것과 같이 해당 패키지를 설치 합니다.
# yum install lksctp-tools-devel -y
- perl에 관련된 perl-Test-Simple 내용이며, rpm으로 묶인 패키지를 설치 합니다.
# yum install perl-Test-Simple
- perl에 관련된 perl-Module-Load-Conditional 내용이며, rpm으로 묶인 패키지를 설치 합니다.
# yum install perl-Module-Load-Conditional
- Red-Hat-Developer-Toolset-8.0 를 설치 해야 하지만, 기본적으로 centos 7에서 지원하는 리파지토리에는 없는 것으로 확인 합니다.
# yum install devtoolset-8-toolchain Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * epel: ftp.iij.ad.jp * remi-php74: ftp.riken.jp * remi-safe: ftp.riken.jp No package devtoolset-8-toolchain available. Error: Nothing to do
- centos-release-scl 리파지토리를 설치 합니다.
# yum install centos-release-scl -y
- yum-config-manager명령어를 통해 rhel-server-rhscl-7-rpms 리파지토리를 활성화 시킵니다.
# yum-config-manager --enable rhel-server-rhscl-7-rpms
- 9번 이후에 다시 Red-Hat-Developer-Toolset-8.0 를 설치 합니다.
# yum install devtoolset-8 -y Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * centos-sclo-rh: mirror.navercorp.com * centos-sclo-sclo: mirror.navercorp.com * epel: ftp.iij.ad.jp * remi-php74: ftp.riken.jp * remi-safe: ftp.riken.jp centos-sclo-rh | 3.0 kB 00:00:00 centos-sclo-sclo | 3.0 kB 00:00:00 (1/2): centos-sclo-sclo/x86_64/primary_db | 300 kB 00:00:00 (2/2): centos-sclo-rh/x86_64/primary_db | 3.2 MB 00:00:00 Resolving Dependencies ... Installed: devtoolset-8.x86_64 0:8.1-1.el7 ... Complete!
- rebuild 옵셥을 통해 수행합니다.
# rpmbuild --rebuild openssl11-1.1.1g-3.el7.src.rpm ... Wrote: /root/rpmbuild/RPMS/x86_64/openssl11-1.1.1g-3.el7.x86_64.rpm Wrote: /root/rpmbuild/RPMS/x86_64/openssl11-1.1.1g-3.el7.x86_64.rpm Wrote: /root/rpmbuild/RPMS/x86_64/openssl11-devel-1.1.1g-3.el7.x86_64.rpm Wrote: /root/rpmbuild/RPMS/x86_64/openssl11-static-1.1.1g-3.el7.x86_64.rpm Wrote: /root/rpmbuild/RPMS/x86_64/openssl11-debuginfo-1.1.1g-3.el7.x86_64.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.ClYuEz + umask 022 + cd /root/rpmbuild/BUILD + cd openssl-1.1.1g + /usr/bin/rm -rf /root/rpmbuild/BUILDROOT/openssl11-1.1.1g-3.el7.x86_64 + exit 0 Executing(--clean): /bin/sh -e /var/tmp/rpm-tmp.C4clCr + umask 022 + cd /root/rpmbuild/BUILD + rm -rf openssl-1.1.1g + exit 0
- 정상적으로 빌드 된것을 확인 할수 있습니다.
/root/rpmbuild/RPMS/x86_64/openssl11-1.1.1g-3.el7.x86_64.rpm /root/rpmbuild/RPMS/x86_64/openssl11-1.1.1g-3.el7.x86_64.rpm /root/rpmbuild/RPMS/x86_64/openssl11-devel-1.1.1g-3.el7.x86_64.rpm /root/rpmbuild/RPMS/x86_64/openssl11-static-1.1.1g-3.el7.x86_64.rpm /root/rpmbuild/RPMS/x86_64/openssl11-debuginfo-1.1.1g-3.el7.x86_64.rpm
CentOS에서 openssl 버젼 1.1.1 를 rpm 형태로 build 해서 사용하기
작성일
2021-08-27
,
업데이트된 날짜
2021-08-27
.
카테고리:
linux