« Home | คำคม คำคน: ตอนที่ 1 "ความผิดพลาด" » | การใช้ Patch Manager ในเครื่อง Sun » | ลงเครื่อง Sun ใหม่ » | ปัญหาของแคเดนซ์บนเดเบียน Etch » | ติดตั้งเดเบียนบน IBM R50e : ตอนที่ ๒ » | สเปคเครื่องสำหรับวินโดวส์วิสต้า » | เวิร์ด-ทู-เท็กซ์ » | ติดตั้งเดเบียนบน IBM R50e : ตอนที่ ๑ » | ฮานาบิ » | ก้าวที่หนึ่ง » 

Tuesday, February 07, 2006 

ปัญหาการอัพเกรด Thailatex

หลายวันก่อนตอนสั่งอัพเกรดเครื่อง Debian ก็พบว่าแพคเกจ thailatex มีปัญหาไฟล์ทับซ้อนกับแพคเกจ tetex-base โดยขึ้นข้อผิดพลาดว่า
Preparing to replace thailatex 0.3.2 (using .../thailatex_0.3.2-0.1_all.deb) ...
No diversion `diversion of /usr/share/texmf/tex/generic/babel/babel.sty to /usr/share/texmf/tex/generic/babel/babel.sty.real by thailatex', none removed
Unpacking replacement thailatex ...
dpkg: error processing /var/cache/apt/archives/thailatex_0.3.2-0.1_all.deb (--unpack):
trying to overwrite `/usr/share/texmf/tex/generic/babel/babel.sty', which is also in package tetex-base
/var/lib/dpkg/tmp.ci/postrm: line 40: syntax error near unexpected token `fi'
dpkg: error while cleaning up:
subprocess post-removal script returned error exit status 2
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/thailatex_0.3.2-0.1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

ถ้าดูจากคำเตือนก็คือ thailatex ต้องการเขียนไฟล์ babel.sty ทับของเก่าซึ่งเดิมเป็นของ tetex-base การติดตั้งด้วย apt-get ไม่สามารถละเลยความไม่เข้ากันตรงนี้ได้ จึงต้องใช้คำสั่งในระดับลึกกว่า นั่นคือ dpkg ผนวกกับออพชันบังคับให้เขียนทับ ดังนี้
# sudo dpkg -i --force-overwrite /var/cache/apt/archives/thailatex_0.3.2-0.1_all.deb
ไม่แน่ใจว่านี่เป็นวิธีแก้ที่ถูกหรือไม่ แต่ก็ช่วยให้ลงผ่านได้