ฉันกำลังพยายามเรียกใช้ yum update และตอนนี้มันไม่ทำงาน ... ฉันไม่เข้าใจว่าทำไม - นี่เป็นการตั้งค่าทั่วไปที่ค่อนข้างธรรมดาเพียงแค่ใช้งานเว็บพื้นฐาน บริการ:

[... tons of package updates...]

--> Running transaction check
---> Package libwayland-client.x86_64 0:1.14.0-2.el7 will be installed
---> Package libwayland-server.x86_64 0:1.14.0-2.el7 will be installed
---> Package lz4.x86_64 0:1.7.3-1.el7 will be installed
---> Package systemd-libs.i686 0:219-57.el7 will be an update
--> Processing Dependency: liblz4.so.1 for package: systemd-libs-219-57.el7.i686
--> Finished Dependency Resolution
--> Running transaction check
---> Package kernel.x86_64 0:3.10.0-693.5.2.el7 will be erased
---> Package kernel.x86_64 0:3.10.0-693.11.1.el7 will be erased
---> Package systemd-libs.i686 0:219-57.el7 will be an update
--> Processing Dependency: liblz4.so.1 for package: systemd-libs-219-57.el7.i686
--> Finished Dependency Resolution

Error: Package: systemd-libs-219-57.el7.i686 (base)
         Requires: liblz4.so.1
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

ใช้yum update --skip-brokenไม่ได้ผล และrpm -Va --nofiles --nodigestไม่ทำอะไรเลย

ใครมีความคิดวิธีการแก้ไขปัญหานี้? ฉันไม่สามารถอัปเดตเซิร์ฟเวอร์ได้เลย เพราะมันค้างอยู่ที่จุดนี้

answer

นี่คือขั้นตอนที่ฉันจะทำ:

yum list installed | grep liblz4

หากติดตั้งแล้ว:

sudo updatedb
locate liblz4.so.1
you should find a file called liblz4.so.1.7.5 or something like that.
copy that file to /usr/lib64
cd /usr/lib64
ln -s liblz4.so.1.7.5 liblz4.so.1
yum update

หากยังไม่ได้ติดตั้งให้ติดตั้งดังนี้:

yum install https://rpmfind.net/linux/centos/7.5.1804/os/x86_64/Packages/lz4-1.7.5-2.el7.x86_64.rpm

จากนั้นทำซ้ำขั้นตอนข้างต้น

เพียงตรวจสอบให้แน่ใจว่าหาก cpu arch ของคุณเป็น 64 บิต แสดงว่าคุณติดตั้งแพ็คเกจสำหรับ 64 บิต จากนั้นคุณวางไฟล์ไว้/usr/lib64แต่ถ้า cpu arch ของคุณเป็น 32 บิต คุณควรติดตั้งแพ็คเกจ 32 บิตแล้ววางไฟล์นั้น/usr/libแทน

นอกจากนี้ผมจะลองเอาทั้ง liblz และ systemd-libs yum updateและพยายามที่จะติดตั้งอีกครั้งและเรียกใช้

#แก้ไข

หลังจากการแชทของเรา ฉันแนะนำให้คุณติดตั้งแพ็คเกจต่อไปนี้:

lz4-1.7.5-2.el7.i686.rpm

อย่างที่ฉันเชื่อว่ามีบางอย่างปะปนกับliblz4.so.1เวอร์ชัน arch ของคุณและจนถึงตอนนี้ดูเหมือนว่าจะสามารถแก้ปัญหาของคุณได้เนื่องจากกระบวนการอัปเดตทำงานอย่างถูกต้อง

มีปัญหาเดียวกัน ฉันยังสังเกตเห็นว่าฉันมีสองแพ็คเกจที่ขัดแย้งกัน

Error: Package: systemd-libs-219-57.el7.i686 (base)
       Requires: liblz4.so.1

ดังนั้นฉันจึงดูผลลัพธ์ yum ต่อไปอีกเล็กน้อยและพบว่ากำลังพยายามอัปเกรดจาก---> Package systemd-libs.i686 0:219-42.el7_4.4จะได้รับการอัปเดต

ฉันก็เลย yum remove systemd-libs.i686

ในที่สุดก็แก้ไขให้ฉัน

ดูเหมือนว่าคุณกำลังใช้ EPEL พร้อมกับการติดตั้ง CentOS 7 ของคุณ คุณกำลังสะท้อน EPEL หรือไม่? แพ็คเกจ lz4 มีอยู่ใน repo ของคุณหรือไม่?

ดูhttps://rpmfind.net/linux/RPM/epel/7/x86_64/Packages/l/lz4-1.7.3-1.el7.x86_64.html

ฉันได้จัดการกับปัญหานี้มาหลายเดือนแล้วและในที่สุดก็ได้รับการแก้ไข

ฉันลองใช้วิธีแก้ปัญหาที่แนะนำทั้งหมดแล้วไม่มีประโยชน์

ในกรณีของฉันมีข้อผิดพลาดอยู่เสมอ:

Error: Package: systemd-libs-219-57.el7.i686 (base)
         Requires: liblz4.so.1
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest.

ในที่สุดฉันก็สังเกตเห็นว่าในระหว่างการพยายามอัปเดต มีการเตือนในช่วงแรกของขั้นตอน:

227 packages excluded due to repository priority protections

ในกรณีของฉัน วิธีแก้ไขปัญหานี้คือแก้ไข/etc/yum/pluginconf.d/priorities.conf:

การเปลี่ยนแปลง "เปิดใช้งาน = 0" กับ "เปิดใช้งาน = 1" yum updateแล้ววิ่ง

จากนั้น แพ็คเกจและการอ้างอิงทั้งหมดได้รับการติดตั้งอย่างถูกต้อง

ไม่แน่ใจว่าสิ่งนี้จะช่วยคนอื่นได้หรือไม่ - แต่มันช่วยแก้ปัญหาให้ฉันได้

ความคิดเห็นเพิ่มเติม - ฉันได้ลองทำตามขั้นตอนนี้บน 2 เซิร์ฟเวอร์ที่มีปัญหาเดียวกัน - ใช้งานได้ทั้งสองครั้ง

จริง ๆ แล้วฉันมี 3 เซิร์ฟเวอร์ที่มีการกำหนดค่า CentOS 7 เหมือนกัน

เหตุผลที่มีเพียงหนึ่งในสามเซิร์ฟเวอร์เท่านั้นที่สามารถติดตั้งการอัปเดตให้เสร็จสมบูรณ์โดยไม่มีปัญหายังคงเป็นเรื่องลึกลับสำหรับฉัน

ฉันมีปัญหานี้ซึ่งเกิดจากข้อขัดแย้งที่เกิดจากแพ็คเกจ google-chrome ที่ติดตั้งในระบบของฉัน ดังนั้นฉันจึงลบ google-chrome และปัญหาก็ถูกลบออก