목록분류 전체보기 (244)
Linux Programmer

테스트한 OS 버전 : Fedora 35, 36 google-chrome-stable 패키지를 업그레이드하다보면 뭔가 미묘하게 이상작동을 하는 경우가 있다. 이런 경우에는 크롬의 설정이나 확장 플로그인의 문제인지 확인해야 한다. 1. 설정 이상인지 확인하는 방법 확인 방법은 Linux에서 매우 간단하다. 바로 새로운 유저를 하나 만들고 로그인을 한 뒤 chrome을 실행해보는 것이다. 새로운 유저에서 잘 작동하고 있다면 크롬 자체 문제는 아니라는 것이다. 크롬 자체의 문제가 아니라면 크롬 설정 때문일 수가 있으므로 크롬 설정을 재설정해보고, 그 다음에는 플러그인들을 하나씩 끄면서 테스트해봐야 한다. 2. 크롬 재설정 방법 크롬은 자체 기능 중에 reset(설정 초기화) 메뉴가 있다. 따라서 메뉴에서 재설..

Fedora 35 에서 Intel JHL 8540 Maple ridge 칩셋이 내장된 메인보드(B550 ProArt)의 썬더볼트가 제대로 인식되지 않는 문제 해결 방법에 대한 글이다. * 하드웨어/소프트웨어 환경 M/B : ASUS B550 ProArt OS : Fedora 35 (Kernel 5.17.5-200) * 증상 및 확인 유저 권한 : root (모든 명령어는 root 권한으로 실행한다) 썬더볼트 하드웨어 인식을 lspci 이나 journalctl (== dmesg) 으로 확인해보면 다음과 같다. 먼저 lspci로 확인해보면 다음과 같이 Maple Ridge 칩셋이 장착된 것이 확인된다. 즉 하드웨어 인식은 되고 있다는 뜻이다. # lspci ...생략... 00:18.7 Host bridge..

Fedora 34에서 35로 업그레이드 후에 유독 youtube 재생이 되지 않았다. (희한하게 2대의 PC중 Intel 계열에서는 멀쩡하고 AMD쪽에서만 문제를 일으켰는데, 아마도 커널의 호환성도 문제가 있는것 같다) 증상은 웹브라우저에서만 발생하고, minitube처럼 아예 독립된 애플리케이션에서는 youtube 재생이 되는데, 유독 웹브라우저만 안된다. 증상은 youtube 영상에 들어가면 그림처럼 영상 가운데 작은 원(circle? wheel?)이 빙글빙글 돌면서 재생이 안된다. 하지만 우측 화살표 키로 영상을 스킵하면 중간중간은 네비게이션 되는 것으로 봐서 네트워크 문제는 아닌듯 하다. 게다가 chrome과 firefox 모두 같은 증상이므로 크롬의 문제는 아니라고 생각되었다. 혹시나 해서 ex..

인텔의 I225-V 기가비트 유선랜은 2.5Gbps까지의 속도를 지원하지만 간혹 100Mbps의 낮은 속도로 작동하거나 통신이 끊기는 문제가 종종 발생한다. 여기서는 이런 문제 발생시 해결 방법을 정리해봤다. 물론 I225-V이여도 잘 작동하는 경우는 그대로 쓰면 되고, 여기서는 제대로 작동하지 않을 경우를 주로 다룬다. * 증상 (100Mbps 저속 연결) I225-V 오류의 대표적인 증상은 속도가 100Mbps로 나오는 것이다. 설정에서 1Gbps로 강제 작동시켜도 곧장 100Mbps로 떨어진다. 만일 평소에는 계속 1Gbps로 잘 작동하다가 아주 가끔 100Mbps로 변경된다면 이는 I225-V의 문제라기보단 랜 케이블의 불량인 경우가 많다. 속도가 항상 100Mbps로 나오는 경우에는 2가지를 확..
윈도우10에서 디스크 관련 작업을 하다보면 2가지 기능이 절실하게 필요한 경우가 있다. 첫째는 새로운 Pluggable disk라든지 혹은 외장 디스크를 붙였을때 디스크를 리스캔 하는 기능이다. 보통은 자동으로 인식되지만 간혹 자동 인식이 안되면 수동으로 인식 시켜야 한다. 둘째는 외장 디스크를 분리하기 전에 기록을 완전하기 하는 flushing disk 기능, 즉 sync 기능이다. 1. rescan 방법 윈도우에는 기본적으로 diskpart라는 디스크와 파티션 관련 작업을 할 수 있는 명령어가 있다. diskpart에는 여러 기능이 있는데 그 중에 rescan하는 기능도 있다. 사용 방법은 cmd(혹은 powershell, 터미널)에서 다음과 같이 명령한다. Windows PowerShell Copy..

