เทคนิคแก้ปัญหาเมื่ออัพเดท Elastix แล้วเจอแพ็กเกจ Conflicts

Elastix IP Pbx

Moderator: jubjang

เทคนิคแก้ปัญหาเมื่ออัพเดท Elastix แล้วเจอแพ็กเกจ Conflicts

โพสต์โดย nuiz » 21 มิ.ย. 2014 15:24

เครื่องนี้ลง Elastix 2.4 ไว้นานแล้ว (หลายเดือน) เครื่องมันเก่าแล้วและไม่ได้ใช้งานก็เลยปิดเครื่องไว้ วันหนึ่งเปิดเครื่องเพื่อจะใช้เทสอะไรเล่นนิดๆหน่อยๆ ลองทำการอัพเดทด้วยคำสั่ง
โค้ด: เลือกทั้งหมด
yum -y update


ปรากฏว่าพอดาวน์โหลดเสร็จไฟล์เสร็จแล้วกำลังติดตั้ง มีข้อความฟ้อง error แบบนี้

โค้ด: เลือกทั้งหมด
--> Processing Conflict: elastix-framework conflicts elastix-system <= 2.4.0-2
--> Finished Dependency Resolution
elastix-framework-2.4.0-12.noarch from elastix-updates has depsolving problems
  --> elastix-framework conflicts with elastix-system
Error: elastix-framework conflicts with elastix-system
You could try using --skip-broken to work around the problem
You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest
The program package-cleanup is found in the yum-utils package.


แล้วก็หยุดการอัพเดทไป

สาเหตุ
ดูจากข้อความที่แสดงให้เห็น มี 2 แพ็กเกจมันขัดๆกันอยู่คือ elastix-system และ elastix-framework ครับ ซึ่ง elastix-system คือเมนู System ที่เราเห็นบนหน้าเว็บ Elastix นั่นแหล่ะครับ ส่วน elastix-framework คือภาพรวมๆทั้งหมดที่เราเห็นบนหน้าเว็บ

วิธีการแก้ไข
ลองทำตามคำแนะนำข้างบนดูครับ โดยการรันคำสั่งนี้
โค้ด: เลือกทั้งหมด
yum -y --skip-broken update

หลังจากผ่านไปสักพัก พบว่าไม่หายครับ เป็นเหมือนเดิมเลย

งั้นผมก็จะลองตามวิธีของผมคือถอนแพ็กเกจที่มันขัดกันออกก่อน การถอนแพ็กเกจให้ใช้คำสั่ง rpm -e ตามด้วยชื่อ package ครับ แต่ก่อนจะรู้ว่าจะใส่ชื่อแพ็กเกจว่าอะไรนั้นต้องเช็คด้วยคำสั่ง rpm -qa ดูก่อนครับ

โค้ด: เลือกทั้งหมด
rpm -qa| grep elastix-system

ผลลัพธ์ เจอ 2 แพ็กเกจ
elastix-system-2.4.0-11
elastix-system-2.4.0-1

** ก่อนจะทำตามคำสั่งต่อไปนี้ ให้แบ็คอัพไฟล์และดาต้าเบสไว้ก่อนครับ **
โค้ด: เลือกทั้งหมด
cp /etc/amportal.conf /etc/amportal.conf.backup
cp /etc/elastix.conf /etc/elastix.conf.backup
cd /home
mysqldump -uroot -p --all-databases > elastix-database.sql


จากนั้นเริ่มลงมือลบแพ็กเกจแรกก่อน อันที่เป็นเวอร์ชั่นต่ำกว่าหน่ะครับ
โค้ด: เลือกทั้งหมด
rpm -e elastix-system-2.4.0-1

ลบได้ไม่มีฟ้องอะไร แล้วลบอีกอันที่เหลือ
โค้ด: เลือกทั้งหมด
rpm -e elastix-system-2.4.0-11

อันนี้มี Error ครับ ตามนี้

error: Failed dependencies:
elastix-system >= 2.3.0-10 is needed by (installed) elastix-pbx-2.4.0-1.noarch
elastix-system is needed by (installed) elastix-security-2.4.0-1.noarch
elastix-system >= 2.4.0-1 is needed by (installed) elastix-2.4.0-1.noarch
elastix-system >= 2.3.0-10 is needed by (installed) elastix-pbx-2.4.0-7.noarch
elastix-system is needed by (installed) elastix-security-2.4.0-6.noarch
elastix-system >= 2.4.0-8 is needed by (installed) elastix-2.4.0-2.noarch

ฟ้อง Error เกี่ยวกับ dependency (แปลว่ามีโปรแกรมอื่นที่ต้องการแพ็กเกจนี้อยู่) งั้นต้องสั่งลบแบบไม่ต้องสนใจ dependency ด้วยคำสั่งนี้ครับ
โค้ด: เลือกทั้งหมด
rpm -e elastix-system-2.4.0-11 --nodeps

ผลลัพธ์
Delete System menus
The menus have been removed
Dump and delete elastix-system databases
Nothing to be done in database dashboard.
Nothing to be done in database FTP.
Nothing to be done in database hardware_detector.
Nothing to be done in database network.
Nothing to be done in database acl.
warning: /etc/dahdi/genconf_parameters saved as /etc/dahdi/genconf_parameters.rpmsave

แล้วอัพเดทใหม่อีกครั้ง
โค้ด: เลือกทั้งหมด
yum -y update

ก็จะอัพเดทได้แล้วครับ

แต่มีปัญหาเกิดขึ้นครับ ลองเข้าหน้าเว็บ Elastix ดู จะพบว่าแท็บ System หาย ซึ่งเป็นเพราะว่าเราลบแพ็กเกจ elastix-system ออกนั่นเองครับ วิธีเรียกแท็บ System ให้กลับมาเหมือนเดิมนั้นทำไม่ยากครับ ให้ติดตั้ง elastix-system ใหม่
โค้ด: เลือกทั้งหมด
yum -y install elastix-system

ระหว่างการติดตั้งจะเห็นข้อความต่างๆนาๆรวมทั้งมี Error บ้างนิดหน่อย ดูผ่านๆครับ

เอาไฟล์ที่แบ็คอัพไว้กลับคืนมา
โค้ด: เลือกทั้งหมด
mv /etc/amportal.conf /etc/amportal.conf.old
mv /etc/elastix.conf /etc/elastix.conf.old
cp /etc/amportal.conf.backup /etc/amportal.conf
cp /etc/elastix.conf.backup /etc/elastix.conf

ส่วนดาต้าเบสไม่ต้อง restore ครับเพราะดาต้าเบสไม่ได้เสียหาย ยังคงอยู่เหมือนเดิมทุกประการ

จะได้ Tab System กลับมาเหมือนเดิม

ทุกอย่าง OK แล้วครับ
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 6995
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

ย้อนกลับไปยัง Elastix - Unified Communications Software

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และ บุคคลทั่วไป 4 ท่าน

cron