Linux(RHEL, Ubuntu)

[RHEL] ASan으로 corrupted size vs. prev_size 오류 해결하기 포스트 Teaser

[RHEL] ASan으로 corrupted size vs. prev_size 오류 해결하기

카테고리:

10 분 소요

문제 상황 RHEL 7에서 사용하던 C++ 프로그램을 RHEL 8로 이전한 뒤 메모리를 free()하는 도중 내부에서 호출된 malloc_consolidate()가 아래와 같은 오류를 검출하고 프로그램을 종료시켰다. corrupted size vs. prev_size 이 오류는 glibc가 힙 청크의 크기 정보 불일치를 발견했을 때 발생하는 오류다.1 glibc는 일부 작은 청크를 해제할 때 fastbin이라는 목록에 넣고 이웃 청크와의 병합을 미룬다. 이후 free()에서 해제·병합한 청크의 크기가 일정 기준 이상이고 fastbin에 정리할 청크가 있으면, malloc_consolidate()를 호출해 주변의 빈 청크와 합친다.2 같은 arena(힙 관리 단위)의 fastbin 목록을 순회하므로,

[RHEL] RHEL 8에 EUCKR을 지원하는 tmux 1.8 설치하기 포스트 Teaser

[RHEL] RHEL 8에 EUCKR을 지원하는 tmux 1.8 설치하기

카테고리:

3 분 소요

문제 상황 RHEL 8 환경에서 쉽게 설치할 수 있는 tmux는 2.7버전으로, UTF-8만 지원한다. 하지만 기존에 사용하는 레거시 환경(EUC-KR)과의 호환성을 위해 RHEL 7에서 사용하던 tmux 1.8버전을 설치하려고 했다. tmux 1.8 RPM 파일을 이용하여 설치를 시도했으나 다음과 같은 라이브러리 의존성 오류가 발생했다. nothing provides libevent-2.0.so.5()(64bit) 필요한 libevent-2.0 RPM을 추가로 설치하려고 했지만 이번에는 기존에 설치된 unbound-libs 패키지와 의존성 충돌이 발생했다. 해결 방안 1. 기존 tmux 확인 및 제거 기존 버전을 제거해야 한다면 tmux 세션을 정리한 후 다음 명령어를 실행한다. yum r

[RHEL] Entering emergency mode 부팅 오류 해결하기 포스트 Teaser

[RHEL] Entering emergency mode 부팅 오류 해결하기

카테고리:

4 분 소요

문제 상황 RHEL 7.9에서 시스템이 비정상적으로 종료된 이후 재부팅하면 다음과 같은 메시지가 출력되며 정상적으로 부팅되지 않는 경우가 있다. Generating “/run/initramfs/rdsosreport.txt” Entering emergency mode. Exit the shell to continue. Type “journalctl” to view system logs. You might want to save “/run/initramfs/rdsosreport.txt” to a USB stick or boot after mounting them and attach it to a bug report :/# 위 메시지는 부팅 과정에서 문제가 발생하여 Emergency Mode로 진입했

[RHEL] gdb로 corrupted size vs. prev_size 오류 해결하기 포스트 Teaser

[RHEL] gdb로 corrupted size vs. prev_size 오류 해결하기

카테고리:

7 분 소요

문제 상황 RHEL 7에서 사용하던 C++ 프로그램을 RHEL 8로 이전한 뒤 메모리를 free()하는 도중 내부에서 호출된 malloc_consolidate()가 아래와 같은 오류를 검출하고 프로그램을 종료시켰다. corrupted size vs. prev_size 이 오류는 glibc가 힙 청크의 크기 정보 불일치를 발견했을 때 발생하는 오류다.1 glibc는 일부 작은 청크를 해제할 때 fastbin이라는 목록에 넣고 이웃 청크와의 병합을 미룬다. 이후 free()에서 해제·병합한 청크의 크기가 일정 기준 이상이고 fastbin에 정리할 청크가 있으면, malloc_consolidate()를 호출해 주변의 빈 청크와 합친다.2 같은 arena(힙 관리 단위)의 fastbin 목록을 순회하므로,

