컴퓨터에 기능 문제가 발생하고 근본 원인이 불분명할 때 발생하는 분노는 많은 사람들이 우분투를 사용하는 동안 겪었던 곤경입니다. 모든 문제를 즉시 해결할 수 있는 것은 아니지만, 우분투 오류 로그에 액세스하면 이러한 딜레마를 조사하고 해결하는 데 유용한 통찰력을 얻을 수 있습니다.

우분투 로그란 무엇인가요?

우분투 로그 파일은 컴퓨팅 장치에서 일어나는 모든 일에 대한 철저한 기록을 유지합니다. 여기에는 하드웨어 구성, 운영 체제 세부 정보 및 특정 소프트웨어 정보에 관한 데이터가 포함됩니다.

로그는 디버깅 및 분석 목적에 없어서는 안 될 도구로서 타임스탬프, 컨텍스트, 시스템 전체에서 발생하는 활동에 대한 포괄적인 이해와 같은 통찰력을 제공합니다. 이러한 로그를 최대한 활용하기 위해서는 먼저 필수 로그 유형을 숙지하는 것이 중요합니다.

우분투 로그 유형

우분투는 모든 정보를 단일 레코드에 통합하지 않고 각각 다른 목적을 달성하기 위해 다각적인 로그 시스템을 유지합니다. 이러한 로그의 전체 목록은 이 설명서의 범위를 초과하지만, 진단 작업을 시작하기 전에 몇 가지 중요한 로그와 해당 범주를 숙지하는 것이 필수적입니다.

시스템 저널은 다양한 Linux 서비스를 관리하는 데 필수적인 구성 요소이므로 다양한 운영 프로세스와 관련된 수많은 이벤트를 기록합니다. journalctl 명령을 통해 이 로그에 액세스할 수 있습니다.

시스템 로그 파일은 시스템 알림을 포함하여 우분투의 다양한 구성 요소를 참조하므로 중요한 역할을합니다. 그 안에서 다음과 같은 기록을 찾을 수 있습니다:

권한 부여와 관련된 감사 추적은 권한 부여 로그에 문서화되어 있으며, 여기에는 승인이 필요하고 책임을 위해 모니터링 및 검토해야 하는 수퍼유저 명령 또는 사용자 로그인 작업과 같은 활동이 포함됩니다.

데몬 로그는 블루투스 및 SSH를 포함하되 이에 국한되지 않는 다양한 백그라운드 프로세스의 기능을 문서화합니다.

디버그 로그는 운영 체제와 로깅 목적으로 syslogd를 사용하는 소프트웨어 프로그램 모두에서 디버깅 정보를 얻기 위한 수단으로 사용됩니다.

Linux 커널과 관련된 활동에 대한 시스템 로그는 커널 로그에 기록됩니다.

시스템 로그는 다양한 글로벌 이벤트를 포함하여 시스템 내에서 발생하는 다양한 활동에 대한 포괄적인 기록을 유지합니다.

이 글도 확인해 보세요:  Iotas: 넥스트클라우드 노트와 동기화되는 마크다운 기반 노트 필기 Linux 앱

감사 로그는 실패한 로그인 시도에 대한 기록으로, 잠재적인 사이버 보안 침해를 식별하는 데 중요한 정보를 제공합니다.

앞서 언급한 컴퓨터에는 “/var/log” 디렉터리에 보관되는 Apache 또는 MySQL에서 생성된 로그와 같은 애플리케이션 로그가 있을 수 있습니다. 시스템에 있는 로그 파일의 전체 목록을 얻으려면 ‘ls’ 명령을 사용하면 됩니다.

ls /var/log

우분투에서 로그를 읽는 방법

시스템에 존재하는 다양한 로그 카테고리를 이해했으므로 이제 해당 로그에 포함된 데이터를 탐색할 수 있습니다. 모든 시스템 로그가 똑같이 생성되는 것은 아니므로 그에 따라 내용이 다를 수 있다는 점에 유의할 필요가 있습니다.

일반 텍스트 및 바이너리 로그 형식은 다양한 방식으로 로그를 저장하는 데 사용되며, 시스템 내에 기록된 데이터를 능숙하게 조사하고 분석하려면 관련 명령줄 도구와 함께 각각의 고유한 기능을 이해하는 것이 필수적입니다.

