Score:0

ฉันจะแก้ไข apt-get check` ล้มเหลวได้อย่างไร คุณอาจมีแพ็คเกจที่ใช้งานไม่ได้

ธง in

ฉันพยายามแก้ไขการติดตั้ง autodl irssi ที่เสียหายบนเซิร์ฟเวอร์เฉพาะที่เช่าซึ่งใช้ Ubuntu 18.04.1 LTS (GNU/Linux 4.9.0-15-amd64 x86_64) และ Swizzin Box โดยการลบและติดตั้งแพ็คเกจ box autodl ใหม่

การลบ autodl ให้:-

ลบ autodl ของ SUCCESS แล้ว 
ข้อผิดพลาดฐานข้อมูล dpkg ถูกล็อคโดย apt-get กรุณาลองใหม่อีกครั้งในภายหลัง

พยายามติดตั้งใหม่โดยให้:-

ข้อมูล กำลังติดตั้ง autodl 
E: ไม่สามารถแก้ไขปัญหาได้ คุณมีพัสดุที่เสียหาย 
ข้อผิดพลาด การตรวจสอบการจำลองทำให้เกิดข้อผิดพลาด โปรดศึกษาบันทึก

บันทึกแสดง

การอ่านรายการแพ็คเกจ...
สร้างต้นไม้พึ่งพิง...
กำลังอ่านข้อมูลสถานะ...
คุณอาจต้องการเรียกใช้ 'apt --fix-broken install' เพื่อแก้ไขสิ่งเหล่านี้
แพ็คเกจต่อไปนี้มีการพึ่งพาที่ไม่ตรงกัน:
 pkg-config : ขึ้นอยู่กับ: libdpkg-perl แต่ไม่ได้ติดตั้ง

การรัน 'apt --fix-broken install' ให้:-

0 อัพเกรด, 0 ติดตั้งใหม่, 1 ลบออกและ 107 ไม่อัพเกรด
หลังจากการดำเนินการนี้ พื้นที่ดิสก์ 193 kB จะถูกทำให้ว่าง
คุณต้องการดำเนินการต่อหรือไม่ [ใช่/ไม่ใช่] ย

(กำลังอ่านฐานข้อมูล ... 87206 ไฟล์และไดเร็กทอรีที่ติดตั้งอยู่ในขณะนี้)

กำลังลบ pkg-config (0.29-4+b1) ...

ไม่พบ Dpkg/Arch.pm ใน @INC (คุณอาจต้องติดตั้งโมดูล Dpkg::Arch) (@INC ประกอบด้วย: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.26 .1 /usr/local/share/perl/5.26.1 /usr/lib/x86_64-linux-gnu/perl5/5.26 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.26 /usr /share/perl/5.26 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) ที่ /usr/share/pkg-config-dpkghook บรรทัดที่ 14

BEGIN ล้มเหลว - การคอมไพล์ถูกยกเลิกที่ /usr/share/pkg-config-dpkghook บรรทัดที่ 14

dpkg: แพ็คเกจการประมวลผลข้อผิดพลาด pkg-config (--remove):

 สคริปต์ก่อนลบกระบวนการย่อยที่ติดตั้งส่งคืนสถานะการออกจากข้อผิดพลาด 2

พบข้อผิดพลาดขณะประมวลผล:

 pkg-config

E: กระบวนการย่อย /usr/bin/dpkg ส่งคืนรหัสข้อผิดพลาด (1)

ใครบ้างมีข้อเสนอแนะว่าฉันจะแก้ไขปัญหานี้ได้อย่างไร?

EODCraft Staff avatar
cn flag
ดูราวกับว่ามันกำลังมองหาไลบรารี Perl บางตัว ติดตั้ง Google Perl และดูวิธีการติดตั้งแพ็คเกจนี้ `Dpkg::โมดูลโค้ง`
Paladinz avatar
in flag
พยายามติดตั้ง perl ให้
Paladinz avatar
in flag
พยายามติดตั้ง perl ให้ perl : ขึ้นอยู่กับ: perl-modules-5.26 (>= 5.26.1-6ubuntu0.5) แต่จะไม่ถูกติดตั้ง ขึ้นอยู่กับ: libperl5.26 (= 5.26.1-6ubuntu0.5) แต่จะไม่ถูกติดตั้ง pkg-config : ขึ้นอยู่กับ: libdpkg-perl แต่จะไม่ถูกติดตั้ง กำลังพยายามติดตั้งสิ่งเหล่านี้ แพ็คเกจต่อไปนี้มีการพึ่งพาที่ไม่ตรงกัน: pkg-config : ขึ้นอยู่กับ: libdpkg-perl แต่จะไม่ถูกติดตั้ง
Score:-1
ธง in

พยายาม sudo apt --fix-broken ติดตั้ง libdpkg-pearl. ลองดูว่าคุณมีแพ็คเกจที่ปักหมุดหรือไม่: เรียกใช้ นโยบายที่เหมาะสมและตรวจสอบสิ่งที่น่าสนใจ ในกรณีนี้ 'น่าสนใจ' รวมถึงที่เก็บของบุคคลที่สาม: หากบรรทัดนั้นไม่มี "ubuntu.com" แสดงว่าน่าสงสัย

มีบางกรณีที่จำเป็นต้องใช้ที่เก็บของบุคคลที่สาม (ที่ไม่ได้มาจาก Canonical) เช่น สำหรับซอฟต์แวร์ที่เป็นกรรมสิทธิ์ซึ่งไม่สามารถแจกจ่ายต่อได้ หรือเมื่อซอฟต์แวร์เวอร์ชันอัพสตรีมล่าสุดเป็นข้อกำหนดที่เข้มงวด อย่างไรก็ตาม ที่เก็บเหล่านี้ต้องได้รับการออกแบบมาโดยเฉพาะเพื่อทำงานร่วมกับการติดตั้งพื้นฐานของระบบปฏิบัติการใดก็ตามที่คุณมี และไม่ควรมีแพ็คเกจภายนอก คุณไม่ควรพยายามเพิ่มความเข้ากันได้โดยการเพิ่มการอ้างอิงไปยังระบบปฏิบัติการอื่น: ตัวอย่างเช่น โดยการเพิ่ม Debian Stretch เป็นซอร์สแพ็กเกจสำหรับ Ubuntu Bionic ความขัดแย้งของแพ็คเกจที่แปลกประหลาดและการแทนที่ที่ไม่คาดคิดอาจเกิดขึ้นได้

ฉันไม่สามารถสร้างสถานการณ์นี้ขึ้นใหม่ใน chroot: apt --fix-breaked ติดตั้ง ทำงานได้แม้หลังจากการลบที่รุนแรง ความถนัดอาจให้ข้อมูลเพิ่มเติมแก่คุณได้ แต่ฉันสงสัยว่าคุณจะสามารถใช้งานได้เนื่องจากแพ็คเกจปัจจุบันของคุณยุ่งเหยิง Pastebin ของ dpkg -- รายการ จะเป็นบิตต่อไปของการดีบักข้อมูล

Paladinz avatar
in flag
ขอบคุณ Calum `sudo apt --fix-broken install libdpkg-pearl` ส่งคืน `E: Unable to locate package libdpkg-pearl` ฉันไม่รู้มากพอที่จะระบุสิ่งที่น่าสนใจใน `apt policy` แต่ผลลัพธ์จะ [ที่นี่](https://pastebin.com/FkfuiQxd) หากคุณมีเวลาลองดู ผลลัพธ์จาก `dpkg --list` คือ [ที่นี่](https://pastebin.com/StY6AGkk)
Paladinz avatar
in flag
หลังจากอ่านความคิดเห็นของคุณซ้ำ ฉันพบการแก้ไขอัตโนมัติและรันคำสั่งด้วย perl ไม่ใช่ pearl มันกลับมา `คุณอาจต้องการเรียกใช้ 'apt --fix-broken install' เพื่อแก้ไขสิ่งเหล่านี้ แพ็คเกจต่อไปนี้มีการพึ่งพาที่ไม่ตรงกัน: libdpkg-perl : ขึ้นอยู่กับ: perl แต่จะไม่ถูกติดตั้ง แนะนำ: libfile-fcntllock-perl แต่จะไม่ถูกติดตั้ง แนะนำ: libocale-gettext-perl แต่จะไม่ถูกติดตั้ง `
Calum McConnell avatar
in flag
@Paladinz ขออภัยที่ตอบช้า เหตุผลที่ฉันสนใจ apt-policy เป็นเพราะแพ็คเกจที่ถูกตรึงและสิ่งแปลก ๆ อื่น ๆ อาจรบกวนการทำงานปกติของ APT ดูเหมือนว่านี่เป็นกรณีบางส่วนที่นี่: คุณไม่ได้ใช้ Ubuntu BONIC แต่ใช้ Debian Stretch, Buster-Backports และ Bonic แทน นี่เป็นปัญหาใหญ่: ที่เก็บเหล่านี้ไม่ได้มีวัตถุประสงค์ให้ใช้พร้อมกัน เนื่องจากเวอร์ชันมีความคืบหน้าต่างกัน คุณจึงได้รับแพ็คเกจ Ubuntu ใหม่ แพ็คเกจ Debian เก่าบางแพ็คเกจ และแพ็คเกจ Debian ใหม่สุด ๆ คุณจะต้องการแก้ไขปัญหานั้น
Calum McConnell avatar
in flag
@Paladinz การแก้ปัญหาจะมีส่วนร่วมเล็กน้อย ไปที่ไฟล์ source.list และ source.list.d และลบทุกอย่างที่มีโดเมน 'debian.org' รวมถึงมิเรอร์ของleaseweb ของไฟล์เดเบียน ดูเหมือนว่าที่เก็บของบุคคลที่สามเพียงสองแห่งที่คุณต้องการคือ syncthing และ nodesource หากคุณต้องการซอฟต์แวร์เวอร์ชันอัปสตรีมจริงๆ ให้ดูที่เอกสารการติดตั้งอีกครั้ง อย่างไรก็ตาม Node.JS และ SyncThing มีอยู่ในที่เก็บอย่างเป็นทางการของ Ubuntu ดังนั้นคุณสามารถลบบรรทัดเหล่านั้นได้เช่นกัน หลังจากนี้ ให้ลองแก้ไขปัญหาอีกครั้ง
Paladinz avatar
in flag
ขอบคุณ เราทุกคนต่างมีชีวิต ดังนั้นเรายินดีรับคำตอบที่เป็นประโยชน์ แม้ว่าจะใช้เวลาสักระยะหนึ่งก็ตาม :) ฉันจะล้างแหล่งที่มาและดูว่าเกิดอะไรขึ้น
Paladinz avatar
in flag
ฉันเห็นข้อผิดพลาดเดียวกัน แม้ว่า `sources.list` จะมีเฉพาะ `deb http://security.ubuntu.com/ubuntu bionic-security จักรวาลหลักสากลที่จำกัด ` และ `deb http://archive.ubuntu.com/ ลิขสิทธิ์จักรวาลอูบุนตูไบโอนิคถูก จำกัด ' ผลลัพธ์จาก `apt-get update && apt-get dist-upgrade' และ `apt --fix-broken install` คือ [ที่นี่](https://pastebin.com/XedXXvqq) ฉันขอโทษถ้าฉันไม่ทราบรายละเอียดพื้นฐาน แต่เพื่อนของฉันที่ตั้งค่าระบบเสียชีวิตเนื่องจากโควิดและ Unix ไม่ใช่ที่อยู่อาศัยตามธรรมชาติของฉัน
Calum McConnell avatar
in flag
โอเค มาลอง `apt install --fix-broken perl pkg-config` กัน ดูเหมือนว่าปัญหาคือมีคนพยายามลบแพ็คเกจจำนวนมากด้วยตนเอง รวมถึง Perl: เนื่องจาก Perl เป็นส่วนสำคัญของระบบเดเบียน สิ่งนี้ทำให้เกิดความแตกแยกอย่างที่คุณเห็นในตอนนี้ การติดตั้งใหม่ตั้งแต่เริ่มต้นอาจง่ายกว่า: มีแพ็คเกจจำนวนมากที่ถูกลบออก (อะไรก็ตามที่มีเครื่องหมาย 'r' ในเอาต์พุตรายการ dpkg) ซึ่งหลายแพ็คเกจอาจจำเป็นสำหรับเซิร์ฟเวอร์นี้ในการทำงาน
Paladinz avatar
in flag
ใช่ นั่นคือฉันเองเมื่อระบบบอกว่าไม่ต้องการและใช้การลบอัตโนมัติ **มันไปได้ไม่ดี**. `apt install --fix-broken perl pkg-config` ส่งคืน `perl : ขึ้นอยู่กับ: perl-modules-5.26 (>= 5.26.1-6ubuntu0.5) แต่จะไม่ถูกติดตั้ง | ขึ้นอยู่กับ: libperl5.26 (= 5.26.1-6ubuntu0.5) แต่จะไม่ถูกติดตั้ง | pkg-config : ขึ้นอยู่กับ: libdpkg-perl แต่ติดตั้งไม่ได้ | E: การพึ่งพาที่ไม่ตรงกัน ลอง 'apt --fix-broken install'.` การเริ่มต้นจากศูนย์หมายถึงการย้ายข้อมูล 15tb ดังนั้นฉันจึงต้องจัดหาเซิร์ฟเวอร์ใหม่เพื่อย้ายไป มันอาจจะเป็นทางเลือกเดียว
Calum McConnell avatar
in flag
โอเค ฉันเพิ่งรู้ว่าจริง ๆ แล้วฉันไม่เคยบอกให้ล้างแพ็คเกจที่ตรึงไว้เลย คุณจะต้องการทำเช่นนั้น: เป็นไปได้ว่าพิน znc-perl พยายามระงับ perl ทั้งหมดไว้ที่ 5.22 หากต้องการล้างพินเหล่านั้น ให้ลบอะไรก็ได้ใน /etc/apt/preferences.d และ /etc/apt/preferences จากนั้นเรียกใช้นโยบาย apt เพื่อยืนยันว่าคุณสะอาด
Calum McConnell avatar
in flag
นอกจากนี้ฉันยังสับสน `dpkg --list` ไม่ใช่ข้อมูลที่จำเป็นในการแก้ปัญหาเหล่านี้ คุณช่วยส่งเนื้อหาของ `/var/lib/dpkg/status` ให้ฉันแทนได้ไหม ไฟล์นั้นมีข้อมูลเพิ่มเติมเพียงพอสำหรับฉันในการจำลองระบบของคุณอย่างแม่นยำ ซึ่งจะทำให้ฉันหยุดเดาว่าคุณไม่ได้ผล
Paladinz avatar
in flag
ขอบคุณ Calum `apt policy` ดูดี ผลลัพธ์คือ [ที่นี่](https://pastebin.com/EZwfG2mc) ผลลัพธ์ของ `/var/lib/dpkg/status` คือ [ที่นี่](https:// zerobin.net/?d3e9c1eb8fef7c7c#+wrxLlUwThDcR3nrwm8Tn7K6Mb6MljiEGBKHxM+2YAY=)
Calum McConnell avatar
in flag
ตกลง. ฉันสามารถรับระบบที่เสียหายน้อยกว่าด้วย `sudo apt install --fix-broken libjpeg-turbo8-` (เครื่องหมายลบหลังชื่อแพ็คเกจบอกให้ลบออก ซึ่งช่วยให้ apt คิดวิธีแก้ปัญหาได้) ดูเหมือนว่าแพ็คเกจนี้จะซ้ำซ้อนและขัดแย้งกับ libturbojpeg0: ดังนั้นจึงปลอดภัยที่จะลบ หลังจากนั้นระบบยังคงถูกรบกวนด้วยแพ็คเกจที่รั้งไว้มากมาย แต่ก็ใช้งานได้ดีกว่าอย่างแน่นอน คุณสามารถส่งสถานะให้ฉันอีกครั้งหลังจากเรียกใช้คำสั่งนั้นได้หรือไม่
Paladinz avatar
in flag
น่าเสียดายที่ไม่ได้ช่วยเนื่องจากระบบแจ้งว่าไม่ได้ติดตั้ง `Package 'libjpeg-turbo8' ดังนั้นจึงไม่ถูกลบออก' และให้ข้อผิดพลาด `pkg-config : ขึ้นอยู่กับ: libdpkg-perl แต่ไม่สามารถติดตั้งได้' ตามปกติ
Calum McConnell avatar
in flag
ฉันเห็นปัญหา: รุ่น apt ของเราแตกต่างไปจากเดิมอย่างสิ้นเชิง ฉันได้ทดสอบกับ apt เวอร์ชันที่ใหม่กว่าที่คุณติดตั้งอยู่ในขณะนี้: สันนิษฐานว่าตัวเลือก --fix-broken ได้รับการอัปเกรดแล้ว นี่คือคำสั่งการทำงานเพิ่มเติม: `apt install --fix-broken build-essential cpp cpp-7 dpkg-dev g++ g++-7 gcc gcc-7 libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan4 libdpkg-perl libfile-fcntllock-perl libgcc-7-dev libgdbm-compat4 libgdbm5 libisl19 libcale-gettext-perl libmpc3 libmpfr6 libperl5.26 libstdc++-7-dev perl`
Paladinz avatar
in flag
ผลลัพธ์จากคำสั่ง `apt install` คือ [HERE](https://zerobin.net/?69bb6e9b1fd15353#7fgTcFeiPqnBvMWGNV0FNU+KLcC+OyC5TSUST5krFww=) และเอาต์พุตของ `/var/lib/dpkg/status` คือ [HERE] (https://zerobin.net/?262213e20afc38f6#qEmqTEuAjHONr1C0QxqnMNGFKnTYnf9eARek3IO5RZo=)
Calum McConnell avatar
in flag
ตรวจสอบผลลัพธ์นโยบาย apt ของคุณอีกครั้ง: ดูเหมือนว่าคุณไม่มี "main" จากรายการ source.list สำหรับ archive.ubuntu.com ฉันขอโทษที่หาไม่เจอ: เพิ่ม "main" ไปที่ไฟล์นั้น (ถัดจากที่เขียนว่า "universe" และ "multiverse" แล้วลองอีกครั้ง
Paladinz avatar
in flag
ฉันไม่เคยเห็นว่ามันหายไป ดังนั้นมันจึงดีทั้งหมด! รายการ source.list ตอนนี้มี `deb http://archive.ubuntu.com/ubuntu ลิขสิทธิ์จักรวาลหลักไบโอนิคที่ถูก จำกัด ' และคำสั่ง 'apt install' ใช้งานได้เนื้อหาของ `/var/lib/dpkg/status` คือ [ ที่นี่](https://zerobin.net/?d3778344ec7d302d#EJPGwsWwPBD91qiAipFV4VGLdRTfk7uidifE8ekNOYc=)
Calum McConnell avatar
in flag
เอาล่ะ ตอนนี้เรามีการติดตั้ง Debian ที่ *ใช้งานได้* กลับไปแก้ไขปัญหาเดิมของ IRSSI-autodl ที่ใช้งานไม่ได้ การดำเนินการนี้จะต้องใช้ความพยายามในการแก้ไขจุดบกพร่อง: ฉันยินดีที่จะเดิมพันว่าส่วนหนึ่งของเหตุใดจึงใช้งานไม่ได้เนื่องจากเวอร์ชันขี้ขลาดไม่ตรงกัน ตัวอย่างเช่น คุณกำลังเรียกใช้ IRSSI จาก Debian 9 ซึ่งตรงข้ามกับเวอร์ชันจาก Ubuntu Bionic สิ่งนี้สามารถแก้ไขได้โดยดำเนินการ `apt install --reinstall irssi`: อย่างไรก็ตาม อาจต้องทำซ้ำหลายครั้ง นอกจากนี้ยังมีแพ็คเกจที่ไม่ได้ใช้จำนวนมาก (ในทางทฤษฎี) คุณกำลังเจอปัญหาอะไรอยู่ตอนนี้?
Paladinz avatar
in flag
ตอนนี้ฉันไม่พบปัญหาใดๆ เลย autodl ได้รับการจัดการโดยอินเทอร์เฟซ Swizzin Box และติดตั้งใหม่ผ่านทางนั้น (หลังจากที่ฉันติดตั้ง git และอัปเดตแล้ว) ทุกอย่างดูเหมือนจะทำงานได้อย่างสมบูรณ์! ขอบคุณ Calum มากสำหรับความพยายามทั้งหมดที่คุณทุ่มเทให้กับสิ่งนี้ เราซาบซึ้งมาก

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา