การมีแพ็คเกจคุณภาพแย่หมายความว่าอย่างไรคุณภาพจะต้องเป็นแพ็คเกจที่มีคุณภาพไม่ดี) และจะเกิดอะไรขึ้นถ้าฉันติดตั้งแพคเกจที่มีคุณภาพไม่ดี แต่ยังคงติดตั้งอยู่
การมีแพ็คเกจคุณภาพแย่หมายความว่าอย่างไรคุณภาพจะต้องเป็นแพ็คเกจที่มีคุณภาพไม่ดี) และจะเกิดอะไรขึ้นถ้าฉันติดตั้งแพคเกจที่มีคุณภาพไม่ดี แต่ยังคงติดตั้งอยู่
คำตอบ:
คุณสามารถดูได้ว่าเหตุใดแพคเกจบางอย่างจึงมีคุณภาพไม่ดีโดยดูรายละเอียดที่ให้ไว้ในกล่องโต้ตอบนั้น มันมักจะมีการจัดการกับแพคเกจแพคเกจและไม่ใช่แพคเกจเอง
หากแพ็คเกจไม่ตรงตามนโยบาย Debianแสดงว่าแพคเกจนั้นมีคุณภาพไม่ดี
ปัญหาทั่วไปบางอย่างที่ทำให้เกิดคำเตือนนี้คือ:
ความหมายอาจแตกต่างกันไปจาก 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
เพื่อให้แน่ใจว่าแพคเกจที่เราติดตั้งโดยใช้ศูนย์ซอฟแวร์ฟรีข้อผิดพลาดและนโยบาย Debianละเมิดพวกเขาจะถูกตรวจสอบโดยใช้Lintian เท่านั้นจึงจะได้รับอนุญาตให้ติดตั้งแพคเกจ
ในกรณีที่มีตัวเลือกในการแทนที่นี้เราอาจจะติดตั้งแพคเกจผ่านไม่มีเส้นทางอื่น ๆ แบบดั้งเดิมมากขึ้น
"ที่มีคุณภาพไม่ดี"ข้อผิดพลาดของยูเอสช่วยในการเลือกแพคเกจที่ไม่ได้มาตรฐานและเพื่อเตือนเราเกี่ยวกับพวกเขาไม่ได้ทั้งการประชุมนโยบาย Debian มันเป็นความคิดที่ดีที่จะตรวจสอบแพคเกจก่อนการติดตั้งกับlintian นั่นคือสิ่งที่ Software Center ทำเช่นกัน:
lintian name_of_package.deb
จากนั้นคุณจะเห็นข้อผิดพลาด (E) หรือคำเตือน (W) ที่บ่งบอกถึงจุดอ่อนของแพคเกจของคุณที่ Software Center ร้องเรียน ในกรณีตัวอย่างด้านบนเป็นการตั้งค่าการอนุญาตไฟล์เป็นผู้ใช้หรือ ID กลุ่มที่ไม่ถูกต้อง ในกรณีที่แพ็กเกจไม่ได้แทนที่ไฟล์ระบบสิ่งนี้จะไม่ส่งผลกระทบต่อความเสถียรของระบบโดยรวมของคุณและดังนั้นจึงไม่น่าจะมีความเสี่ยงต่อการติดตั้งของคุณ อย่างไรก็ตามการอนุญาตที่ไม่ถูกต้องอาจเป็นสาเหตุของแอปพลิเคชันที่ติดตั้งใหม่ไม่ทำงานตามที่คาดไว้
"แพ็คเกจคุณภาพต่ำ" ส่วนใหญ่อาจไม่ส่งผลต่อความเสถียรของระบบโดยรวมหรือทำให้ระบบของคุณเสียหาย นี่คือน้อยลงดังนั้นเมื่อคุณเชื่อถือแหล่งที่มาของคุณ มีแม้กระทั่งคือการเก็บรักษาโดย Debian ที่แสดงให้เห็นปรากฏของแท็ก Lintian ในแพคเกจจากจดหมายเหตุ
อย่างไรก็ตามมันเป็นความคิดที่ดีที่จะตรวจสอบสิ่งที่ผิดพลาดก่อนที่เราจะติดตั้งแพ็คเกจดังกล่าว สิ่งนี้จะช่วยให้คุณยื่นรายงานข้อผิดพลาดเพื่อให้โอกาสผู้คนในการบรรจุหีบห่อแก้ไข
"ไม่อนุญาตให้ติดตั้งแพคเกจที่ละเมิดมาตรฐานคุณภาพซึ่งอาจทำให้เกิดปัญหาร้ายแรงในคอมพิวเตอร์ของคุณโปรดติดต่อบุคคลหรือองค์กรที่ให้ไฟล์แพคเกจนี้และระบุรายละเอียดด้านล่าง"
บางครั้งแพ็คเกจเหล่านี้มีคุณภาพไม่ดี แต่ส่วนใหญ่เป็นเพียงข้อผิดพลาดที่เป็นบวก มีไม่มากที่เราสามารถทำได้เพื่อตรวจสอบคุณภาพของแพ็คเกจเหล่านั้น แต่ถ้าคุณเชื่อถือแหล่งที่มาคุณสามารถลองทางเลือกเหล่านี้สำหรับการติดตั้งแพ็คเกจ
คุณภาพไม่ดียังแสดงถึงความเสียหายเมื่อดาวน์โหลดเช่นแพ็คเก็ตที่ถูกทิ้งหรือการเข้าถึงอินเทอร์เน็ตเป็นระยะ ๆ
sudo apt-get install gdebi gdebi-core
คำตอบนี้ถูกเขียนขึ้นสำหรับนักพัฒนาเนื่องจากฉันตอบไปในคำถามอื่นซึ่งผู้ดูแลดูเหมือนจะรวม ...
ดังนั้นถ้าฉันเข้าใจคุณอย่างถูกต้องคุณกำลังรวบรวมซอฟต์แวร์บางส่วน แต่ผู้ติดตั้งเช่น 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:
คุณมีข้อผิดพลาดร้ายแรงซึ่งจะทำให้คุณไม่สามารถกระจายแพคเกจได้ตามปกติ พวกเขาต้องการคุณภาพระดับหนึ่ง
หน้านี้ที่ WebUpd8 มีข้อมูลที่อาจเป็นประโยชน์สำหรับคุณ หากแพ็คเกจเป็นไฟล์ ".deb" แสดงว่ามีโปรแกรมแก้ไขอยู่ในนั้น คำอธิบายทั่วไปจากหน้านั้นคือ:
บางครั้งแพ็คเกจเหล่านั้นมีคุณภาพไม่ดี แต่ส่วนใหญ่เป็นเพียงข้อผิดพลาดง่ายๆในคำอธิบายแพ็กเกจและสิ่งเหล่านี้ซึ่งไม่ส่งผลกระทบต่อคุณ ไม่ว่าจะด้วยวิธีใดให้ติดตั้งด้วยความเสี่ยงของคุณเอง!
ระบบของคุณอาจเสียหาย หลังจากติดตั้งแพคเกจระบบอาจเริ่มต้นไม่ถูกต้องหรือส่วนประกอบบางอย่างในระบบอาจไม่ทำงานอย่างที่คาดไว้