แพ็คเกจ "คุณภาพไม่ดี" คืออะไร


34

การมีแพ็คเกจคุณภาพแย่หมายความว่าอย่างไรคุณภาพจะต้องเป็นแพ็คเกจที่มีคุณภาพไม่ดี) และจะเกิดอะไรขึ้นถ้าฉันติดตั้งแพคเกจที่มีคุณภาพไม่ดี แต่ยังคงติดตั้งอยู่

ป้อนคำอธิบายรูปภาพที่นี่


1
ดูเหมือนว่าคำถามนี้จะถูกรวมเข้ากับคำถามอื่นจากมุมมองของนักพัฒนา ไม่ใช่คำตอบทั้งหมด (อย่างน้อยฉัน) ที่ใช้ได้สำหรับผู้ใช้ปลายทาง
gertvdijk

คำตอบ:


27

คุณสามารถดูได้ว่าเหตุใดแพคเกจบางอย่างจึงมีคุณภาพไม่ดีโดยดูรายละเอียดที่ให้ไว้ในกล่องโต้ตอบนั้น มันมักจะมีการจัดการกับแพคเกจแพคเกจและไม่ใช่แพคเกจเอง

หากแพ็คเกจไม่ตรงตามนโยบาย Debianแสดงว่าแพคเกจนั้นมีคุณภาพไม่ดี

ปัญหาทั่วไปบางอย่างที่ทำให้เกิดคำเตือนนี้คือ:

  • แพ็คเกจมีข้อผิดพลาดในการเป็นเจ้าของไฟล์
  • ไม่มีฟิลด์ "ขนาดที่ติดตั้ง" ที่ถูกต้องในไฟล์ควบคุม ฯลฯ

ขอบคุณสำหรับลิงก์นโยบาย Debian ที่ช่วยได้มาก
Luis Alvarado

14

ความหมายอาจแตกต่างกันไปจาก deb ถึง deb โดยทั่วไปหมายถึงสิ่งที่ขาดหายไป / ไม่ได้บรรจุ 100% ถูกต้อง

คุณสามารถติดตั้งได้ทั้งโดยใช้ dpkg:

สมมติว่าคุณได้ดาวน์โหลด. deb ในโฟลเดอร์ ~ / Downloads ของคุณให้รันคำสั่งต่อไปนี้ในเทอร์มินัลเพื่อติดตั้งไฟล์. deb ทั้งหมด

cd ~/Downloads
sudo dpkg -i *.deb
sudo apt-get install -f

หรือใช้ Gdebi ติดตั้ง Gdebi ก่อน:

sudo apt-get install gdebi gdebi-core

จากนั้นคุณสามารถคลิกขวาที่ไฟล์. deb และเลือก "Open with Gdebi Package Installer"

ฉันลงรายการบัญชีเกี่ยวกับเรื่องนี้จริง ๆ แล้วไม่กี่ชั่วโมงที่ผ่านมา: วิธีการติดตั้ง. ไฟล์เมื่อได้รับข้อผิดพลาด "แพคเกจมีคุณภาพไม่ดี" ใน Ubuntu Software Center


12

เพื่อให้แน่ใจว่าแพคเกจที่เราติดตั้งโดยใช้ศูนย์ซอฟแวร์ฟรีข้อผิดพลาดและนโยบาย Debianละเมิดพวกเขาจะถูกตรวจสอบโดยใช้Lintian เท่านั้นจึงจะได้รับอนุญาตให้ติดตั้งแพคเกจ

ในกรณีที่มีตัวเลือกในการแทนที่นี้เราอาจจะติดตั้งแพคเกจผ่านไม่มีเส้นทางอื่น ๆ แบบดั้งเดิมมากขึ้น


"ที่มีคุณภาพไม่ดี"ข้อผิดพลาดของยูเอสช่วยในการเลือกแพคเกจที่ไม่ได้มาตรฐานและเพื่อเตือนเราเกี่ยวกับพวกเขาไม่ได้ทั้งการประชุมนโยบาย Debian มันเป็นความคิดที่ดีที่จะตรวจสอบแพคเกจก่อนการติดตั้งกับlintian นั่นคือสิ่งที่ Software Center ทำเช่นกัน:

lintian name_of_package.deb

จากนั้นคุณจะเห็นข้อผิดพลาด (E) หรือคำเตือน (W) ที่บ่งบอกถึงจุดอ่อนของแพคเกจของคุณที่ Software Center ร้องเรียน ในกรณีตัวอย่างด้านบนเป็นการตั้งค่าการอนุญาตไฟล์เป็นผู้ใช้หรือ ID กลุ่มที่ไม่ถูกต้อง ในกรณีที่แพ็กเกจไม่ได้แทนที่ไฟล์ระบบสิ่งนี้จะไม่ส่งผลกระทบต่อความเสถียรของระบบโดยรวมของคุณและดังนั้นจึงไม่น่าจะมีความเสี่ยงต่อการติดตั้งของคุณ อย่างไรก็ตามการอนุญาตที่ไม่ถูกต้องอาจเป็นสาเหตุของแอปพลิเคชันที่ติดตั้งใหม่ไม่ทำงานตามที่คาดไว้

"แพ็คเกจคุณภาพต่ำ" ส่วนใหญ่อาจไม่ส่งผลต่อความเสถียรของระบบโดยรวมหรือทำให้ระบบของคุณเสียหาย นี่คือน้อยลงดังนั้นเมื่อคุณเชื่อถือแหล่งที่มาของคุณ มีแม้กระทั่งคือการเก็บรักษาโดย Debian ที่แสดงให้เห็นปรากฏของแท็ก Lintian ในแพคเกจจากจดหมายเหตุ

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


