이번에는 Linux Observability with BPF라는 제목을 가진 올빼미과의 소쩍새가 매력적인 책을 리뷰하게 되었다.
리눅스를 접하고 관련 일을 한지는 오래되었지만 BPF라는 내용은 생소하여 호기심에 신청하게 되었다.
3장까지 책을 천천히 읽은 후 든 가장 먼저 든 느낌은 ...
* 번역의 아쉬움, 번역된 내용으로 인한 집중력 저하?
마치 대학 때 교재 중 커널을 알맹이라고 해석했던 그 시절 기억이 다시금 드는 번역이었다.
영문 발음을 그대로 번역해도 IT서적에서는 문제될 부분이 없어보이는데 굳이 이런단어까지 번역을 했어야 하나 싶을 정도였다.
예로 SpinLock을 회전 자물쇠라고 표현하고 있었다.
나만 그렇게 느꼈을 수도 있지만 스핀락 이라고 씌인 책들은 많이 봤었도 회전 자물쇠라고 쓴 책은 처음 접하게 되었다.
읽는 동안에 가끔은 원서를 보고 싶어지게 하는 전체적인 번역에 아쉬움이 남는 책이었다.
책의 내용은 eBPF(Extended Berkeley Packet Filter)를 소개한다.
BPF 프로그램 빌드 방법 및 커널과 유저단에서 데이터 공유를 할 수 있는 방법은 BPF맵에 대한 설명을 하고 있다.
개념도 없던 나는 3장까지의 내용을 보니 대략적인 감을 잡을 수 있었다.
이 책을 선택한 이유는 BPF 프로그램을 직접 만들어보겠다는 생각보다는 내용중에 tcpdump에 대한 동작사항이 어떻게 이뤄지는지 궁금하여 보게되었다.
간단한 설명 후 특정 인터페이스의 패킷을 필터링하는 예제도 설명하고 있었다.
일단은 글로만 보고 넘어갔는데, 향후 커널 빌드 환경 구축 후 테스트 바이너리를 만들어봐야겠다.
정리하면..
번역에 대한 아쉬움은 남지만
저자들이 원했던 독자가 일상 업무에서 리눅스 하위 시스템을 다루는데 필요한 기본적인 BPF개념들에 익숙해지는데 도움을 주기 위해 책을 썼다 라고 했다.
그 의도에는 맞아 떨어지는 책이라고 생각하며 리뷰를 정리한다.