본문 바로가기

리눅스

(14)
[Linux] coredumpctl로 크래시 디버깅하기 리눅스는 프로그램에서 에러가 나서 크래시되면 coredump 파일을 남기게 할 수 있습니다. 옛날에만 해도 ulimit에 coredump를 남기지 않도록 기본설정이 되어있어서 에러를 확인하고 싶어도 정보가 없었던 적도 있었습니다. 하지만 init에 systemd가 채용되면서 단순히 파일만 남기는게 아니라 systemd가 해당 에러의 내용과 coredump 파일, 시간 등의 기록을 남기는 역할도 맡게 되었습니다. systemd는 이 기록들을 조회하고 관리하기위해 coredumpctl 이란 명령을 제공합니다. 그냥 해당 명령을 실행하면 지금까지 있었던 기록들을 보여줍니다. 참고로 이 기록은 journalctl과 연동됩니다. 사용자가 시스템 전반의 journal에 접근할 권한이 없다면 자신의 coredump ..
[Linux] LUKS로 저장장치 암호화하기 회사 기밀이나 개인정보가 들어있는 저장장치는 보안이 중요합니다. 기본적으로 유출이 되지 않는게 최선이지만 만일의 사태로 인해 유출이 되었을 때 데이터를 빼내지 못하게 암호화를 하는 것이 좋습니다. 리눅스에서는 커널단에서 LUKS라는 암호화 레이어를 제공하고 있습니다. 그러므로 LUKS를 사용하면 어떤 리눅스에서든지 사용가능합니다. LUKS를 사용자 단에서 조작하기 위한 프로그램으로 cryptsetup이 있습니다. 아치리눅스는 기본적으로 포함되어 있지만 다른 배포판들은 어떤지 모르겠습니다. 만약 해당 명령이 없다면 cryptsetup 패키지를 설치해야 합니다. 먼저 저장장치를 LUKS로 사용하기 위해서 포맷을 해야합니다. 포맷은 아래의 명령으로 가능합니다. # cryptsetup --type luks2 l..
systemd-boot를 부트로더로 사용하기 저도 리눅스 입문을 우분투로 했기 때문에 처음 부트로더로 사용한 것은 GRUB2였습니다. 초기에는 딱히 만질줄도 모르고 수정할 일도 없었기에 설치된 그대로 사용하였지만 리눅스에 익숙해지고 커널 파라미터를 넣거나 커스텀 커널을 사용하려니 너무 설정하기 복잡했습니다. 그러다가 아치리눅스로 넘어오고 systemd-boot를 알게 되었습니다. systemd-boot는 굉장히 심플하며 최소한의 기능만 들어있습니다. 그래서 GRUB2과 비교한다면 빈약하고 제약사항이 많다고도 할 수 있습니다. 그럼에도 불구하고 제가 사용하는 이유는 설정의 편리함 때문입니다. GRUB2은 /etc/default/grub, /etc/grub.d/ 등의 설정을 만져주고 업데이트를 실행해야만 비로소 적용됩니다. 그 설정파일도 쉘코드로 되어..
라데온 그래픽카드로 듀얼 모니터를 사용하는 리눅스에서 깜빡임 현상 현재 리눅스 버전 5.2에서 라데온 그래픽카드에 모니터를 두 개 연결하고 커널 옵션으로 amdgpu.ppfeaturemask=0xffffffff를 설정하면 화면에 검은 줄이 깜빡이는 현상이 있습니다. 저도 그냥 한 번 듀얼 모니터가 제대로 작동하는지 테스트하기 위해 모니터를 하나 더 연결했더니 이 현상이 발생하여 알게되었습니다. 이 깜박임의 원인은 GPU의 메모리 클럭이 너무 빠르게 변화하여 화면 갱신 타이밍에 영향을 주기 때문에 발생합니다. 그러므로 메모리 클럭이 변화하지 않도록 설정한다면 임시방편으로 깜박임 없이 사용할 수 있습니다. 다만 낮은 클럭으로 고정한다면 성능이 문제고, 높은 클럭으로 설정한다면 idle 상태에서도 전력을 더 소비하고 열이 발생한다는 문제가 있습니다. 현재 이 문제를 해결하기..
리눅스에서 라데온 GPU 전력 제한하는 방법 그래픽카드를 사용하면 언제나 신경쓰이는 것이 바로 전력 소모입니다. 언더볼팅, 다운클럭을 해도 고사양 게임이나 그래픽 관련 작업을 할 때 90W는 기본으로 끌어다 쓰는걸 보면 전기요금이 걱정됩니다. 윈도우즈의 라데온 소프트웨어에 포함되어 있는 와트맨에는 전력제한이란 옵션이 있는데 -30%까지밖에 설정하지 못하고 그마저도 소비 전력을 보면 영 줄어든 것 같지도 않습니다. 리눅스에도 4.20 버전부터 와트맨처럼 GPU 설정을 조정할 수 있는 인터페이스가 sysfs를 통해 제공됩니다. 그런데 윈도우즈에서 와트맨으로 전력를 제한하는 것보다 더 확실하게 그리고 낮게 설정할 수 있다는걸 발견했습니다. 라데온 그래픽카드의 인터페이스는 /sys/class/drm/card0/device/ 안에 제공됩니다. 여기서 저희가..
리눅스에서 Radeon GPU 클럭, 전압 조정하기 AMD의 Radeon 그래픽카드를 산다면 언제나 전압이나 클럭을 조정해줘야 제대로된 퍼포먼스가 나온다는 설이 있습니다. 실제로 제품의 전압 마진이 어느정도 있기 때문에 오버클럭으로 성능을 높히거나 언더볼팅으로 전력 소비를 줄일 수 있습니다. 윈도우즈에는 AMD가 라데온 드라이버와 함께 Wattman을 제공하기 때문에 손쉽게 클럭과 전압을 조정할 수 있습니다. 다만 리눅스에서는 그런 툴을 제공하지 않기 때문에 직접 터미널에서 명령을 내려야합니다. 먼저 클럭과 전압을 조정하기 위한 조건은 리눅스 커널이 4.20은 되어야합니다. 그리고 부팅할 때 커널 파라메터로 amdgpu.ppfeaturemask=0xffffffff 가 포함되어야 합니다. 커널 파라메터를 설정하는 것은 사용하는 부트로더에 따라 다릅니다. 일..
[Linux] QEMU 가상머신에 OS 설치하기 가상머신 QEMU를 설치하는 글에 이어서 운영체제를 설치하는 방법을 설명하겠습니다. 리눅스에 가상머신 설치하기 [QEMU] 리눅스를 메인으로 사용하다보면 윈도우즈나 다른 리눅스 배포판을 꼭 사용해야할 때가 생깁니다. 공인인증서라던가, hwp라던가, 호환성 검사라던가... 듀얼 부팅을 설정해뒀다면 리부팅하여 OS 변경할 수 있지만.. stackframe.tistory.com 리눅스에 가상머신 설치하기 글을 따라하셨다면 QEMU가 설치되어 있을겁니다. 이제 가상머신에 OS를 설치해 볼 시간입니다. 먼저 사용할 운영체제의 설치 ISO를 다운받습니다. 대다수의 사람들이 리눅스에서 가상머신을 돌린다면 윈도우즈이기 때문에 저는 Windows 10을 설치해 보겠습니다. Windows 10의 설치 ISO는 이 링크에서..
리눅스에 가상머신 설치하기 [QEMU] 리눅스를 메인으로 사용하다보면 윈도우즈나 다른 리눅스 배포판을 꼭 사용해야할 때가 생깁니다. 공인인증서라던가, hwp라던가, 호환성 검사라던가... 듀얼 부팅을 설정해뒀다면 리부팅하여 OS 변경할 수 있지만 몇 번 리부팅하다보면 이마저도 귀찮고 리눅스에서 중요한 작업을 하고 있는데 종료하기도 곤란한 상황이 생깁니다. 리눅스에서도 VirtualBox가 지원됩니다. 그러므로 자신이 아직 리눅스에 대해 초보라면 이 글을 따라하는건 그리 추천해드리지 않고 먼저 VirtualBox를 사용하면서 리눅스에 대해 공부하시는걸 권합니다. 리눅스에 대해 어느정도 이해하고 "나는 변태라서 가상머신마저 터미널로 실행하고싶다!"하는 분께 이 글이 도움되실겁니다. 이 글을 따라하기에 앞서 하드웨어가 지원되는지 확인해야합니다. 저..