5

แพ็คเกจมีคุณภาพไม่ดี

"ไม่อนุญาตให้ติดตั้งแพคเกจที่ละเมิดมาตรฐานคุณภาพซึ่งอาจทำให้เกิดปัญหาร้ายแรงในคอมพิวเตอร์ของคุณโปรดติดต่อบุคคลหรือองค์กรที่ให้ไฟล์แพคเกจนี้และระบุรายละเอียดด้านล่าง"

บางครั้งแพ็คเกจเหล่านี้มีคุณภาพไม่ดี แต่ส่วนใหญ่เป็นเพียงข้อผิดพลาดที่เป็นบวก มีไม่มากที่เราสามารถทำได้เพื่อตรวจสอบคุณภาพของแพ็คเกจเหล่านั้น แต่ถ้าคุณเชื่อถือแหล่งที่มาคุณสามารถลองทางเลือกเหล่านี้สำหรับการติดตั้งแพ็คเกจ

คุณภาพไม่ดียังแสดงถึงความเสียหายเมื่อดาวน์โหลดเช่นแพ็คเก็ตที่ถูกทิ้งหรือการเข้าถึงอินเทอร์เน็ตเป็นระยะ ๆ

  • แก้ไขปัญหา

การติดตั้งโดยใช้ GDebi Package Manager

sudo apt-get install gdebi gdebi-core


3

คำตอบนี้ถูกเขียนขึ้นสำหรับนักพัฒนาเนื่องจากฉันตอบไปในคำถามอื่นซึ่งผู้ดูแลดูเหมือนจะรวม ...

ดังนั้นถ้าฉันเข้าใจคุณอย่างถูกต้องคุณกำลังรวบรวมซอฟต์แวร์บางส่วน แต่ผู้ติดตั้งเช่น Software Center บ่นเกี่ยวกับคุณภาพของแพ็คเกจ

ลองใช้Lintianเมื่อทำบรรจุภัณฑ์เนื่องจากเป็นเครื่องมือตรวจสอบเวลาติดตั้งเช่นกัน กล่าวโดยย่อก็คือ

ตัวตรวจสอบแพ็คเกจเดเบียน สามารถใช้ตรวจสอบแพ็คเกจไบนารีและต้นทางเพื่อให้สอดคล้องกับนโยบาย Debian และข้อผิดพลาดทั่วไปเกี่ยวกับบรรจุภัณฑ์อื่น ๆ

ตัวอย่าง:

$ lintian -i packagename.deb
W: packagename: package-name-doesnt-match-sonames packagename
N: 
N:    The package name of a library package should usually reflect the soname
N:    of the included library. The package name can determined from the
N:    library file name with the following code snippet:
N:    
N:     $ objdump -p /path/to/libfoo-bar.so.1.2.3 | sed -n -e's/^[[:space:]]*SONAME[[:space:]]*//p' | sed -e's/\([0-9]\)\.so\./\1-/; s/\.so\.//'
N:    
N:    Severity: normal, Certainty: possible
N:    
N:    Check: binaries, Type: binary, udeb
N:

เมื่อคุณสร้างแพคเกจโดยใช้debuild(เท่าที่ควร) คุณจะไม่สามารถสร้างแพ็กเกจที่มีข้อผิดพลาดในตอนแรกดังนั้นสิ่งที่ดีที่สุดที่ฉันคาดเดาก็คือคุณกำลังสร้างมันในแบบที่ผิด debuild รัน Lintian เหนือแพ็คเกจต้นทางและในระหว่างกระบวนการบิลด์คุณจะเห็นผลลัพธ์เช่นกัน:

$ debuild -S
[...]
Now running lintian...
W: packagename source: debian-rules-missing-recommended-target build-arch
W: packagename source: debian-rules-missing-recommended-target build-indep
Finished running lintian.
[...]

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


2

หน้านี้ที่ WebUpd8 มีข้อมูลที่อาจเป็นประโยชน์สำหรับคุณ หากแพ็คเกจเป็นไฟล์ ".deb" แสดงว่ามีโปรแกรมแก้ไขอยู่ในนั้น คำอธิบายทั่วไปจากหน้านั้นคือ:

บางครั้งแพ็คเกจเหล่านั้นมีคุณภาพไม่ดี แต่ส่วนใหญ่เป็นเพียงข้อผิดพลาดง่ายๆในคำอธิบายแพ็กเกจและสิ่งเหล่านี้ซึ่งไม่ส่งผลกระทบต่อคุณ ไม่ว่าจะด้วยวิธีใดให้ติดตั้งด้วยความเสี่ยงของคุณเอง!


0

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


4
คำตอบคือทั่วไปทั่วไป คุณช่วยให้รายละเอียดเพิ่มเติมเพื่อให้คำตอบของคุณมีประโยชน์มากขึ้นหรือไม่
RafałCieślak

1
แนวคิดเบื้องหลังแพ็กเกจที่จัดว่าแย่คือมันไม่ได้ทดสอบอย่างเต็มที่ในระบบและดังนั้นจึงมีความไม่แน่นอนที่เกี่ยวข้องมากขึ้น ดังนั้นจึงมีโอกาสที่ระบบจะทำงานได้อย่างราบรื่นแม้หลังจากติดตั้งแพ็คเกจที่มีคุณภาพไม่ดี หากคุณต้องการที่จะยังคงติดตั้งแล้วติดตั้งโดยใช้ synaptic
Ravi Ranjan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.