Ubuntu กับ CentOS และความเข้ากันได้ของไบนารี


9

ฉันกำลังพยายามติดตั้งซอฟต์แวร์ที่สร้างขึ้นบน CentOS 4.7 คุณรู้หรือไม่ว่ามันจะทำงานใน Ubuntu หรือไม่? ฉันอ่าน CentOS รองรับไบนารีได้ 100% เป็นจริงสำหรับ Ubuntu รุ่นล่าสุดหรือไม่


1
“ เข้ากันได้ 100% ไบนารี” นั้นไม่มีความหมาย: เข้ากันได้กับอะไร ดังที่คาเลบกล่าวไว้คำตอบก็คือ RHEL
Gilles 'หยุดความชั่วร้าย'

คำตอบ:


3

ลินุกซ์ไบนารีฐานมาตรฐาน (LSB) ควรจะเข้ากันได้ระหว่าง distros ที่รองรับ LSB CentOS มีการสนับสนุน LSB การสนับสนุน LSB นั้นมีอยู่ใน Ubuntu ด้วยเช่นกัน แต่ฉันไม่รู้ว่าการติดตั้งแพ็กเกจ LSB ที่เกี่ยวข้องนั้นเป็นค่าเริ่มต้นหรือไม่ มีความเป็นไปได้ที่จะทดสอบว่าแอปพลิเคชั่นนั้นรองรับไบนารีหรือไม่

โปรดทราบว่า LSB นั้นเป็นที่ถกเถียงกันทั้งมาตรฐานของตัวเองและ / หรือมีผลกระทบกับมันหรือไม่


15

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

CentOS และ Ubuntu ใช้ระบบบรรจุภัณฑ์ที่แตกต่างกัน: รอบต่อนาทีกับ deb alienคุณสามารถแปลงรอบต่อนาทีไปยังตราสารหนี้ทุกประเภทด้วย แพ็กเกจที่ได้อาจเป็นหรือไม่สามารถติดตั้งได้ขึ้นอยู่กับว่าคุณมีการอ้างอิงที่จำเป็น มันอาจจะง่ายต่อการแปลงรอบต่อนาทีที่เก็บธรรมดา (อีกครั้งด้วยalien) และแกะว่าในไดเรกทอรีที่แยกต่างหากภายใต้หรือ/opt/usr/local

หากโปรแกรมไม่ได้มาพร้อมรายการการขึ้นต่อกันคุณสามารถเรียกใช้ldd /path/to/binaryเพื่อดูว่าไลบรารีต้องการอะไร คุณจะเห็นผลลัพธ์เช่นlibfoo.so.4 => not foundหากมีบางอย่างขาดหายไป


คุณใช้ฟังก์ชั่น "เอเลี่ยน" ได้อย่างไร? ในพรอมต์คำสั่ง Gnome
Conc__Citizen

@GTyler ใช่alienเป็นโปรแกรมบรรทัดคำสั่ง ฉันไม่รู้ว่ามี GUI อยู่หรือเปล่า หากคุณไม่คุ้นเคยกับบรรทัดคำสั่งฉันขอแนะนำให้ลองใช้แพ็คเกจไบนารีสำหรับ Ubuntu
Gilles 'หยุดความชั่วร้าย'

12

CentOSคือ "100% ไบนารีที่เข้ากันได้" กับคู่เชิงพาณิชย์ , RedHat Enterprise Linux เนื่องจากRHELเป็นระบบที่ได้รับใบอนุญาตรวมถึงสัญญาการสนับสนุนและสิ่งต่าง ๆ ที่หลากหลายทำให้ทุกคนไม่ต้องการเรียกใช้ อย่างไรก็ตามในโลกโอเพนซอร์สการพัฒนาทั้งหมดจะต้องมีการแบ่งปันดังนั้นในขณะที่พวกเขาคิดค่าบริการสำหรับสัญญาการสนับสนุนสื่อและอะไรก็ตามพวกเขายังคงต้องแบ่งปันแหล่งข้อมูล CentOSเป็นบรรจุภัณฑ์ใหม่ที่จะมอบให้กับชุมชนโดยไม่เสียค่าใช้จ่าย

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

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


0

CentOS มีความมั่นคงในระยะยาวดังนั้นมันจึงมีไลบรารีที่เก่ากว่าซึ่งไบนารีที่รวบรวมในระบบใหม่จะไม่เชื่อมโยงกับ CentOS ใช้ตัวจัดการแพคเกจ rpm และ Ubuntu ใช้ Debian apt ดังนั้นแพ็คเกจจึงไม่สามารถใช้งานร่วมกันได้

โดยทั่วไปถ้าคุณต้องการบน CentOS และมันไม่มีอยู่แล้วคุณจะต้องสร้าง RPM จากแหล่งต่าง ๆ บนเครื่อง CentOS อื่น

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