HowTo

만료된 dnf gpg key 삭제하기

dnf 명령어를 이용해서 패키지를 업데이트를 하던 중에 다음과 같은 증상으로 설치가 되지 않았다. 위와같이 GPG check FAILED 라면서 설치가 되지 않았다. 원인 출력된 내용을 보면 GPG Key 가 문제라는 건데, 만료 날짜가 2025-08-23 이며 날짜가 이미 지났다. 결국에는 GPG Key 가 만료가 되어서 설치가 진행되지 않은 것이다. 해결 먼저 문제가 됐던 GPG Key 에 대한 정보를 얻어야 한다. 다음과 같이 얻을 수 있다. rpm 명령어를 이용해 패키지 GPG Key 리스트를 볼 수 있다. 여기서 문제가 되는 것이 Grafana 이기 때문에 […]

HowTo, Linux

RHEL 10 에 Nvidia 드라이버 설치하기

RHEL 10 이나 Rocky 10 서버에 Nvidia 에 3070 그래픽카드를 장착했다. AI 학습을 할 수 있는 장비를 마련한건데, RHEL 10 에 물려 있다. Nvidia 드라이버 설치가 그렇게 쉬운게 아니여서 기록으로 남긴다. Nvidia 정식 저장소 Nvidia 는 RHEL 10 을 위한 저장소를 제공한다. RHEL 10 이 처음 나왔을때에는 없었는데, 최근에 생겼다. 이 저장소를 추가하면 쉽게 설치가 가능하다. RHEL 의 Code Ready Build 저장소도 활성화를 해주고, epel-release 저장소도 설치해 준다. Kernel 헤더와 개발 라이브러리 설치 커널 헤더와 개발 라이브러리를 설치해야 한다. Nvidia […]

HowTo, Linux

rpmbuild 방법

rpm(RedHat Pakcage Management)는 RedHat 계열에서 사용되는 패키지 시스템이다. 레드햇이 리눅스로 사업을 시작하는데 가장 큰 영향을 줬다고 해도 과언이 아닌 시스템이 바로 RPM이다. 아주 간단하면서도 손쉽게 만들 수 있어서 지금도 많이 사용된다. Source RPM 은 RPM을 작성하기 위한 소스를 제공하는데, RPM 작성에 필요한 모든 것이 담겨 있다. 그래서 뭔가 약간의 기능을 추가/삭제를 하고 싶은 RPM을 제작하고 싶다면 Source RPM 을 다운받아서 설치해서 리빌드해주면 된다. 이때 사용하는 명령어가 rpmbuild 명령어다. 이 포스트는 rpmbuild 를 위한 기초를 다룹니다. 설치 rpmbuild 도 명령어이기 때문에 […]

HowTo, Linux

리눅스 자동 로그아웃 설정

TMOUT 로그 TMOUT 쉘 환경 변수를 설정하면 지정한 시간동안 쉘과 상호작용, 키보드 입력이나 마우스 사용이 없을 경우에 자동으로 로그아웃을 해주게 된다. 그런데, 이렇게 로그아웃을 할 때에 시스템에는 어떤 로그를 남길까? 어뜻 보면 Client 로부터 접속이 차단된것 처럼 로그가 남지고 있다. 현장에서 이걸 보고 사용자가 로그아웃 된 것으로 해석하는 경우가 많은 이유이기도 하다. 하지만 쉘에서 보면 다음과 같다. 이렇게 로그가 다르게 남는 이유가 무엇을까? Shell vs SSHD 서비스 쉘은 sshd 서비스를 이용해 접속하게 되면 받게 되는 사용자 인터페이스다. 굳이 따지자면 sshd […]

HowTo, Linux

RHEL 10, 새로운 기능

언제 RHEL 10 이 릴리즈 됐는지도 모르게 시간이 꽤 지났다. 요 몇일동안 RHEL 10 을 설치하고 이것저것 사용해 보고 있는데, 약간 뭔가 부족해보이는 건 나뿐인지…. 아무튼 새로운 기능에 대해서 몇가지 적어본다. XFS V5 only XFS 파일 시스템은 RHEL 에 기본 파일 시스템이다. EXT4 를 버린지도 꽤 오래전인데, XFS 에는 알게 모르게 버전이 있다. RHEL 7 까지는 V4 를 사용했고 RHEL 8 부터는 V5 를 함께 지원하기 시작해서 RHEL 9 까지는 V4, V5 를 동시에 지원 했었다. 하지만 RHEL 10 부터 […]

MySQL

MySQL 8.4 LTS 컴파일 설치

MySQL 8 에서 버전관리에 변화가 있었다. MySQL 도 이제는 LTS 버전과 그렇지 않은 버전으로 나누어 릴리즈 된다고 한다. MySQL 8.4 LTS 에서 변경사항이 있다. 설치는 Ubuntu 22.04 에서 진행 되었다. 의존성 패키지 설치 MySQL 8.4 는 GCC 10 버전 이상을 필요로 한다. 그래서 Ubuntu 20.04 에서는 설치할 수 없다. 다음과 같이 의존성 패키지를 설치한다. Configure WITH_BOOST, DOWNLOAD_BOOST 옵션이 없어졌다. 추가로 FIDO 관련해 설정을 해줘야 한다. 사용하지 않는다면 none 으로 지정해줘야 한다. 에러가 발생한다면 다시 해줘야 하는데, 다음과 같이 파일과 디렉토리를 […]

React

React 에서 useState 이란?

React 에서 useState 은 훅(Hook) 에 하나다. 함수 컴포넌트에 상태를 추가하기 위한 훅이다. useState 키 포인트 또 다른 키 포인트는 useState 가 배열로 값을 리턴한다. 여러 예제 여러 상태 값 복잡한 상태 업데이트 배열을 상태로 가지는 예제 팁(Tip)

Ai

Tensorflow 설치 오류

Python 의 pip 를 이용해서 Tensorflow 를 설치할때에 다음과 같은 오류가 날 수 있다. 2025년 4월 현재 오류가 발생 했다. 뭐라뭐라 알수 없는 오류가 나오는데, 해결책이 있다. numpy 1.x 버전 호환 문제 Tensorflow 는 현재 numpy 2.x 와 잘 호환되지 않는 것으로 보인다. numpy 는 Pandas 를 설치하면서 함게 설치가 되는 것인데, 이때에 2.x 버전이 설치된다. 따라서 numpy 2.x 를 언인스톨하고 numpy 1.x 로 설치해준다. 이렇게 하고 나서 Tensorflow 도 언인스톨을 하고 재설치 해준다. TF_ENABLE_ONEDNN_OPTS=0 문제. 이 문제는 정확하게는 다음과 […]

Ai

GenAI and LLM

AI 를 배울려면 어려운것이 용어다. 알수 없는 용어들. 기존 IT는 그래도 여기저기 주워들은(?) 게 있어서 한번 들으면 그런대로 잘 이해가 되는데, AI 분야는 한번 들었다고 해서 그게 바로 머리속에 자리잡는건 아닌듯 했다. 그래서 용어를 정리해야할 필요가 있다. GenAI Generate AI 를 줄여서 쓰는 말이다. 흔히 AI 라고하면 GenAI 를 말하는 것으로 착각하지만 불과 몇년전만 하더라도 AI 는 Specialized AI 였다. GenAI는 텍스트(Text), 이미지(Images), 오디오(Audio), 비디오(Video)와 같은 새로운 콘텐츠를 생성할 수 있는 시스템을 의미한다. Specialized AI 는 특정 태스크에 특화된 AI를 […]