일반 텍스트 파일 로깅 관행에서는 타임스탬프, 호스트 이름, 애플리케이션, 메시지 등 네 가지 기본 필드로 구성된 RSYSLOG\_TraditionalFileFormat 템플릿의 활용이 잘 알려져 있습니다. 이러한 구현의 눈에 띄는 사례는 커널 로그에서 확인할 수 있습니다.

바이너리 파일 로그는 일반 텍스트 로그와 달리 쉽게 열람할 수 없다는 점에서 다릅니다. utmp, wtmp, btmp와 같은 바이너리 파일에서 인사이트를 얻으려면 ‘who’, ‘last’, ‘lastb’와 같은 명령줄 도구를 사용해야 합니다. 또한, 바이너리 로그 데이터를 이해하기 쉬운 방식으로 표시하기 위해 utmp 변형을 위한 ‘utmpdump’, journald를 위한 ‘systemctl’과 같은 명령이 만들어졌습니다.

로그 파일에서 데이터를 탐색하고 추출하는 데 능숙해지는 것은 복잡한 시스템을 관리하는 데 있어 매우 중요한 기술입니다. grep 및 tail과 같은 명령줄 도구를 사용하면 수동으로 스크롤하는 데 많은 시간을 소비하지 않고도 방대한 로그 아카이브에서 관련 정보를 빠르게 찾고 검색할 수 있습니다.

몇 가지 매우 효과적인 명령어를 활용할 수 있습니다:

Grep은 사용자가 하나 이상의 파일 내에서 특정 패턴이나 문자열을 검색할 수 있는 명령줄 유틸리티입니다. 이 유틸리티는 일반적으로 Unix 및 Linux 운영 체제뿐만 아니라 셸 스크립트 활용을 지원하는 기타 환경에서 사용됩니다. Grep은 지정된 입력 파일에서 줄을 읽고 지정된 패턴과 일치시키는 방식으로 검색 작업을 수행합니다. 그런 다음 결과는 화면에 표시되거나 추가 분석 또는 처리를 위해 출력 파일에 저장됩니다.

이 글도 확인해 보세요:  USB 마우스 또는 키보드로 Linux PC를 절전 모드에서 빠져나오도록 설정하는 방법

“tail” 명령은 파일의 끝부분에서 지정된 수의 줄을 인쇄하는 데 사용됩니다.

“head” 명령은 파일의 시작 부분에서 처음 10줄의 텍스트를 추출하여 인쇄하는 데 사용됩니다.

지정된 배열에 따라 파일을 정렬하는 유틸리티는 ‘sort’라는 프로그램으로 수행할 수 있습니다.

`utmpdump` 및 `systemctl`과 같은 명령줄 도구를 사용할 때는 명령을 조작하고 터미널 환경에 표시되는 출력을 더 잘 제어하는 데 사용할 수 있는 다양한 플래그를 숙지하는 것이 필수적입니다.

`journalctl` 명령 내에서 특정 플래그를 사용하면 매우 유용하게 사용할 수 있습니다. 이러한 특정 플래그를 서로 함께 사용하면 사용자가 시스템 저널을 효과적으로 모니터링하고 관리할 수 있으므로 발생할 수 있는 문제를 더 잘 이해하고 문제를 해결할 수 있습니다.

`journalctl`의 `-b` 옵션은 출력을 가장 최근 시스템 부팅 이후 수집된 항목으로 제한합니다.

“–since ‘YYYY-MM-DD HH:MM:SS’ –until ‘YYYY-MM-DD HH:MM:SS'” 옵션은 지정된 날짜 및 시간 이전 또는 이후에 발생한 이벤트를 표시하도록 journalctl에 지시합니다.

`-p` 옵션을 사용하면 `0/긴급`에서 `7/디버그`에 이르는 우선순위에 따라 시스템 로그 메시지를 필터링할 수 있습니다.

우분투 로그로 오류 해결

로그 형식에 대한 포괄적인 이해와 효율적인 분석 능력을 갖추면 이제 문제 해결을 위해 이 지식을 활용할 수 있습니다. 문제 해결 절차에는 일반적으로 상상력을 발휘한 접근 방식이 필요합니다.