인텔 계열을 주로 사용하다가 11세대 제품 발표에 좌절하고 몇 년만에 AMD PC를 맞춰봤는데, ASUS ProArt B550이 딱 마음에 들어서 구입해봤다. STCOM에서 수입한 제품이고 3년 보증을 해준다. 구입시 30만원 중후반 정도였던 것으로 기억한다. 1. 스펙 및 특징 ASUS ProArt B550-Creator는 대용량 미디어 파일을 다루는 유저는 대용량 대역폭을 다루기 때문에 그에 걸맞게 대용량 전송에 유리한 기능을 가지고 있다. 대표적인 기능은 다음과 같다. 주변기기 통신 : 썬더볼트4 (40Gbps) 2개, USB 3.2 Gen2 (10Gbps) 4개 네트워크 : 이더넷 2.5Gbps 포트 2개 PCIe x16 : PCIe 4.0 x8+x8 및 bifurcation 지원 특징이 있는 세..

1. nimf vs ibus 한글 입력기로는 ibus, nimf 외에도 많이 있지만, 대부분 ibus나 nimf를 사용하는 경우가 많다. ibus는 대부분의 리눅스 배포판에 설치되는 기본 입력기로서 성능은 별로다. 특히 끝글자 버그라든지, facebook에서 입력이 안되고 한글을 먹어버리는 버그라든지... 여러 골치아픈 버그가 있어서 ibus-hangul을 혐오하는 사람들도 많다. 하지만 외부 패키지 설치를 금하는 곳에서는 어쩔 수 없이 ibus-hangul을 사용할 수 밖에 없다. 그러나 외부 패키지를 설치해도 괜찮은 경우라면 nimf 사용을 주로 권한다. 본인도 Fedora를 쓰는 데스크탑에서는 nimf 사용한다.(CentOS도 사실상 설치는 비슷하다. 패키지 위치만 다를 뿐이다.) 2. nimf 설..

Failed to initialize NVML: Driver/library version mismatch nvidia 커널 모듈 드라이버와 라이브러리 버전의 미스매치 에러 해결 방법. 이 방법은 akmods를 사용하는 Fedora에서 작업한 것이다. 우분투는 조금 다를 수도 있다. 1. nvidia 에러 메시지 nvidia-smi 실행시 "Failed to initialize NVML: Driver/library version mismatch" 메시지와 함께 에러가 발생하는 경우가 있다. # nvidia-smi Failed to initialize NVML: Driver/library version mismatch 이런 경우에 journalctl -xe로 로그를 보면 다음과 같이 에러를 볼 수 있다. -..

1. Windows app installer : winget이란? winget은 마이크로소프트에서 배포하는 앱 설치 관리자의 CLI(command line interface) 유틸리티이다. 이 기능을 이용하면 마치 리눅스에서 패키지 설치를 쉽게 해주는 yum과 같은 명령을 사용할 수 있다. 예를 들어 putty를 설치하고자 하면, 윈도 파워쉘이나 터미널, 명령어 프롬프트 창에서 winget을 사용할 수 있다: PS C:> winget install putty2. winget 설치 설치는 github의 microsoft/winget-cli 에서 다운 받으면 된다. 릴리즈 버전의 다운로드 링크는 아래와 같다. winget-cli 릴리즈 다운로드 페이지 Assets의 Microsoft.DesktopAppIns..

올해부터 강의를 하면서 피드백이 필요한 강의들이 있어서 글을 써둔다. (시간 역순) 7. 리눅스 네트워크 프로그래밍, 서버 관리 부분 (Apr 2022) 1. getaddrinfo, getnameinfo 와 systemd-resolved 퍼포먼스 관계, d-bus 통신 부분과 같이. 2. 스케줄러 처리 : cron을 systemd.timer로 변경하는 예시 3. docker와 podman 관련 6. 리눅스 기초에 관한 부분 (Jan 2021, May 2021) 1. kernel module관련 명령에 대한 부분 보강 2. udisks2와 udev에 대한 관계 보강 3. WSL2와의 관계에 대한 부분 설명할 것 (왜 궁금해 하는지는 모르겠으나, 궁금해 하는 사람들이 많음) 4. 왜 서버에서는 Ubuntu보..

