프린터: CUPS와 인쇄 명령
쉽게 말하면
리눅스에서 인쇄를 맡는 프로그램이 CUPS예요. 인쇄 요청을 대기 줄에 세워 두었다가 차례로 프린터에 보내요. 웹 브라우저로 관리 화면을 열어 프린터를 추가해요.
시험용 정의
CUPS(Common UNIX Printing System)는 리눅스의 표준 인쇄 시스템이다. IPP 프로토콜을 쓰고 631번 포트의 웹 관리 화면(http://localhost:631)에서 프린터를 추가·관리한다. 인쇄 작업은 스풀(/var/spool/cups)에 쌓였다가 차례로 출력된다.
비유로 이해하기
복사실 접수 창구다. 인쇄 요청을 번호표(작업 번호)와 함께 대기열(스풀)에 쌓아 두고 차례대로 프린터로 보낸다.
자세히
두 계열 명령이 있는 이유
유닉스는 크게 두 갈래로 발전했다. 캘리포니아 대학교 버클리의 BSD 계열과 AT&T의 System V 계열이다. 인쇄 명령도 두 갈래가 따로 만들어져서 BSD 쪽은 lpr·lpq·lprm, System V 쪽은 lp·lpstat·cancel을 썼다. 리눅스의 CUPS는 두 계열 명령을 모두 지원한다.
- 스풀: 프린터가 한 번에 하나씩만 찍을 수 있으니 인쇄 요청을 디스크(/var/spool/cups)에 줄 세워 두는 것. 이 줄이 인쇄 대기열(큐)이다
- IPP(Internet Printing Protocol): 네트워크로 인쇄 작업을 보내고 관리하는 표준 통신 규칙. CUPS가 631번 포트로 쓴다
- LPRng: CUPS 이전에 쓰던 BSD 방식 인쇄 시스템
BSD 계열 vs System V 계열
| 기능 | BSD 계열 | System V 계열 |
|---|---|---|
| 인쇄 | lpr 파일 | lp 파일 |
| 프린터 지정 | lpr -P 프린터 | lp -d 프린터 |
| 매수 | lpr -#3 (또는 -# 3) | lp -n 3 |
| 대기열 보기 | lpq | lpstat (-t 전체 상태) |
| 작업 취소 | lprm 작업번호 | cancel 작업번호 |
| 프린터 제어 | lpc | lpadmin (프린터 추가·설정) |
CUPS 설정
| cupsd | CUPS 데몬 (systemctl restart cups) |
| /etc/cups/cupsd.conf | 서버 설정 |
| /etc/cups/printers.conf | 등록된 프린터 정보 |
| http://localhost:631 | 웹 관리 화면 |
| lpadmin -p 이름 -E -v 장치URI -m 드라이버 | 명령으로 프린터 추가 |
| lpoptions -d 이름 | 기본 프린터 지정 |
| system-config-printer | CentOS 7 등 X 윈도에서 쓰는 GUI 프린터 설정 도구 |
예전 인쇄 시스템
CUPS 이전에는 BSD의 LPRng(BSD 계열 인쇄 시스템을 개선한 것)·lpd가 쓰였다. IPP(Internet Printing Protocol)는 네트워크로 인쇄 작업을 보내는 프로토콜이다. 기본 프린터는 환경 변수 PRINTER로도 지정할 수 있다.
시험에 이렇게 나와요
- 명령이 어느 계열인지 가르기(매 회): BSD = lpr, lpq, lprm, lpc / System V = lp, lpstat, cancel
- 인쇄 요청 → lpr(BSD)·lp(System V), 대기열 확인 → lpq·lpstat, 작업 취소 → lprm·cancel
- 리눅스 표준 프린터 시스템 → CUPS, 원격 인쇄 프로토콜 → IPP, LPRng는 BSD 계열
- X 윈도의 프린터 설정 도구 →
system-config-printer
확인 문제
Q1. 인쇄 대기열을 확인하는 명령으로 BSD 계열은 lpq를 쓴다. System V 계열에서 같은 역할을 하는 명령은?
- lprm
- cancel
- lpstat
- lpc
정답 보기
3번 lpstat
인쇄 명령은 두 계열이 있다. BSD: lpr(인쇄) · lpq(대기열) · lprm(취소) · lpc(제어). System V: lp(인쇄) · lpstat(상태·대기열) · cancel(취소). CUPS는 두 계열 명령을 모두 지원한다.
Q2. System V 계열 인쇄 명령이 아닌 것은?
- cancel
- lp
- lpr
- lpstat
정답 보기
3번 lpr
lpr이다. BSD 계열 인쇄 명령이다. lp(인쇄), lpstat(상태), cancel(취소)은 System V 계열이다.
Q3. BSD 계열에서 인쇄 대기열의 작업을 취소하는 명령은?
- lpstat
- lpc -r
- cancel
- lprm
정답 보기
4번 lprm
lprm. System V는 cancel.
Q4. CUPS 웹 관리 도구가 사용하는 포트 번호는?
- 515
- 631
- 8080
- 9100
정답 보기
2번 631
631 (IPP). 515는 옛 LPD.
Q5. System V 계열에서 인쇄 작업을 취소하는 명령은?
- lprm
- lpq
- lpc
- cancel
정답 보기
4번 cancel
cancel. BSD는 lprm.
Q6. report.txt를 laser 프린터로 3부 인쇄하는 BSD 계열 명령은?
- lpr -d laser -n 3 report.txt
- lp -d laser -n 3 report.txt
- lpq -P laser report.txt
- lpr -P laser -#3 report.txt
정답 보기
4번 lpr -P laser -#3 report.txt
BSD: -P 프린터, -# 매수.
헷갈리기 쉬운 O·X
lpq는 인쇄 대기열을 확인하는 BSD 계열 명령이다.
정답 보기
O 맞는 설명이다.
lp 명령에서 프린터를 지정하는 옵션은 -P다.
정답 보기
X lp는 -d, lpr이 -P.
CUPS는 IPP 프로토콜을 사용한다.
정답 보기
O Internet Printing Protocol.