ฉันกำลังพยายามติดตั้งซอฟต์แวร์ที่สร้างขึ้นบน CentOS 4.7 คุณรู้หรือไม่ว่ามันจะทำงานใน Ubuntu หรือไม่? ฉันอ่าน CentOS รองรับไบนารีได้ 100% เป็นจริงสำหรับ Ubuntu รุ่นล่าสุดหรือไม่
ฉันกำลังพยายามติดตั้งซอฟต์แวร์ที่สร้างขึ้นบน CentOS 4.7 คุณรู้หรือไม่ว่ามันจะทำงานใน Ubuntu หรือไม่? ฉันอ่าน CentOS รองรับไบนารีได้ 100% เป็นจริงสำหรับ Ubuntu รุ่นล่าสุดหรือไม่
คำตอบ:
ลินุกซ์ไบนารีฐานมาตรฐาน (LSB) ควรจะเข้ากันได้ระหว่าง distros ที่รองรับ LSB CentOS มีการสนับสนุน LSB การสนับสนุน LSB นั้นมีอยู่ใน Ubuntu ด้วยเช่นกัน แต่ฉันไม่รู้ว่าการติดตั้งแพ็กเกจ LSB ที่เกี่ยวข้องนั้นเป็นค่าเริ่มต้นหรือไม่ มีความเป็นไปได้ที่จะทดสอบว่าแอปพลิเคชั่นนั้นรองรับไบนารีหรือไม่
โปรดทราบว่า LSB นั้นเป็นที่ถกเถียงกันทั้งมาตรฐานของตัวเองและ / หรือมีผลกระทบกับมันหรือไม่
ไฟล์ประมวลผลที่คอมไพล์แล้วสำหรับการแจกจ่ายแบบลีนุกซ์จะทำงานกับการกระจายแบบอื่นหากการแจกจ่ายแบบอื่นนั้นมีไลบรารีแบบแบ่งใช้ที่จำเป็น CentOS มีเวอร์ชั่นห้องสมุดที่ค่อนข้างเก่าดังนั้นเวอร์ชั่นของ Ubuntu อาจจะเป็นเวอร์ชั่นล่าสุด แต่บ่อยครั้งถ้าอูบุนตูมีเพียงlibfoo5
และlibfoo6
และคุณต้องlibfoo3
คุณสามารถคว้าได้จากรุ่นก่อนหน้านี้อูบุนตู
CentOS และ Ubuntu ใช้ระบบบรรจุภัณฑ์ที่แตกต่างกัน: รอบต่อนาทีกับ deb alien
คุณสามารถแปลงรอบต่อนาทีไปยังตราสารหนี้ทุกประเภทด้วย แพ็กเกจที่ได้อาจเป็นหรือไม่สามารถติดตั้งได้ขึ้นอยู่กับว่าคุณมีการอ้างอิงที่จำเป็น มันอาจจะง่ายต่อการแปลงรอบต่อนาทีที่เก็บธรรมดา (อีกครั้งด้วยalien
) และแกะว่าในไดเรกทอรีที่แยกต่างหากภายใต้หรือ/opt
/usr/local
หากโปรแกรมไม่ได้มาพร้อมรายการการขึ้นต่อกันคุณสามารถเรียกใช้ldd /path/to/binary
เพื่อดูว่าไลบรารีต้องการอะไร คุณจะเห็นผลลัพธ์เช่นlibfoo.so.4 => not found
หากมีบางอย่างขาดหายไป
alien
เป็นโปรแกรมบรรทัดคำสั่ง ฉันไม่รู้ว่ามี GUI อยู่หรือเปล่า หากคุณไม่คุ้นเคยกับบรรทัดคำสั่งฉันขอแนะนำให้ลองใช้แพ็คเกจไบนารีสำหรับ Ubuntu
CentOSคือ "100% ไบนารีที่เข้ากันได้" กับคู่เชิงพาณิชย์ , RedHat Enterprise Linux เนื่องจากRHELเป็นระบบที่ได้รับใบอนุญาตรวมถึงสัญญาการสนับสนุนและสิ่งต่าง ๆ ที่หลากหลายทำให้ทุกคนไม่ต้องการเรียกใช้ อย่างไรก็ตามในโลกโอเพนซอร์สการพัฒนาทั้งหมดจะต้องมีการแบ่งปันดังนั้นในขณะที่พวกเขาคิดค่าบริการสำหรับสัญญาการสนับสนุนสื่อและอะไรก็ตามพวกเขายังคงต้องแบ่งปันแหล่งข้อมูล CentOSเป็นบรรจุภัณฑ์ใหม่ที่จะมอบให้กับชุมชนโดยไม่เสียค่าใช้จ่าย
นอกจากนี้แล้ว "100% เข้ากันได้" เป็นเพียงระหว่างรุ่นเทียบเท่าของRHELและCentOS เวอร์ชันไลบรารี่จะเปลี่ยนไปตามแต่ละรีลีสหลัก แต่เนื่องจากโปรเจ็กต์เหล่านี้ปล่อยออกมาในแบบซิงค์คุณสามารถแลกเปลี่ยนแพ็กเกจระหว่างพวกเขาตราบใดที่ยังมีการตั้งค่าสำหรับเวอร์ชันหลักเดียวกัน
ความแตกต่างระหว่าง distros โดยเฉพาะอย่างยิ่ง distros ที่ใช้ RPM เช่นCentOSและ Debian ที่ใช้Ubuntuเป็นพยุหะและแพคเกจที่กำหนดจะไม่สามารถพกพาได้ อย่างไรก็ตามระบบโดยรวมนั้นค่อนข้างเหมือนกันซอฟต์แวร์ที่พัฒนาขึ้นมาสำหรับหนึ่งสามารถรวบรวมได้ง่าย ๆ โดยทั่วไปแล้วมันจะต้องรวบรวมและจัดทำแพคเกจแตกต่างกันเล็กน้อย หากคุณสนใจที่จะดึงไลบรารี่ที่ถูกต้องทั้งหมดไบนารีจากอันใดอันหนึ่งจะใช้ได้อีกอัน ดูคำตอบของกิลส์
CentOS มีความมั่นคงในระยะยาวดังนั้นมันจึงมีไลบรารีที่เก่ากว่าซึ่งไบนารีที่รวบรวมในระบบใหม่จะไม่เชื่อมโยงกับ CentOS ใช้ตัวจัดการแพคเกจ rpm และ Ubuntu ใช้ Debian apt ดังนั้นแพ็คเกจจึงไม่สามารถใช้งานร่วมกันได้
โดยทั่วไปถ้าคุณต้องการบน CentOS และมันไม่มีอยู่แล้วคุณจะต้องสร้าง RPM จากแหล่งต่าง ๆ บนเครื่อง CentOS อื่น