안녕하세요
오늘은 RHEL Lightspeed 기반의 Red Hat Enterprise Linux(RHEL) 명령줄 어시스턴트 오프라인 버전이 기존 Red Hat Satellite 구독자를 위한 개발자 프리뷰 로 출시되었다고해서
알아보려고합니다.
기존 RHEL Lightspped는 인터넷이 연결되어있는 상태에서만 사용이 가능했었는데, 폐쇠망에서 사용이 가능하다는것이 놀랍긴한데요.
그럼 알아보겠습니다.
- 아키텍처 개요
명령줄 어시스턴트의 오프라인 버전은 Podman으로 실행할 수 있는 컨테이너 이미지 세트로 제공됩니다. 사용되는 컨테이너는 다음과 같습니다.
○ 설치 컨테이너 : 다른 필수 컨테이너를 끌어오고 rhel-cla 명령을 설치하고 선택적으로 systemd 서비스를 생성합니다.
○ rlsapi 컨테이너 : 명령줄 지원 클라이언트가 통신하는 엔드포인트를 제공합니다.
○ rag-database 컨테이너 : RHEL 설명서와 같은 추가 데이터로 LLM의 지식을 보완하는 데 사용되는 검색 증강 생성(RAG) 데이터베이스
○ ramalama 컨테이너 : LLM 추론 제공
- 필수 조건 및 요구 사항
Red Hat Satellite 구독 은 RHEL 환경을 로컬로 관리할 수 있는 도구를 제공합니다. 이러한 도구에는 Satellite 제품 자체뿐만 아니라 최근 출시된 Red Hat Offline Knowledge Portal (Red Hat 독점 지식 콘텐츠의 오프라인 버전 제공)도 포함됩니다. 이제 Satellite 구독을 확장하여 RHEL 명령줄 어시스턴트의 오프라인 버전도 제공합니다.
명령줄 지원의 오프라인 버전은 컨테이너 세트로 제공되며 RHEL 시스템, Mac 또는 Windows 워크스테이션에서 실행할 수 있습니다. Mac 시스템을 사용하는 경우 Podman Desktop이 필요하며 , NVIDIA, AMD 또는 Mac M 시리즈 GPU가 장착된 시스템을 사용하는 것이 좋습니다.
> 하드웨어 요구 사항
1) CPU 전용 시스템(RHEL 9.6+ 및 10+ / Fedora 42 / Windows 11):
램 : 8GB
CPU 코어 : 2
2) GPU 지원 시스템(RHEL 9.6+ 및 10+ / Fedora 42 / Windows 11):
램 : 4GB
GPU : 최소 4GB VRAM
3) Apple 시스템(macOS 15.x):
M2 칩 이상
4) 모든 시스템:
사용 가능한 디스크 공간 : 10GB
1. 시작하기
RHEL 명령줄 어시스턴트 오프라인 버전용 컨테이너 이미지는 Satellite 구독을 보유한 모든 고객에게 Red Hat Container Registry에서 제공됩니다. 먼저 Red Hat Container Registry에 인증하세요.
# podman login registry.redhat.io
설치 컨테이너를 사용하여 설치를 수행합니다. 이 컨테이너는 필요한 다른 컨테이너를 가져오고, rhel-cla 명령을 설치하고, 선택적으로 systemd 서비스를 생성합니다. systemd 서비스는 시스템이 부팅될 때마다 오프라인 RHEL 명령줄 지원 컨테이너를 자동으로 시작하려는 환경에서 사용할 수 있습니다.
설치 프로그램을 실행하기 전에 홈 디렉터리에 ~/.config 및 ~/.local/bin 디렉터리가 있는지 확인하세요. 설치 프로그램 컨테이너를 시작하려면 다음 명령을 사용하세요.
# podman run -u : --rm -v $HOME/.config:/config:Z -v $HOME/.local/bin:/config/.local/bin:Z registry.redhat.io/rhel-cla/installer-rhel10:latest install-systemd
systemd 서비스를 설치하지 않으려면 명령 끝에 install-systemd 인수를 포함하지 마세요.
설치가 완료되면 rhel-cla 명령을 사용하여 오프라인 RHEL 명령줄 도우미를 시작, 중지, 제거하거나 상태를 확인할 수 있습니다. Mac에서는 rhel-cla 명령을 실행 가능하게 설정해야 합니다.
$ chmod +x ~/.local/bin/rhel-cla
RHEL 명령줄 도우미의 오프라인 버전을 시작하려면:
$ rhel-cla start
이렇게 하면 출력이 생성되지만 찾아야 할 것은 모든 것이 성공적으로 시작되었다는 것을 나타내는 메시지뿐입니다.
▶ RHEL CLA Pod가 실행 중입니다!
확인 가능한 방법 :
데이터베이스: localhost:5432
GPU 구성
다음 단계는 ~/.config/rhel-cla/.env 파일에서 GPU를 구성하는 것입니다. 텍스트 편집기에서 이 파일을 열고 다음 구성을 완료하세요.
○ LLAMACPP_IMAGE 변수를 GPU 하드웨어에 맞는 RamaLama 컨테이너로 설정하세요. 파일 내에 자세한 내용을 제공하는 주석이 있습니다.
○ HOST_DEVICE 변수를 GPU 장치로 설정합니다.
○ 필요한 경우 NVIDIA 관련 변수를 설정하세요. 파일 내 주석에 자세한 내용이 나와 있습니다.
RHEL 명령줄 도우미의 오프라인 버전에는 Microsoft Phi4-mini LLM 모델이 포함되어 있습니다. LLM 변수를 업데이트하여 다른 모델을 사용할 수 있습니다.
구성 설정을 변경한 후 오프라인 RHEL 명령줄 도우미를 다시 시작합니다.
# rhel-cla stop
# rhel-cla start
명령줄 어시스턴트 클라이언트 구성
RHEL 시스템에 명령줄 도우미 패키지를 설치합니다.
$ sudo dnf install command-line-assistant
기본적으로 명령줄 어시스턴트 클라이언트는 온라인 RHEL Lightspeed 서비스를 사용하도록 구성되어 있습니다. /etc/xdg/command-line-assistant/config.toml 파일에서 엔드포인트 구성 옵션을 업데이트하여 오프라인 RHEL 명령줄 어시스턴트 컨테이너를 호스팅하는 시스템을 가리키도록 합니다. 제 환경에서는 명령줄 어시스턴트 클라이언트와 오프라인 컨테이너를 동일한 시스템에서 실행하고 있으므로, 명령줄 어시스턴트 서비스를 시작한 후 제공된 값으로 엔드포인트를 업데이트합니다.
RHEL 명령줄 어시스턴트 컨테이너의 오프라인 버전이 명령줄 어시스턴트 클라이언트와 다른 시스템에 있는 경우 방화벽에서 포트 8000을 열어야 할 수도 있습니다.
명령줄 어시스턴트 클라이언트 구성을 변경한 후에는 현재 실행 중인 명령줄 어시스턴트 데몬(clad)을 다시 시작해야 합니다.
$ sudo systemctl restart clad
사용법
이제 모든 설정이 완료되었으므로 명령줄 도우미를 사용하여 RHEL 관련 항목에 대한 도움을 받을 수 있습니다. RHEL 설치, 문제 해결 등 다양한 질문을 할 수 있습니다. 예:
$ c "what is an immutable file?"
+ Asking RHEL Lightspeed
이 기능은 AI 기술을 사용합니다. 입력 시 개인정보나 기타 민감한 정보를 포함하지 마십시오. 상호작용은 Red Hat의 제품 또는 서비스를 개선하는 데 사용될 수 있습니다.
안녕하세요! 변경 불가능한 파일에 관심을 가져주셔서 감사합니다. 변경 불가능한 파일은 생성된 후에는 수정, 삭제 또는 이름을 변경할 수 없는 파일입니다. 이 개념은 시스템에서 데이터 무결성과 보안을 보장하기 위해 자주 사용됩니다.
Red Hat Enterprise Linux에서는 chattr 명령을 사용하여 변경 불가능한 파일을 생성할 수 있습니다. 예를 들어 다음과 같습니다.
[bash] Snippet
sudo chattr +i filename
이 명령은 filename이라는 파일을 변경할 수 없게 만듭니다. lsattr 명령을 사용하여 파일이 변경 불가능한지 확인할 수 있습니다.
[bash] Snippet
lsattr filename
출력 결과 파일 이름 옆에 i 속성이 표시되어 해당 파일이 변경 불가능하다는 것을 나타냅니다.
변경 불가능한 파일을 수정, 삭제 또는 이름 변경하려고 하면 오류 메시지가 표시됩니다. chattr 명령에 -i 옵션을 사용하여 변경 불가능 속성을 제거할 수 있습니다.
[bash] Snippet
sudo chattr -i filename
-------------------------------------------------------
요약하면서 ~~~
첫 번째 쿼리 응답 지연
채팅 세션이 처음 시작되면 모델이 시스템 메모리에 로드됩니다. 이로 인해 첫 번째 질문에 대한 응답이 느려질 수 있습니다.
CPU 전용 시스템
명령줄 도우미의 응답 시간은 사용 중인 하드웨어에 따라 달라집니다. CPU 추론을 사용하여 GPU가 없는 시스템에서도 오프라인 RHEL 명령줄 도우미를 사용할 수 있지만, 이로 인해 응답 시간이 느려집니다.
RHEL 9.6 및 RHEL 10에서 제공되는 명령줄 어시스턴트 클라이언트 패키지는 30초 후에 시간 초과됩니다. 이 30초 시간 초과는 현재 설정 가능하지 않지만, RHEL 9.7 및 RHEL 10.1에서는 설정 가능한 시간 초과 기능을 제공하도록 명령줄 어시스턴트 패키지가 업데이트될 예정입니다.
또한, 첫 번째 쿼리에서 응답 시간이 느려질 수 있습니다(위에서 설명한 대로). 이로 인해 30초의 시간 초과가 발생할 수 있습니다.
개별 시스템 사용 사례에 맞게 설계되었습니다.
RHEL 명령줄 어시스턴트의 오프라인 버전은 개별 시스템 사용 사례에 맞춰 설계되었습니다. 예를 들어, RHEL 시스템에 호스팅되어 해당 시스템의 명령줄 어시스턴트 클라이언트에서 사용할 수도 있고, 명령줄 어시스턴트 클라이언트가 구성된 개별 RHEL 워크스테이션이 있는 서버에 호스팅되어 해당 서버를 가리키는 방식으로 사용할 수도 있습니다. 오프라인 명령줄 어시스턴트를 호스팅하는 시스템에 여러 RHEL 명령줄 어시스턴트 클라이언트가 연결되어 확장 가능하도록 설계되지 않았습니다.
결론
RHEL 명령줄 어시스턴트의 새로운 오프라인 버전 출시는 오프라인 또는 연결이 끊긴 환경에서 RHEL 사용자의 업무 능력 향상에 있어 큰 도약을 의미합니다. 이 강력하고 독립적인 AI 기반 어시스턴트는 무선 네트워크, 원격 위치 또는 인터넷 연결이 제한된 환경에서 작업하는 RHEL 사용자에게 매우 유용한 리소스를 제공합니다.
이전에는 오프라인 환경에서 설명서 및 문제 해결 정보와 같은 리소스에 액세스하는 것이 큰 어려움이었으며, 이로 인해 다운타임과 불편함이 증가할 수 있었습니다. RHEL 명령줄 지원의 오프라인 버전은 네트워크 가용성에 관계없이 RHEL Lightspeed 기반의 풍부한 지식과 AI 기반 문제 해결 기능을 손쉽게 이용할 수 있도록 지원하여 이러한 어려움을 해소합니다.
긴글 읽어주셔서 감사합니다~