CentOS7에서 binutils 버전 업그레이드 방법

binutils 공식 웹사이트: https://www.gnu.org/software/binutils/

소스 코드 다운로드: https://ftp.gnu.org/gnu/binutils/

1. 실험 환경

  • 4코어, 8GB 메모리의 CentOS 7.9.2009 시스템
  • 알리바바 클라우드의 yum 및 EPEL 저장소 사용
  • 방화벽 비활성화, SELinux 비활성화 완료

2. 패키지 관리자로 업그레이드 (yum 기반)

CentOS 7은 2024년 6월 30일 이후 공식 지원을 종료하여 원본 저장소 접근이 불가능합니다. 이를 해결하기 위해 국내 미러를 사용해야 합니다.

여기서는 알리바바 클라우드의 SCL 저장소를 활용합니다.

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mv CentOS-SCLo-scl.repo CentOS-SCLo-scl.repo.bak 2>/dev/null
[root@localhost yum.repos.d]# mv CentOS-SCLo-scl-rh.repo CentOS-SCLo-scl-rh.repo.bak 2>/dev/null

[root@localhost yum.repos.d]# vim CentOS-SCLo-scl.repo
[centos-sclo-sclo]
name=CentOS-7 - SCLo sclo
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/sclo/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

[root@localhost yum.repos.d]# vim CentOS-SCLo-scl-rh.repo
[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

[root@localhost yum.repos.d]# curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-SCLo
[root@localhost yum.repos.d]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum makecache

알리바바 미러에서 지원하는 binutils 버전 확인: https://mirrors.aliyun.com/centos/7/sclo/x86_64/ 해당 경로에서는 devtoolset-7부터 devtoolset-11까지 제공됩니다.

[root@localhost yum.repos.d]# yum -y install devtoolset-11-binutils

설치 후에는 소프트웨어 컬렉션 활성화가 필요합니다. 기본적으로는 현재 세션에만 적용되며 재부팅 시 사라집니다.

[root@localhost yum.repos.d]# ld --version
GNU ld version 2.27-44.base.el7
...

[root@localhost yum.repos.d]# scl enable devtoolset-11 bash
[root@localhost yum.repos.d]# ld --version
GNU ld version 2.36.1-1.el7.2
...

지속적인 활성화를 위해 환경 변수에 포함시킵니다.

[root@localhost yum.repos.d]# echo "source /opt/rh/devtoolset-11/enable" >> /etc/profile

3. 소스 컴파일로 직접 업그레이드

필요한 개발 도구 설치:

[root@localhost ~]# yum -y install gcc gcc-c++

binutils 소스 컴파일 및 설치:

[root@localhost ~]# tar xvf binutils-2.45.tar.xz
[root@localhost ~]# cd binutils-2.45
[root@localhost binutils-2.45]# mkdir tmp && cd tmp
[root@localhost tmp]# ../configure --prefix=/usr/local/binutils-2.45
[root@localhost tmp]# make -j$(nproc)
[root@localhost tmp]# make install

환경 변수 설정 및 반영:

[root@localhost tmp]# echo "export PATH=/usr/local/binutils-2.45/bin${PATH:+:${PATH}}" >> /etc/profile
[root@localhost tmp]# source /etc/profile

태그: binutils CentOS7 devtoolset GNU ld 소스 컴파일

5월 21일 05:38에 게시됨