google에서 "TCP 우아한 종료"라고 검색해보자. 상당히 많은 내용이 나온다. 그러나 틀린 이야기들이 대부분이다. 문제는 이 틀린 이야기가 상당히 오랫동안 인터넷을 어지럽히고 많은 학생이나 개발자들에게 혼동을 준다는 점이다. 본인은 부업으로 그룹의 IT계열 회사나 금융권에 특강을 다닌다. 대상은 적어도 시니어급 이상의 개발자, 서버 관리자들이 대부분이다. 그런데 강의를 다니다보면 시니어급 개발자(프로그래머)들의 레벨에서도 잘못 알고 있는 지식이 많음을 느낄 수 있었다. 특히 잘못된 교재로 공부한 경우나 잘못 번역된 책으로 공부한 경우에는 특히 심했다. 사실 이 글을 쓰게 된 계기는 어제(20/02/01) IT관련 교육자들이 모이는 meetup으로 잠실의 '우아한 형제들 작은 집'에 갔다가 "(어떤 ..

예전에 C언어를 잘못 배우는 사람들이 많아서 쓰게 된 "C언어 공부법과 추천"글의 후속으로, 구체적으로 어떤 내용들이 잘못 알려졌는지를 다뤄 볼 것이다. 이 내용들은 좋지 않은 C언어 서적들이나 인터넷에서 돌아다니는 강좌들에 반복적으로 나타나는 오류이다. 사실 알고보면 인터넷에 잘못된 오류를 쓴 사람들은 원래 잘못된 책으로 공부한 뒤에, 그 지식들을 정리한 뒤에 글을 쓰기 때문에 책으로부터 퍼지는 것과 다를바가 없다. 최근에는 많이 줄었지만 fflush(stdin) 같은 UB(undefined behavior)는 너무 흔하게 나타나서 C언어를 배운 사람중에 거의 대다수가 fflush(stdin)을 쓸 정도였다. 심지어 많은 C언어 책에도 fflush(stdin)을 마구잡이로 썼었다. ㅠㅠ 그래서 본인은 ..

Fedora 31 upgrade 뒤에 한글 입력기가 이상하게 작동하는 문제가 생기는 경우가 있다. 아마 내 기억에 29에서 30으로 업그레이드 했을 때도 마찬가지였던 것 같다. 이게 xkb-options 부분을 커스터마이징 한 경우나 혹은 몇몇 추가 기능을 커스터마이징 한 경우에만 발생하므로 보편적인 일은 아니다. 이 문제의 증상은 구글 크롬(google chrome)에서 쌍자음을 타이핑할 때 문제가 생긴다. 예를 들어 "있"을 타이핑하려고 하면 보통 "이"에서 "shift + ㅅ"을 누르는데, shift를 누르는 순간 단어가 완성되고 "이ㅆ"으로 변경되어버린다. 마찬가지로 "닦"을 타이핑하려고 하면 "다ㄲ"이 되어버린다. 이 문제는 ${HOME}/.config/dconf/user 파일이 꼬여서 문제가 ..

크롬(chrome) 브라우저에는 vimium이라는 확장기능이 있어서 마우스를 쓰지 않고도 vim 명령어 키를 이용해서 이동이나 여러가지 기능을 할 수 있다. 크롬에서 설치 및 사용법은 이전에 써둔 글이 있으니 아래 링크를 참고하자. vimium (구글 크롬 vim 단축키 플러그인) : https://sunyzero.tistory.com/178 맥북에서 쓰는 사파리 브라우저에도 vimium과 비슷한 vimari 확장기능이 있어서 이를 설치하면 똑같이 사용할 수 있다. 사이트 페이지는 아래 링크를 참고. vimari : https://github.com/televator-apps/vimari televator-apps/vimari Safari port of vimium. Contribute to televa..

