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를 […]

Power User

Iterm2 설정

처음 Mac 을 구매하게 되면 제일 먼저 하는 것이 Iterm2 를 설치하는 것이다. Mac 에서 제공하는 Term 보다 사용하기 편해서 기본적으로 다 설치를 하게 된다. Iterm2 는 테마, 폰트등을 설정할 수 있고 Git 을 이용할 경우에 터미널에서 Branch 상태등을 잘 보여줘서 거의 필수로 설치를 하게된다. 기본상태 Iterm2 를 설치하면 다음과 같다. 프롬프트나 이런것들이 기본상태이다. oh-my-zsh 설치 oh-my-zsh 는 zsh 에 많은 기능을 부여해준다. 대표적인 것이 Themes, Fonts 등이다. 다음과 같이 설치할 수 있다. 설치를 위와같이 쉘 프롬프트가 변경 된다. .zshrc […]

Azure

Azure Application Gateway 특징

Azure Application Gateway 에 특징이 있는데, 이에 대해 정리한다. 서브넷(Subnet) Application Gateway 를 위한 전용의 서브넷이 있어야 한다. 서브넷에 다른 서비스가 있다면 선택이 되지 않는다. 예를들어 Subnet1 에 VM 을 생성했다고 하면 Application Gateway 서브넷으로 사용할 수 없다. 따라서 네트워크 설계를 할때에는 Application Gateway 를 위한 전용의 서브넷을 미리 생성을 해야 한다. Private Subnet 도 가능 Application Geteway 를 생성할때에 Subnet 을 지정하게 된다. 위와같이 Private Subnet 을 지정할 수 있다. 이렇게 지정하고 난후에도 Application Gateway 에 동작하는데에는 아무런 문제가 […]