"사전 패치된" RHEL 이미지를 생성하는 쉬운 방법이 있습니까?

"사전 패치된" RHEL 이미지를 생성하는 쉬운 방법이 있습니까?

오늘날 거의 모든 데스크톱 운영 체제는 인터넷에서 지속적으로 새로운 보안 업데이트를 받도록 설계되었습니다. 이는 훌륭하고 꼭 필요한 기능이며, 웹 회사나 연구실 환경에서 업데이트를 관리하는 도구는 상당히 성숙되어 있습니다.

하지만 외부 세계와의 연결이 제한되거나 존재하지 않는 환경에 있었지만 여전히 시스템 보안이 최우선 과제였습니다.

소프트웨어 업데이트를 위한 당사의 표준 절차는 사용 가능한 최신 RHEL 이미지를 기반으로 한 킥스타트를 사용하여 소프트웨어의 새 버전마다 모든 워크스테이션을 이미지로 다시 설치하는 것입니다. 그러나 RHEL 릴리스 간의 간격은 매일 새로운 보안 업데이트가 출시되므로 1년에 가까워질 수 있습니다. 우리는 환경과 요구 사항을 고려하여 출시일에 "현재 완전히 패치된 RHEL"에 최대한 가까운 이미지를 릴리스하는 경향이 있습니다.

(업데이트 주기 사이에 시스템을 적절하게 패치하는 것은 일반적으로 안정성과 인증상의 이유로 최후의 수단입니다.완전히 테스트됨이미지가 목표입니다. )

요컨대,

  • 최신 버전뿐만 아니라 모든 증분 보안 패치도 포함하는 RHEL 설치 이미지를 다운로드하거나 자체 패키지화하는 쉬운 방법이 있습니까?
  • 비슷한 일이 이전에 수행된 적이 있습니까? 아니면 기본적으로 처음부터 자체 솔루션을 구현해야 합니까?

답변1

다음 프로세스를 사용하여 RHEL 보안 업데이트를 사용자 지정 부팅 이미지에 통합할 수 있었습니다.

  1. 기록 깊이가 1인 RHEL 이미지를 설정합니다.

  2. 킥스타트 이미지를 빌드할 때 저장소 데이터는 디스크의 자체 디렉토리에 복사됩니다.

    ISO 빌드 스크립트 의사코드:

    #!/bin/bash pseudo-code
    
    # make a copy of the RHEL system image
    mount rhel-7-server-dvd.iso /tmp/rhelbaseiso
    cp -a /tmp/rhelbaseiso /tmp/rheliso
    
    # add your own custom kickstart files
    cp myimage/ks.cfg /tmp/rheliso/.
    cp -f myimage/isolinux.bin /tmp/rheliso/isolinux/isolinux.bin
    
    # copy files from repo mirror
    mkdir /tmp/rheliso/rhelUpdatePackages
    cp -a /myrhelmirror/repos/rhel7/rhel-7-server-rpms/* rhelUpdatePackages
    
    # TODO add any custom packages to their own directory, and run createrepo on it
    
    # build the iso image
    mkisofs -rDfJV "DISK NAME" -b isolinux/isolinux.bin \
            -c isolinux/boot.cat     \
            -no-emul-boot            \
            -boot-load-size 4        \
            -boot-info-table         \
            -graft-points            \
            -eltorito-alt-boot       \
            -e images/efiboot.img    \
            -no-emul-boot            \
            -o custom_rhel.iso  /tmp/rheliso
    
    # TODO unmount and clean up
    
  3. 업데이트 저장소를 추가 저장소로 사용하도록 kickstart에 지시하십시오:

    ...
    repo --name="rhel_update"  --baseurl="file:///run/install/repo/rhelUpdatePackages"
    repo --name="your_own_software"  --baseurl="file:///run/install/repo/customPackages"
    ...
    

이는 Yum/Anaconda가 시스템 설치 중에 적절하게 업데이트된 패키지를 가져오기에 충분한 것 같습니다. 일단 설치되면 시스템은 업데이트 저장소에 연결할 필요 없이 "즉시 사용 가능한" 최신 소프트웨어를 갖게 됩니다.

(부팅 가능한 Blu-ray, USB-HD 또는 LAN 기반 설치에 적합합니다. 부팅 가능한 DVD에 넣어야 하는 경우 이미지 크기를 줄이기 위해 추가 노력을 기울여야 합니다.)

관련 정보