문제를 해결할 때는 먼저 당면한 문제의 두드러진 특징을 고려하여 문제 해결 프로세스를 시작하는 것이 좋습니다. 예를 들어, 특정 프로그램이나 애플리케이션을 열 때 문제가 발생하나요? 문제가 나타날 때마다 시스템이 충돌하고 다시 시작되는 경향이 있나요?

문제와 관련된 속성을 고려하면 귀중한 인사이트를 제공할 수 있는 수많은 정보 로그 파일을 발견할 수 있습니다. 예를 들어, 기술 시스템이 초기화 단계에서 어려움을 겪는 경우 저널에 저장된 저널 레코드는 당면한 문제를 분석하고 해결하는 데 필요한 관련 데이터를 제공할 수 있습니다.

journalctl --list-boots

단말기에 과거 로그인 목록이 표시되며 가장 최근에 등록된 로그인이 등록 목록 하단에 표시됩니다.오류 발생과 일치하는 로그인 날짜 및 시간을 찾을 때까지 각 로그인에 대한 등록 날짜 및 시간을 검사합니다.

이 글도 확인해 보세요:  Linux에서 /etc/group 파일 이해하기

주어진 명령은 테이블의 첫 번째 열에서 숫자 값을 추출하도록 요청하고 있으며, 이 열은 “NUM”이라고 합니다. 부팅에 관한 추가 세부 정보를 얻으려면 제공된 명령을 친절하게 입력하세요.

journalctl -b -NUM -n

부팅 작업과 관련된 데이터의 전체 레지스터가 표시됩니다. 초기화 중에 흔하지 않은 오류가 발생하는 경우 이 레지스트리에 컴파일된 세부 정보는 이러한 문제를 조사하고 해결하는 데 유용한 출발점이 됩니다.

앞서 언급한 원칙은 다른 많은 사안에도 적용됩니다. 그러나 컴퓨터가 직면한 문제에 익숙하지 않은 경우 적절한 시작점을 결정하기가 어려울 수 있습니다. 우분투 시스템과 관련된 다양한 문제를 해결하는 데 특히 유용한 로그 파일 몇 가지가 확인되었습니다.

Syslog는 기술적 문제를 진단하고 해결하려고 할 때 귀중한 리소스입니다. 글로벌 로그라는 포괄적인 특성으로 인해 당면한 문제와 관련된 정보가 포함될 가능성이 높습니다. 수퍼유저 비밀번호를 입력하기 어렵거나 시작 시 문제가 발생하는 등 인증 오류가 발생하는 경우 auth.log 및 boot.log를 참조할 것을 권장합니다.

OAuth2 또는 OpenID Connect와 같은 보안 인증 메커니즘을 사용하여 사용자를 인증하세요. 애플리케이션에서 이러한 메커니즘을 구현하고 원활한 사용자 인증을 위해 적절하게 구성하세요.

cat /var/log/auth.log | grep 'Authentication failure'

오류 로그와 온라인 소스에서 정보를 수집하는 과정을 통해 귀중한 인사이트를 발견할 가능성이 높습니다.

Linux 오류 문제 해결을 위한 온라인 리소스 참조

기술적 어려움을 혼자서 해결해야 하는 고된 시련을 견뎌낼 필요는 없습니다. 컴퓨팅 장치와 관련된 문제를 조사하는 동안 진단 및 해결 프로세스를 신속하게 처리하기 위해 ‘우분투에게 물어보세요’와 같은 온라인 포럼과 All Things N에서 제공되는 종합 매뉴얼을 참조하는 것이 좋습니다.

By 최은지

윈도우(Windows)와 웹 서비스에 대한 전문 지식을 갖춘 노련한 UX 디자이너인 최은지님은 효율적이고 매력적인 디지털 경험을 개발하는 데 탁월한 능력을 발휘합니다. 사용자의 입장에서 생각하며 누구나 쉽게 접근하고 즐길 수 있는 콘텐츠를 개발하는 데 주력하고 있습니다. 사용자 경험을 향상시키기 위해 연구를 거듭하는 은지님은 All Things N 팀의 핵심 구성원으로 활약하고 있습니다.