คุณสามารถช่วยฉันแก้ปัญหาการพึ่งพาซอฟต์แวร์ได้หรือไม่?


12

นี่เป็นคำถามที่ยอมรับได้เกี่ยวกับการรวบรวมและการจัดการบรรจุภัณฑ์

ฉันมีคำถามเกี่ยวกับการรวบรวมพอร์ต / ซอฟต์แวร์หรือติดตั้ง RPM บนเซิร์ฟเวอร์ * nix ของฉัน เมื่อฉันพยายามทำสิ่งนี้ฉันได้รับข้อความมากมายเกี่ยวกับการพึ่งพาที่หายไป

ชุมชน Server Fault สามารถช่วยได้ไหม?

คำตอบ:


10

ยินดีต้อนรับสู่ Server Fault โดยทั่วไปคำถามประเภทนี้ไม่ได้อยู่ในหัวข้อที่นี่ คาดว่าผู้ดูแลระบบส่วนใหญ่จะต้องเผชิญกับปัญหานี้แล้วก่อนที่พวกเขาจะกลายเป็นผู้ดูแลระบบผ่านการซ่อมแซมด้วยเวิร์กสเตชันของตัวเอง อย่างไรก็ตาม sysadmins ที่มาจากพื้นหลังของ Windows อาจไม่ได้รับสิ่งนี้ดังนั้นนี่คือสิ่งที่ควรพิจารณา:

ทำไมไม่ใช้ตัวจัดการแพ็คเกจเพื่อติดตั้งซอฟต์แวร์บนเซิร์ฟเวอร์ของคุณ?

ผู้จัดการแพ็คเกจเช่นyumหรือaptจัดการการขึ้นต่อกันเหล่านี้สำหรับคุณ นอกจากนี้ยังสามารถใช้เพื่อจัดการการอัปเดตซอฟต์แวร์บนเซิร์ฟเวอร์ของคุณ รสชาติส่วนใหญ่ของ * ระวังจะมีการติดตั้งตัวจัดการแพคเกจตามค่าเริ่มต้นโดยเฉพาะอย่างยิ่งใน VPS ที่มาพร้อมกับระบบปฏิบัติการที่ติดตั้งไว้ล่วงหน้า หากคุณยังใหม่กับสิ่งนี้ใช้หนึ่งในสิ่งเหล่านี้ในระบบการผลิตของคุณและบันทึกการผจญภัยในการรวบรวมหรือติดตั้ง RPM edge ที่มีเลือดออกสำหรับสภาพแวดล้อมการทดสอบของคุณ

แต่ฉันจำเป็นต้องใช้แพ็คเกจที่ทันสมัยกว่าที่มีในเครื่องมือจัดการแพ็คเกจของฉัน!

ผู้จัดการแพคเกจส่วนใหญ่สามารถกำหนดค่าให้ใช้ที่เก็บที่แตกต่างกัน - คุณอาจพบว่ามีหนึ่งที่ให้รุ่นของแพคเกจที่คุณต้องการและยังช่วยให้คุณสามารถใช้ประโยชน์จากฟังก์ชั่นผู้จัดการแพคเกจของคุณ

แพ็คเกจที่ฉันต้องการไม่มีให้บริการผ่าน repos หรือผู้จัดการแพ็คเกจ

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

  • ให้แน่ใจว่าจะอ่านเอกสารสำหรับซอฟต์แวร์ที่คุณกำลังติดตั้ง - นี้อาจจะมีรายการสิ่งที่คุณต้องการในการติดตั้งครั้งแรก แต่ไม่ได้เป็นสิ่งที่จำเป็นสำหรับการที่ซอฟแวร์
  • ใช้เครื่องมือจัดการแพคเกจของคุณเพื่อติดตั้งสิ่งที่จำเป็น - ในกรณีส่วนใหญ่จะมีให้ใช้งาน
  • เมื่อคุณทำสิ่งนี้เสร็จแล้วให้ลองติดตั้ง
  • หากคุณยังคงเห็นข้อความเกี่ยวกับการขึ้นต่อกันที่หายไปให้จดบันทึกข้อความเหล่านั้นทั้งหมดแล้วลองติดตั้งโปรแกรมจัดการแพคเกจให้มากที่สุดเท่าที่จะทำได้
  • หากไม่พบการพึ่งพาคุณจะต้องพิจารณาว่าเป็นภารกิจย่อยและปฏิบัติกับมันซ้ำ ๆ (หาแหล่ง tarball, ค้นหาการพึ่งพา, ติดตั้ง)
  • มันเป็นกระบวนการที่วนซ้ำ