인터넷의 글이나 유튜브를 보면 리눅스 배포판 순위, 혹은 리눅스 순위 등등 글이 올라올 때가 있는데, 이때 종종 distrowatch 사이트를 참조하는 경우가 많다. 예를 들어 오늘자로 distrowatch.com의 순위는 다음과 같다. 이 순위를 보고 "제일 인기 있는 리눅스는 MX Linux구나"라고 생각한다면 잘못된 판단이다. 만일 CentOS를 쓰려고 하는데, 겨우 15위인 거 보니 인기가 없으니 CentOS 쓰면 안 되겠네라고 생각한다면 더 큰 오류다. 실제로 구글에서 "리눅스 배포판 순위"로 검색하면 디스트로왓치를 근거로 "최고 인기는 민트 리눅스입니다 다들 민트 쓰세요~" 하는 글도 볼 수 있고, 심지어 뉴스 기사도 이렇게 쓰인 것을 봤다. 그러나 저 순위는 단순하게 distrowatch.c..
셸의 발전 순서대로 보면 다음과 같다. Bourne shell : /bin/sh - POSIX shell C shell : /bin/csh - Sun microsystem (BSD) Korn shell : /bin/ksh bash : /bin/bash zsh : /bin/zsh 1. bash 이전의 셸들 가장 유명한 셸은 초기 유닉스에서 쓰였고, 아직까지도 현역으로 쓰이는 본셸(Bourne shell)이 있다. Steve Bourne이 만들었고, 그 이전에 유닉스의 아버지가 만들었던 Thompson shell이 있지만 지금은 쓰이지 않는다. 본셸은 POSIX 표준에 기본 셸로 정해져서 POSIX shell이라고도 부르고, 실행 파일명을 따서 sh shell이라고도 부른다. 그 후 BSD종주 역할을 담당했..

Linux를 쓰다보면 caps lock 키를 쓸 일이 별로 없어서 control 키로 변경해서 사용하는 편이다. 그리고 caps lock은 left shift + right shift로 lock하는 기능을 쓴다. 이 설정을 쉽게 하기 위해서는 gnome-tweaks가 설치되어있어야 한다. 텍스트 모드에서 하는 방법도 있지만 매우 귀찮아진다. gnome-tweaks를 실행한 뒤에 키보드 부분으로 이동한다. 여기서 "추가 배치 옵션" 부분을 들어가면 다음과 같은 화면을 볼 수 있다. 그림에서 보이듯이 Ctrl 위치 메뉴에서 "Caps Lock키를 Ctrl키로"를 체크해주면 된다. 그러면 진짜 caps lock을 사용할 일이 있으면 어떻게 해야 하는가? 바로 위에서 말했듯이 양쪽 shift를 동시에 누르는 방..
dart 코드 실행시 Invalid UTF8 sequence encountered, (Error Code: .... 이런 메시지가 발생했다. 원인은 Windows 10에서 작성된 dart code를 받아서 linux로 올렸는데, dart file이 EUC-KR로 인코딩되어있어서 UTF-8을 사용하는 리눅스 시스템에서 인코딩 에러가 발생한 것이다.
수영장 에티켓 및 팁 수영을 하다보면 수영장 에티켓을 몰라서 서로 얼굴을 붉히는 경우가 꽤 있었다. 벼라별 사람이 다 오기 때문에 에티켓을 모르고 수영하다보면 말싸움이 나거나 심지어 거의 욕설에 가까운 소리를 하는 사람도 있다. 그래서 싸우고나서 아예 수영장을 안 오는 사람들도 있고... 하여간 수영장 에티켓을 알아두는 것이 좋을거라 생각해서 글을 써둔다. 0. 수영하기 전 샤워, 화장실 사용 후 샤워 수영장에 샤워도 하지 않고 들어가는 분들이 있다. 심지어 탈의실에서 수영복을 다 입고 들어가는 경우도 있는데 이는 예의가 없는 행동이다. 집에서 샤워를 했더라도 수영장 샤워실에서 씻고 들어가야 한다. 만일 집에서 샤워를 했다고 해도 겨드랑이나 발, 사타구니 같은 곳은 깨끗하게 씻고 수영복을 입어야 한다. ..
파일(file)에 대한 토막글 : 파일이란 무엇인가? 토막글인데 쓰다보니 길어졌다. 보기 귀찮은 분들은 TL;DR을 참고. (페북에 썼다가 짬이 생긴 시간에 정리해서 블로그에 올려둡니다. 이 글은 운영체제(OS)에서 핵심 파트인 파일 시스템(FS)을 이해하는데 필요한 중요 개념인 경로(path)에 대해서 추상적이고 바탕이 되는 이론을 설명하는 글이다. 참고로 경로를 구성하는 것은 directory와 filename이며 /bin/bash 라는 파일이 있다면 "/bin"이 디렉토리, "bash"가 파일네임(혹은 basename이라고도 함)이 된다. 보통 file이라고 불리는 덩어리를 읽거나 쓰려면 메모리에 mapping(다른 말로 하면 사본을 만든다고 이해하면 됨)되어야 하는데, 이 과정에서 외부 접점(=경..