เกิดข้อผิดพลาดในการอัปเดต Pacman 4: โซลูชัน

นักพัฒนาของ Arch ลินุกซ์ ได้ประกาศอย่างเป็นทางการถึงการรวม Pacman 4 อย่างตรงไปตรงมาในการกระจายและในที่เก็บฐานที่เรียกว่าแกนซึ่งเป็นสิ่งที่โดดเด่นโดยเฉพาะ รองรับแพ็คเกจที่ลงนาม ที่ให้การรับประกันอีกมากมายแก่ผู้ใช้เกี่ยวกับที่มาและความถูกต้องที่แท้จริง (นอกเหนือจากด้านความปลอดภัย)

อย่างไรก็ตามพวกเราหลายคนมี ปัญหาที่เกิดขึ้น สำหรับ ปรับปรุง ระบบของเราหลังจากการเปลี่ยนแปลงนี้ นี่คือแนวทางแก้ไข ...


เมื่อรันคำสั่งเพื่ออัพเดตระบบ:

pacman -Syu

มีดังต่อไปนี้:

:: ต้องอัปเดตแพ็คเกจต่อไปนี้ก่อน:
Pacman
:: คุณต้องการยกเลิกการดำเนินการปัจจุบัน
:: และอัปเดตแพ็คเกจเหล่านี้เลยหรือไม่? [Y / n]

เมื่อยอมรับสิ่งที่คล้ายกับสิ่งนี้จะปรากฏขึ้น:

การแก้ปัญหาการพึ่งพา ...
ตรวจสอบข้อขัดแย้ง ...
ข้อผิดพลาด: ข้อผิดพลาดในการเตรียมธุรกรรม (ไม่สามารถตอบสนองการอ้างอิง)
:: package-query: ต้องการ pacman <3.6

ข้อผิดพลาดเกิดขึ้นเนื่องจากปัญหาการอ้างอิงสำหรับแพ็คเกจ (ในกรณีนี้คือ package-query) วิธีแก้ปัญหาคือการลบแพ็กเกจที่ขัดแย้งกันและการอ้างอิงทั้งหมดออกจากระบบ

pacman -Rsc แพ็คเกจแบบสอบถาม

ซึ่งขึ้นอยู่กับแพ็คเกจต่อไปนี้:

ตรวจสอบการอ้างอิง ...
(3) จะถูกลบ: yaourt-0.10.2-1 [0,22 MB] package-query-0.9-1 [0,07 MB] yajl-2.0.4-1 [0,22 MB] ขนาดทั้งหมดที่ลบออก: 0,52, XNUMX MB
คุณต้องการลบแพ็คเกจเหล่านี้หรือไม่ [Y / n]

จากนั้นอัปเดต Pacman:

แพคแมน -S แพคแมน

เฮ้! Yaourt ลงเอยที่ไหน

เปลี่ยนไฟล์การกำหนดค่า Pacman

เมื่อติดตั้ง Pacman 4 ระบบจะแจ้งเตือนให้เราสร้างไฟล์กำหนดค่าใหม่ใน pacman.conf.pacnew

สิ่งที่คุณต้องทำคือแทนที่ไฟล์คอนฟิกูเรชันที่ใช้อยู่ในปัจจุบันด้วยไฟล์ใหม่นี้ ในการดำเนินการนี้ก่อนอื่นให้สำรองข้อมูลเก่าด้วย:

mv /etc/pacman.conf /etc/pacman.conf.old

จากนั้นเปลี่ยนชื่อไฟล์ใหม่:

mv /etc/pacman.conf.pac ใหม่ /etc/pacman.conf

ในที่สุดฉันก็เปิดไฟล์:

นาโน /etc/pacman.conf

…และ เพิ่มที่เก็บที่ไม่เป็นทางการ ที่คุณมีใน pacman.conf เก่า (เช่นใน yaourt เป็นต้น) วิธีที่ง่ายที่สุดคือการวางสิ่งต่อไปนี้ที่ท้ายไฟล์:

