이 명령들은 매일 입력하는 명령이 아니라 TeX 설치의 일관성을 유지하는 유지보수 도구입니다. updmap과 kanji-config-updmap은 “어떤 글꼴을 PDF에 임베드할지”를 관리하고, mktexlsr와 fmtutil은 TeX가 의존하는 데이터베이스와 미리 생성된 포맷을 갱신합니다. 글꼴이나 패키지를 수동으로 설치한 뒤, 또는 무언가 “찾을 수 없다”는 상황에서 사용합니다.
유지보수 도구는 “찾기”, “임베드”, “시작”을 고친다
TeX 유지보수는 실패를 세 계층으로 나누면 훨씬 명확해집니다. 설치한 파일을 찾지 못하면 파일 이름 데이터베이스를 의심합니다. PDF에 잘못된 글꼴이 임베드되면 글꼴 맵을 의심합니다. 엔진이 시작 시 .fmt를 불러오지 못하면 포맷 파일을 의심합니다. mktexlsr, updmap, fmtutil은 각각 이 세 계층을 고치는 도구입니다. 모든 것을 무작정 실행하기 전에 어느 계층이 망가졌는지 먼저 정하면 공유 환경과 CI 이미지를 예측 가능하게 유지할 수 있습니다.
updmap — 글꼴 맵 관리
DVI 드라이버(dvips, dvipdfmx)와 pdftex은 TeX의 글꼴 이름과 실제 글꼴 파일의 대응, 그리고 임베드 방법을 글꼴 맵에서 알아냅니다. updmap은 활성화된 맵 파일과 옵션을 모아 합성 맵을 다시 생성하는 명령입니다. 새 글꼴의 맵을 활성화한 뒤 실행합니다. updmap-sys 는 시스템 전체 설정(관리자 권한 필요)에 작용하고, updmap 은 사용자별 설정에 작용하며 시스템 설정을 덮어씁니다.
설정은 --setoption KEY VALUE 로 updmap.cfg에 쓰고, 맵은 --enable Map foo.map / --disable로 추가하거나 제거합니다. 변경 후 updmap(또는 updmap-sys)을 실행하면 반영됩니다. 실무상 규칙은 사용자 설정과 시스템 설정을 섞지 않는 것입니다. 공유 머신이나 CI에서는 updmap-sys로 통일하고, 일반 updmap은 개인 실험에만 둡니다. 그러면 “한 작성자만 다른 글꼴을 받는” 실패를 피할 수 있습니다.
updmap-sys --enable Map myfont.map # マップを有効化 / enable a map
updmap-sys # 合成マップを再生成 / regenerate the mapskanji-config-updmap — 임베드할 일본어 글꼴 선택
일본어(CJK) 임베드 글꼴은 dvi→pdf 변환(dvipdfmx) 단계에서 결정됩니다. 이를 쉽게 고르는 도구가 kanji-config-updmap(texjporg)입니다. 내부적으로는 updmap의 jaEmbed 옵션(이전 kanjiEmbed)을 설정하고, 자주 쓰이는 일본어 글꼴을 찾아 전환합니다. status로 현재 설정을 확인하고, auto로 자동 선택하며, 글꼴 계열 이름(예: ipaex, hiragino-pron, noto-otc)을 넘기면 그 계열로 전환합니다.
kanji-config-updmap-sys status # 現在の和文フォントを表示 / show the current font
kanji-config-updmap-sys ipaex # IPAex フォントを埋め込む設定に / embed IPAexmktexlsr / texhash — 파일 이름 데이터베이스 갱신
TeX은 kpathsea 라이브러리와 ls-R 파일 이름 데이터베이스를 사용해 큰 texmf 트리 안에서 필요한 파일을 빠르게 찾습니다. 파일을 texmf 트리에 수동으로 넣기만 하면 TeX은 그것을 저절로 인식하지 않습니다. mktexlsr(별칭 texhash)로 ls-R을 다시 만들면 새 파일을 찾을 수 있게 됩니다.
mktexlsr # ls-R を再構築(= texhash)/ rebuild ls-R (same as texhash)fmtutil — 포맷 재생성
pdflatex 같은 명령은 시작할 때 포맷 파일(.fmt, 예: latex.fmt) 을 불러옵니다. 이는 포맷(예: LaTeX)을 불러온 직후의 엔진 상태를 통째로 저장한 것으로, 매번 처음부터 다시 읽지 않고 빠르게 시작하기 위한 장치입니다. fmtutil은 이 .fmt 파일들을 다시 생성합니다. 포맷에 영향을 주는 변경을 했을 때, 또는 .fmt가 없거나 손상되어 “can’t find the format file” 오류가 날 때 사용합니다. fmtutil-sys 는 시스템 트리에 작용하고, fmtutil --byfmt latex는 하나만, fmtutil-sys --all은 전부 다시 만듭니다. 일반 패키지를 추가할 때마다 실행하는 것이 아니라, 엔진 시작 문제를 고치는 마지막 유지보수 수단으로 생각합니다.
fmtutil --byfmt pdflatex # pdflatex の .fmt を作り直す / rebuild just pdflatex
fmtutil-sys --all # すべてのフォーマットを再生成 / rebuild every format고칠 순서 정하기
kpsewhich mypackage.sty가 파일을 찾지 못하면 TEXMF 안의 위치와mktexlsr가 필요한지 확인합니다.- PDF의 일본어 글꼴만 이상하면 먼저
kanji-config-updmap-sys status로 현재jaEmbed를 확인합니다. - 새로 설치한 서양 글꼴만 이상하면 해당
.map이updmap-sys --enable Map ...으로 활성화되었는지 확인합니다. - 엔진이 시작 전 누락된 포맷 메시지와 함께 멈추면
fmtutil --byfmt로 그 포맷만 다시 만듭니다.
언제 필요한가
- 글꼴을 수동으로 설치함 →
updmap(일본어 임베드는kanji-config-updmap). - 파일이나 패키지를 texmf에 수동으로 넣음 →
mktexlsr(texhash). - 포맷 관련 항목을 바꿈 /
.fmt가 손상됨 →fmtutil. - 보통 TeX Live 관리자
tlmgr가 이들을 대신 호출하므로, 수동 실행은 유지보수 때만 합니다.