Computer >> 컴퓨터 >  >> 스마트폰 >> Linux

리눅스에서 PNG 파일 압축하는 방법 – pngcrush 활용 가이드

이 가이드에서는 완전히 무료이자 오픈 소스인 소프트웨어를 사용해 리눅스에서 PNG 이미지·그래픽 파일을 압축하는 방법을 소개합니다.

콘텐츠가 많은 블로그나 웹사이트를 운영하다 보면 이미지 때문에 페이지 로딩 속도가 느려지는 경우가 종종 있습니다. 속도를 개선할 수 있는 방법은 여러 가지가 있지만, 웹사이트 로딩 과정을 분석해 보면 이미지가 전체 로딩 시간에서 상당히 큰 비중을 차지한다는 사실을 알 수 있습니다. 이번 글에서는 .png 이미지를 압축해 이 수치를 개선하는 방법을 살펴보겠습니다.

여기서 사용할 도구는 pngcrush입니다. pngcrush는 이름 그대로 PNG 이미지를 압축해 주는 무료 오픈 소스 명령줄 도구입니다. 자세한 사용법은 프로젝트 공식 웹사이트에서 확인할 수 있으며, 이 글에서는 기본적인 사용법만 다룹니다.

pngcrush 설치하기

Fedora, Ubuntu 등 대부분의 최신 리눅스 배포판은 기본 저장소에서 pngcrush를 바로 제공합니다. Ubuntu에서 설치하려면 다음 명령어를 실행하세요:

# sudo apt-get install pngcrush

Fedora에서는 다음과 같이 입력합니다:

# yum install pngcrush

pngcrush 사용법

pngcrush는 PNG 파일의 IDAT 청크(chunk) 크기를 줄이는 방식으로 이미지를 최적화합니다. 이 과정은 원래 상당히 복잡하지만, 다행히 pngcrush 개발자들이 사용자를 위해 작업을 단순화해 두었습니다. 특히 유용한 옵션이 바로 -brute입니다. 이 옵션을 사용하면 pngcrush가 해당 이미지에 가장 적합한 압축 방식을 자동으로 찾아 시도합니다. 사용 가능한 필터가 약 114가지에 달하기 때문에 이 옵션은 매우 강력합니다. 실제로 이미지를 압축하는 방법은 다음과 같습니다:

# pngcrush -brute -e ".compressed.png" image01.png

여기서 사용된 두 가지 옵션은 앞서 설명한 -brute-e입니다. -e 옵션은 압축된 파일 이름에 추가할 확장자를 지정합니다. 따라서 압축 작업이 끝나면 image01.png의 압축 버전은 image01.compressed.png라는 이름으로 저장됩니다. 확장자는 원하는 대로 변경할 수 있습니다.

위 명령어를 조금만 수정하면 디렉터리 안의 여러 PNG 파일을 한 번에 압축할 수도 있습니다. 다음 명령어를 실행해 보세요:

# pngcrush -brute -d "/var/www/html/website/images/" *.png

위 명령어에는 새로운 옵션인 -d가 사용되었습니다. 이 옵션은 압축이 완료된 이미지 파일을 저장할 위치를 지정합니다. 즉, 위 명령어는 현재 디렉터리의 모든 PNG 파일을 압축한 뒤 /var/www/html/website/images/ 폴더에 저장합니다.

압축 속도를 더 높이거나 더 나은 결과를 얻고 싶다면, 프로젝트 공식 웹사이트에서 다양한 옵션에 대한 자세한 내용을 확인해 보시기 바랍니다. 새로 압축한 이미지를 웹사이트에 적용하면 페이지 로딩 속도가 눈에 띄게 빨라지는 것을 확인할 수 있을 것입니다.

Windows나 macOS 환경에서 PNG를 압축해야 하는 경우에도 걱정하지 마세요. 해당 운영체제를 위한 압축 방법도 별도로 안내해 드립니다.