ฉันยังคงมีปัญหา!

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

คำแนะนำเฉพาะสำหรับระบบการจัดการบรรจุภัณฑ์ที่สำคัญ

การจัดการแพ็คเกจ RPM (RHEL / Fedora และ clones) และ DEB (Debian / Ubuntu และ clones)

  • ชื่อไฟล์ whatprovides yum เป็นวิธีที่ยอดเยี่ยมในการค้นหาแพ็กเกจที่ให้ไฟล์หรือไลบรารีเฉพาะบนระบบชนิด RHEL
  • อย่าใช้./configure && make && make installสุ่มสี่สุ่มห้าถ้าเป็นไปได้! การจัดการแพคเกจถูกคิดค้นด้วยเหตุผลนี้เพื่อป้องกันความยุ่งเหยิงและความไม่แน่นอนที่เกิดจากการติดตั้งไฟล์ที่ขัดแย้งกันจำนวนมาก
  • ห้องสมุดหลายแห่งแบ่งออกเป็นสองส่วน: ไบนารี (วัตถุที่ใช้ร่วมกันเป็นต้น) และการพัฒนา (ส่วนหัว) ดังนั้นคุณต้องมีทั้งแพ็คเกจ( libfooและ)libfoo-devel-dev
  • พิจารณาใช้fpm( https://github.com/jordansissel/fpm ) เพื่อแปลง tarballs เป็น RPM และ DEB ที่เรียบร้อย
  • หากคุณนำเสนอแพ็คเกจของคุณเองคุณเป็นผู้รับผิดชอบต่อการอัปเดตการทดสอบและการบำรุงรักษา หากคุณไม่มีโครงสร้างพื้นฐานสำหรับสิ่งนั้นแสดงว่าคุณตั้งเป้าหมายไว้สูงเกินไป

การค้นหาการขึ้นต่อกันด้วยชื่อไฟล์สำหรับ RPM

http://rpmfind.netเป็นสถานที่ที่ดีในการค้นหาชื่อของแพ็คเกจหากคุณรู้ชื่อของไฟล์ที่มีขั้นตอนการติดตั้งบ่น ไม่แนะนำให้จับคู่และมิกซ์แพ็คเกจจากการแจกแจงที่แตกต่างกัน


ฉันคิดว่ามันจะมีประโยชน์ที่จะให้ส่วนที่กล่าวถึงปัญหาของการพึ่งพาห้องสมุดซึ่งอาจเป็นเรื่องยากที่จะแก้ไข - แต่ฉันมีประสบการณ์น้อยในเรื่องนี้ - ใครสนใจมีส่วนร่วม?
dunxd

รายการที่ฉันอยากจะแนะนำจะรวมถึงรายละเอียดเกี่ยวกับ src RPMs และวิธีการบำรุงรักษาที่เก็บข้อมูลในพื้นที่ที่กำหนดเอง การสร้างไฟล์ deb หรือ rpm ควรเป็นส่วนหนึ่งของ toolbelt ของทุกคนที่ต้องทำงานกับข้อกำหนดของแพ็คเกจที่ผิดปรกติ
ทิมบริคัม

อาจจะคุ้มค่าที่จะขยายเรื่องนี้เพื่อสัมผัสกับหัวข้อของแอปพลิเคชันและข้อผิดพลาด "การขึ้นแพคเกจวัน" คำถามทำให้ผมนึกถึงหนึ่งเมื่อเร็ว ๆ นี้
Andrew B

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