Pacman -Syu ล้มเหลว `/ bin อยู่ใน filesystem`


14

ฉันพยายามอัพเกรดลินุกซ์ arch ของฉันด้วยpacman -Syuหลังจากกลับมาจากวันหยุดและตอนนี้ฉันได้รับข้อผิดพลาดนี้ที่ฉันไม่สามารถทำได้:

(133/133) checking for file conflicts              [######################] 100%
error: failed to commit transaction (conflicting files)
filesystem: /bin exists in filesystem
filesystem: /sbin exists in filesystem
filesystem: /usr/sbin exists in filesystem
Errors occurred, no packages were upgraded.

คุณมีความคิดว่ามีอะไรผิดปกติหรือไม่ การติดตั้ง arch linux ค่อนข้างใหม่ดังนั้นฉันไม่ได้คาดหวังว่าจะมีปัญหาในการอัพเกรดใด ๆ ...

คำตอบ:


20

ไบนารีได้ถูกย้ายไปที่ / usr / bin

คุณต้องเข้าใกล้การอัพเกรดในสองขั้นตอนตามบทความข่าว ขั้นแรกให้ลบหรืออัปเดตแพ็คเกจใด ๆ จาก repos ที่ไม่เป็นทางการจากนั้นอัปเดตระบบของคุณในสามขั้นตอนที่แตกต่างกัน:

pacman -Syu --ignore filesystem,bash
pacman -S bash
pacman -Su

หากคุณพบปัญหาใด ๆ จะมีเธรดยาวบนกระดาน Arch ที่มีการแก้ไข

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


2
คำสั่งสองคำสั่งเหล่านี้อาจมีประโยชน์เช่นกัน: grep '^\(bin\|sbin\|usr/sbin\)' /var/lib/pacman/local/*/files | cut -d ":" -f 1 | uniq | cut -d "/" -f 6แสดงรายการแพ็กเกจทั้งหมดที่เก็บไฟล์ใน / bin, / sbin หรือ / usr / sbin และfind /bin /sbin /usr/sbin -exec pacman -Qo -- {} + >/dev/nullแสดงรายการไฟล์ทั้งหมดในไดเรกทอรีเหล่านี้ที่ไม่ได้เป็นของแพ็คเกจใด ๆ
Torben

@jasonwryan คุณช่วยอธิบายได้ไหมว่าทำไมคุณระบุfilesystem,bashแทนที่จะเป็นเพียงแค่filesystem? ฉันวิ่งเข้าไปในนี้และแก้ไขมันโดยเพียงแค่ละเว้นระบบไฟล์เนื่องจากเป็นสิ่งเดียวที่ระบุไว้ในข้อความแสดงข้อผิดพลาดและทำงานได้ดี
Matijs

เหล่านี้คือคำแนะนำจากนักพัฒนา นอกจากนี้ถ้าคุณ b0rk ย้ายทุบตีแล้วคุณจะไม่สามารถที่จะบูต (หรือทำอะไรมากเลย) ...
jasonwryan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.