[RHEL] VMware에서 RHEL 가상머신의 네트워크가 간헐적으로 사라지는 현상 해결하기 포스트 Teaser

[RHEL] VMware에서 RHEL 가상머신의 네트워크가 간헐적으로 사라지는 현상 해결하기

카테고리:

4 분 소요

문제 상황 VMware에서 실행 중인 RHEL 가상머신을 스냅숏으로 저장한 뒤 다른 Windows 11 PC로 옮겼을 때, 간헐적으로 다음과 같은 현상이 발생했다. ifconfig에 ens160이 나타나지 않음 RHEL GUI 네트워크 설정에서 이더넷 항목 자체가 사라짐 문제 원인 일부 PC에서는 가상머신을 옮기고 실행을 눌렀을 때 VMware에서 아래와 같은 CPU 호환성 경고를 출력했다. The features supported by the processor in this machine are different from the features supported by the processor in the machine on which the checkpoint was saved. 위

[RHEL, MariaDB] Access denied for user ‘root’@’localhost’ 해결하기 포스트 Teaser

[RHEL, MariaDB] Access denied for user ‘root’@’localhost’ 해결하기

카테고리:

4 분 소요

문제 상황 기존에 있던 시스템에 MariaDB를 세팅하여 제작해두었던 프로젝트를 실행하려고 하니 아래와 같은 오류를 출력하였다. ERROR 1698 (28000): Access denied for user 'root'@'localhost' 문제 확인 MariaDB는 복잡한 시스템이라, 해결하기 이전에 문제가 정확히 무엇인지 확인하는 과정이 중요하다. Root 권한으로 접속해보기 처음해야할 것은 Root 권한으로 터미널에서 접속해보는 것이다. mysql -uroot -p 여기서 접속조차 안된다면 무언가 단단히 잘못된 것이다. 재설치하는 것이 정신에 이롭다. MariaDB 계정 확인하기 MariaDB에 등록된 계정을 확인하는 방법은 간단하다. 아래의 SQL문을

[RHEL] SSH 접속 빠르게 하기 포스트 Teaser

[RHEL] SSH 접속 빠르게 하기

카테고리:

2 분 소요

문제 상황 폐쇄망 환경에서 새로 세팅한 RHEL 서버에 OpenSSH를 설정했다. 하지만 외부망에 세팅된 서버와 달리 로그인 이전에 접속을 수행하는데 필요한 시간이 10초 정도 딜레이가 생겼다. 해결 방안 해결방안은 간단하다. 폐쇄망 환경에서는 역방향 DNS 조회가 지연되기 때문이다. UseDNS no로 설정하면 SSH 서버가 직접 클라이언트의 IP를 사용하여 처리하므로 성능이 향상된다. sudo vim /etc/ssh/sshd_config sshd_config UseDNS no sudo service sshd restart UseDNS의 기본 동작 SSH 서버는 기본적으로 클라이언트가 접속할 때, 클라이언트의 IP 주소를 기반으로 역방향 DNS(Reverse DNS) 조회를 수행

[Ubuntu, Shadowsocks] Shadowsocks 서버 구축하기 포스트 Teaser

[Ubuntu, Shadowsocks] Shadowsocks 서버 구축하기

카테고리:

1 분 소요

Shadowsocks Shadowsocks는 SOCKS5 프록시 프로토콜을 기반으로 하는 인터넷 트래픽을 안전하게 전송하기 위한 프록시 소프트웨어이다. 암호화 및 터널링 기술을 사용하여 사용자의 인터넷 트래픽을 안전하게 전달하는 만큼 인터넷 검열이 심한 중국에서 주로 사용된다. 이처럼 사용자가 개인 정보를 보호하고 인터넷 검열을 피하기 위해 사용하지만 기업에서 원격 액세스 및 보안 터널링에도 활용된다. https://github.com/shadowsocks ※ 본 게시글은 Ubuntu 24.04 LTS 버전을 기준으로 작성되었습니다. 설치 방법 apt 리포지토리에서 shadowsocks-libev 패키지를 설치한다. sudo apt-get update sudo apt install shadows