2023년 6월 11일 오후 2시 45분(EDT)에 게시됨
Linux에 대한 Hannah의 사랑은 CyberPatriot에 참가하면서 처음 꽃피웠습니다. 그녀는 어릴 때부터 프로그래밍 및 컴퓨터 수리와 같은 학문을 공부하여 좋은 문서의 가치와 일부 문서가 경험이 없는 사람들에게는 얼마나 도움이 되지 않는지를 이해하게 되었습니다. 그 경험으로 인해 그녀는 간단하고 유용한 문서를 작성하기 위해 노력했습니다. 그녀는 현재 Eastern New Mexico University에서 프로그래밍, Linux 등의 하위 학문에 중점을 두고 컴퓨터 과학을 공부하고 있습니다.
Hannah는 2023년 4월부터 MakeUseOf에 Linux, 프로그래밍, DIY, 구매자 가이드와 같은 분야에 초점을 맞춰 글을 썼습니다. ENMU의 The Chase 신문과 같은 지역 간행물에 기여하는 것 외에도 Hannah는 KENW News 3을 통해 뉴멕시코 지역 주민들에게 관련성이 높고 정확한 최신 뉴스를 전달하는 데 열정을 갖고 있습니다.
컴퓨터가 제대로 작동하지 않고 이유를 알 수 없을 때 매우 실망스럽습니다. Ubuntu에서 발생할 수 있는 모든 문제를 쉽게 해결할 수는 없지만 Ubuntu 오류 로그와 같은 리소스를 사용하여 PC 문제를 해결하고 진단할 수 있습니다.
Ubuntu 로그란 무엇입니까?
Ubuntu 로그는 컴퓨터에서 발생하는 모든 이벤트 기록을 저장하는 포괄적인 파일입니다. 여기에는 하드웨어, 운영 체제, 심지어 일부 소프트웨어에 대해 기록된 정보도 포함됩니다.
이러한 로그는 문제 해결 및 진단 프로세스에 매우 중요합니다. 이는 시스템 전체에서 발생하는 이벤트에 대한 타임스탬프, 컨텍스트 및 심층 세부 정보와 같은 정보를 제공합니다. 이러한 로그를 활용하려면 먼저 가장 중요한 유형에 대해 알아야 합니다.
Ubuntu 로그 유형
모든 정보를 하나의 로그에 기록하는 대신 Ubuntu는 다양한 목적으로 설계된 별도의 로그에 정보를 기록합니다. 나열할 로그가 너무 많지만 문제 해결을 위해 사용하기 전에 알아두어야 할 몇 가지 중요한 로그(및 로그 유형)가 있습니다.
아마도 모든 로그 중에서 가장 눈에 띄는 것은 시스템 저널일 것입니다. systemd는 Linux의 필수 서비스 관리자입니다. 결과적으로 다양한 운영 체제 서비스와 관련된 문제가 systemd 저널에 기록됩니다. Journalctl 명령을 사용하여 이 로그를 탐색할 수 있습니다.
시스템 로그도 매우 중요합니다. 이러한 로그는 Ubuntu의 다른 부분과 직접 관련되며 시스템 메시지와 같은 내용을 포함할 수 있습니다. 일부 시스템 로그에는 다음이 포함됩니다:
- 승인 로그: sudo 명령이나 사용자 로그인과 같이 인증이 필요한 모든 프로세스가 이 로그에 기록됩니다.
- 데몬 로그: 이 로그는 Bluetooth 및 SSH와 같은 백그라운드 서비스(또는 데몬)와 관련됩니다.
- 디버그 로그: 이 로그는 시스템과 syslogd에 기록되는 응용 프로그램에서 제공하는 디버깅 정보를 제공합니다.
- 커널 로그: 이 로그에는 Linux 커널과 관련된 활동 기록이 포함되어 있습니다.
- 시스템 로그: 이 로그는 시스템의 대부분의 글로벌 활동 유형을 포함하는 기록을 저장합니다.
- 실패 로그: 이 로그는 실패한 로그인 기록을 저장하므로 누군가 시스템 침입을 시도했는지 확인하는 데 특히 유용합니다.
귀하의 컴퓨터에는 /var/log에 저장된 애플리케이션 로그(예:Apache 로그 파일 또는 MySQL 로그 파일)가 있을 수도 있습니다. 디렉토리. ls 명령을 사용하면 현재 컴퓨터에 저장된 모든 로그 파일을 볼 수 있습니다:
ls /var/log Ubuntu에서 로그를 읽는 방법
이제 시스템의 다양한 유형의 로그에 익숙해졌으므로 로그에 저장되는 정보를 자세히 알아볼 준비가 되었습니다. 시작하기 전에 모든 시스템 로그가 같은 방식으로 작성되는 것은 아니라는 점을 알아 두는 것이 중요합니다.
일부 로그는 일반 텍스트 파일로 저장되고 다른 로그는 이진 파일로 저장됩니다. 시스템의 레코드를 효과적으로 구문 분석하려면 두 가지 유형의 파일과 함께 사용되는 명령줄 도구에 익숙해져야 합니다.
일반 텍스트 파일 로그는 RSYSLOG_TraditionalFileFormat이라는 템플릿을 사용하며 타임스탬프, 호스트 이름, 애플리케이션 및 메시지의 네 가지 기본 필드를 포함합니다. 예를 들어 커널 로그는 다음 템플릿을 사용합니다:
일반 텍스트 로그와 달리 바이너리 파일 로그는 쉽게 읽을 수 없습니다. who와 같은 명령줄 유틸리티를 사용해야 합니다. , 마지막 및 마지막 utmp, wtmp 및 btmp와 같은 로그를 각각 읽습니다. utmpdump와 같은 명령 utmp 변형 및 systemctl의 경우 Journald의 경우 바이너리 로그 정보를 읽을 수 있는 형식으로 인쇄하도록 설계되었습니다.
대부분의 상황에서는 터미널에서 이러한 로그를 효과적으로 구문 분석하는 방법을 아는 것이 중요합니다. grep 및 tail과 같은 명령을 사용하면 시스템 로그 전체를 힘들게 읽지 않고도 특정 정보를 가져올 수 있습니다.
사용할 수 있는 최고의 명령은 다음과 같습니다:
- grep: 파일에서 문자열을 검색합니다.
- 꼬리: 파일 끝에서 10줄을 인쇄합니다.
- 머리: 파일 시작 부분부터 10줄을 인쇄합니다.
- 정렬: 귀하의 사양에 맞게 재구성된 파일을 인쇄합니다.
utmpdump 및 systemctl과 같은 명령줄 도구에는 터미널에서 작업할 때 염두에 두어야 할 유용한 플래그도 있습니다. 이 플래그를 사용하면 명령을 수정하고 터미널에 인쇄되는 내용을 더 효과적으로 제어할 수 있습니다.
Journalctl 명령에 특히 유용한 플래그는 다음과 같습니다:
- -b: Journalctl이 마지막 재부팅 후에 수집된 항목만 반환하도록 합니다.
- --'YYYY-MM-DD HH:MM:SS'부터 --'YYYY-MM-DD HH:MM:SS'까지: 특정 날짜 이전 및/또는 이후 항목만 반환하도록 Journalctl에 지시합니다.
- -p NUM: syslog 우선 순위 수준(0/emerg ~ 7/debug 범위)을 기준으로 항목을 필터링합니다.
Ubuntu 로그 오류 문제 해결
이제 다양한 유형의 시스템 로그에 익숙하고 이를 효과적으로 읽는 방법을 알았으므로 이제 수집한 정보를 문제 해결 프로세스에 적용하는 일만 남았습니다. 이 과정에는 일반적으로 약간의 창의성이 필요합니다.
먼저 다루고 있는 문제의 두드러진 특징을 생각하여 문제 해결에 접근하는 것이 좋습니다. 특정 응용 프로그램을 열 때 문제가 발생합니까? 문제가 발생할 때마다 시스템이 충돌하고 재부팅됩니까?
문제의 특징을 생각해 보면 자연스럽게 문제에 대한 정보를 수집할 수 있는 최고의 로그로 연결될 것입니다. 예를 들어, 부팅 프로세스 중에 시스템에 문제가 있는 경우 저널드의 부팅 항목을 참조하여 유용한 정보를 얻을 수 있습니다.
저널에 기록된 모든 부팅을 인쇄하려면 다음 명령을 입력하십시오:
journalctl --list-boots 터미널은 기록된 부팅 목록을 인쇄합니다. 가장 최근의 부츠는 목록 하단에 표시됩니다. 오류가 발생한 기록된 부팅을 찾을 수 있을 때까지 각 부팅에 대해 기록된 날짜와 시간을 살펴보세요.
가장 왼쪽 열의 번호를 NUM으로 선택하고 다음 명령을 입력하여 부팅에 대한 자세한 정보를 확인하세요.
journalctl -b -NUM -n 부팅에 대한 포괄적인 정보 기록이 표시됩니다. 부팅 프로세스 중에 비정상적인 오류가 발생한 경우 이 기록의 정보를 사용하여 문제를 해결하는 데 한 단계 더 나아갈 수 있습니다.
다른 많은 문제에도 동일한 원칙이 적용됩니다. 그러나 컴퓨터에 발생한 문제에 대해 잘 모르는 경우 어디서부터 시작해야 할지 알기 어려울 수 있습니다. Ubuntu 시스템과 관련된 광범위한 문제에 특히 도움이 되는 몇 가지 로그가 있습니다.
syslog는 문제 해결 프로세스 중에 시작하기에 가장 좋은 로그입니다. 이는 사실상 글로벌 로그이기 때문에 현재 다루고 있는 문제에 대한 정보가 있을 가능성이 매우 높습니다. 인증(예:sudo 비밀번호가 작동하지 않는 오류 등) 또는 부팅에 문제가 있는 경우 auth.log를 확인하세요. 또는 boot.log .
문제와 관련된 키워드로 가장 관련성이 높은 로그를 검색하세요. 예를 들어, 인증하는 데 문제가 있는 경우 다음 명령을 사용하여 auth.log에서 기록을 가져올 수 있습니다:
cat /var/log/auth.log | grep 'Authentication failure' 결국에는 뛰어난 통찰력을 제공하는 정보를 찾을 수 있을 것입니다. 오류 로그의 정보를 웹 검색과 결합하면 시스템 문제를 즉시 해결하는 데 도움이 되는 리소스를 찾을 가능성이 매우 높습니다.
Linux 오류 문제 해결을 위한 온라인 리소스 참조
문제 해결 과정을 혼자 진행할 필요는 없습니다. 컴퓨터 문제에 대한 정보를 수집하면서 Ask Ubuntu와 같은 온라인 리소스와 MakeUseOf의 세부 가이드를 사용하여 최종적으로 PC를 진단하고 수리하는 데 더 가까워져야 합니다.