[archlinuxfr] เซิร์ฟเวอร์ = http://repo.archlinux.fr/$arch

นี่เป็นช่วงเวลาในการติดตั้งแพ็กเกจที่เรานำออกในส่วนก่อนหน้านี้อีกครั้ง (yaourt, package-query ฯลฯ )

pacman -S yaourt แพ็คเกจแบบสอบถาม

เปิดใช้งานคีย์ PGP

Pacman 4 มีความแปลกใหม่ในการต้องการไฟล์ที่มีลายเซ็น (PGP) หลังจากติดตั้งแล้วระบบจะเตือนคุณด้วยคำเตือนต่อไปนี้: « >>> Run` pacman-key –init` เพื่อตั้งค่าพวงกุญแจ Pacman ของคุณ»

ฉันเปิดไฟล์คอนฟิกูเรชันใหม่ /etc/pacman.conf:

นาโน /etc/pacman.conf

ค้นหาบรรทัด "SigLevel = Optional TrustedOnly" และไม่ใส่ข้อคิดเห็น จากนั้นแสดงความคิดเห็นในบรรทัด "SigLevel = Never"

ควรมีลักษณะดังนี้:

# การตรวจสอบลายเซ็น PGP
# หมายเหตุ: สิ่งนี้จะไม่ทำงานโดยไม่ต้องเรียกใช้ "pacman-key --init" ก่อน
# การคอมไพล์ในค่าเริ่มต้นจะเทียบเท่ากับบรรทัดต่อไปนี้ สิ่งนี้ต้องการ
# คุณลงนามและเชื่อถือคีย์แพ็กเกจในเครื่องโดยใช้ "คีย์แพ็กแมน" เพื่อให้เป็น
# ถือว่าใช้ได้
SigLevel = TrustedOnly เสริม
# หากคุณต้องการตรวจสอบลายเซ็น แต่หลีกเลี่ยงปัญหาการลงชื่อและความน่าเชื่อถือในท้องถิ่นให้ใช้
# บรรทัดต่อไปนี้ สิ่งนี้จะถือว่าคีย์ใด ๆ ที่นำเข้ามาในพวงกุญแจของแพ็กแมนเป็น
# ที่ไว้วางใจ.
#SigLevel = TrustAll ที่เป็นทางเลือก
# สำหรับตอนนี้ให้ปิดโดยค่าเริ่มต้นเว้นแต่คุณจะอ่านด้านบน
#SigLevel = ไม่เคย

อย่าลืมยกเลิกการใส่ข้อคิดเห็นบรรทัด SigLevel ในที่เก็บ ควรมีลักษณะดังนี้:

[core] SigLevel = PackageRequired
รวม = /etc/pacman.d/mirrorlist
[extra] SigLevel = PackageOptional
รวม = /etc/pacman.d/mirrorlist
[community] SigLevel = PackageOptional
รวม = /etc/pacman.d/mirrorlist

บันทึกการเปลี่ยนแปลงและปิดไฟล์

ตอนนี้เริ่มคีย์ PGP ด้วย:

Pacman-key --init

ตามที่แนะนำใน Arch wiki ขั้นตอนที่แนะนำคือการแก้ไขไฟล์คอนฟิกูเรชันของคีย์ PGP เพื่อหลีกเลี่ยงปัญหาเมื่ออิมพอร์ต:

นาโน /etc/pacman.d/gnupg/gpg.conf

แทนที่บรรทัด "keyserver hkp: //keys.gnupg.net" ด้วย "keyserver hkp: //pgp.mit.edu" (ไม่มีเครื่องหมายอัญประกาศ)

สุดท้ายคุณจะต้องดาวน์โหลดคีย์เท่านั้น เพื่อหลีกเลี่ยงการดาวน์โหลดทีละ 1 บนวิกิขอแนะนำให้ใช้สคริปต์ต่อไปนี้เพื่อดาวน์โหลดมาสเตอร์คีย์:

สำหรับคีย์ FFF979E7 CDFD6BB0 4C7EA887 6AC6A4C2 824B18E8; ทำ
pacman-key --recv-keys $ key
pacman-key - ลงชื่อ - คีย์ $ คีย์
printf 'trustn3nquitn' | gpg --homedir /etc/pacman.d/gnupg/
--no-permission-warning --command-fd 0 --edit-key $ key
ทำ

บันทึกเป็นสคริปต์ทุบตี (ฉันใส่ master-keys.sh ไว้) ให้สิทธิ์ (sudo chmod + x master-keys.sh) และเรียกใช้จากเทอร์มินัล (./master-keys.sh)

สุดท้ายอัปเดตระบบ:

sudo pacman -Syu

หากเมื่ออัปเดตคุณได้รับข้อผิดพลาดต่อไปนี้: "filesystem: / etc / mtab มีอยู่ในระบบไฟล์" จำเป็นต้องบังคับให้ติดตั้งแพ็กเกจเวอร์ชันใหม่ซึ่งในขณะนี้คือ filesystem-2011.12-2:

pacman -S ระบบไฟล์ - บังคับ
ณ ตอนนี้พวกเขาได้รับการเตือน: มีความเป็นไปได้สูงว่าเมื่อติดตั้งการอัปเดตแล้วผู้โพสต์จำนวนมากจะปรากฏขึ้นโดยแจ้งว่า "ไม่ทราบคีย์สำหรับแพ็กเกจ X คุณต้องการนำเข้าหรือไม่" เพียงแค่กด "S" หลาย ๆ ครั้งจนกว่าข้อความเหล่านั้นจะจบ

แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   กิ๊ก1n dijo

    เอ่อฉันทำมัน
    ตอนนี้มันถามฉันว่าจะติดตั้งทุกอย่างอีกครั้งได้อย่างไร (ดาวน์โหลดเท่านั้น)

    หรือ: gmtk: key "A91764759326B440" ไม่เป็นที่รู้จัก
    :: นำเข้าคีย์ PGP 9326B440 « Lukas Fleischer «สร้าง 2011-10-12? [Y / n] Y
    ข้อผิดพลาด: inetutils: ไม่ทราบคีย์ "FCF2CB179205AC90"

    ไม่เป็นไร???

  2.   กิ๊ก1n dijo

    ที่
    หรือ: gmtk: key "A91764759326B440" ไม่เป็นที่รู้จัก
    :: นำเข้าคีย์ PGP 9326B440 « Lukas Fleischer «สร้าง 2011-10-12? [Y / n] Y
    ข้อผิดพลาด: inetutils: ไม่ทราบคีย์ "FCF2CB179205AC90"

    ดี??? หรือทำอะไรผิด ???

  3.   มาใช้ Linux กันเถอะ dijo

    ดีเลยนั้น! ฉันดีใจ. 🙂

  4.   มึนงง dijo

    ฉันทำอย่างนั้นและ pacman.conf ทั้งหมดได้รับความเสียหายมันไม่ยอมให้ฉันอัปเดตหรือติดตั้งมันส่งข้อความนี้มาให้ฉัน ...

    root @ dmaziado-3m3r dmaziado3m3r] # pacman -Syy
    ข้อผิดพลาด: ไฟล์คอนฟิกูเรชัน /etc/pacman.conf บรรทัดที่ 1: คำสั่งทั้งหมดต้องอยู่ในส่วนเดียว

    ฉันคิดว่าข้อผิดพลาดเกิดจากการติดตั้ง yaourt ฉันคืนฟืนให้กับ pacman.conf ของฉันฉันจะทำอย่างไร ???

  5.   Charly dijo

    จะเกิดอะไรขึ้นกับนักพัฒนาที่พวกเขาหมด ritalin?
    พวกมันทำเรื่องไร้สาระไปทั่ว!