อะไรคือแนวทางปฏิบัติที่ดีที่สุดของคุณและแผนการในอนาคตสำหรับการปรับใช้เดสก์ท็อปยูนิกซ์ [ปิด]


9

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

ในกรณีของฉันฉันติดตั้ง Ubuntu 10.04 LTS ในแต่ละเครื่อง หลังจากการติดตั้งฉันรันสคริปต์ที่กำหนดเองซึ่งจะเปลี่ยนแปลงไฟล์กำหนดค่าลบและติดตั้งซอฟต์แวร์และคัดลอกไฟล์บางไฟล์เช่นภาพพื้นหลังหรือบุ๊กมาร์กเบราว์เซอร์จากเซิร์ฟเวอร์ อย่างไรก็ตามฉันคิดว่าคำถามของฉันไม่มีความผิดเพี้ยน

ปัญหาที่เกิดขึ้น

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

ขอยกตัวอย่างสั้น ๆ สองอย่างสำหรับสิ่งที่ฉันหมายถึง:

เครื่องมือที่จะถูกแทนที่ด้วยifconfig ipสคริปต์ทั้งหมดที่อาศัยการปรากฏตัวของอดีตจะแตกถ้าตัวอย่างเช่นทำงานบนกล่อง ArchLinux ปัจจุบัน ดังนั้นฉันจะต้องตรวจสอบว่ามีเครื่องมือใดบ้างที่มีรุ่นใดบ้างที่อยู่บนเครื่องที่ฉันเรียกใช้สคริปต์ใน ... สิ่งนี้ทำให้รู้สึกเหมือนเป็นการปรับเปลี่ยน autoconf ในขนาดเล็ก

สำหรับปัญหาที่สองพิจารณาว่าฉันต้องการให้เดสก์ท็อป "ตัวตนทั่วไป" บางอย่าง ใน post-install-config-script ของฉันฉันใช้บรรทัดต่อไปนี้เพื่อให้ได้สิ่งนี้:

scp user@server:/export/admin/*.jpg /usr/share/backgrounds/
scp user@server:/export/admin/ubuntu-wallpapers.xml /usr/share/gnome-background-properties/
sed 's/warty-final-ubuntu\.png/MyBackground\.jpg/' -i /usr/share/gconf/defaults/10_libgnome2-common
sed 's/warty\-final\-ubuntu\.png/MyBackground\.jpg/' -i /usr/share/gconf/defaults/16_ubuntu-wallpapers
sed 's/ubuntu-mono-dark/ubuntu-mono-light/' -i /usr/share/gconf/defaults/16_ubuntu-artwork
sed 's/Ambiance/Clearlooks/' -i /usr/share/gconf/defaults/16_ubuntu-artwork

ฉันคิดว่าการสร้าง CI เป็นงานทั่วไปสำหรับผู้ดูแลระบบขององค์กร ดังนั้นทำไมจึงไม่มีสิ่งอำนวยความสะดวกในการปรับตั้งค่าส่วนกลางบางทีอาจเป็น cross-desktop? การตั้งค่าที่ไม่มีเอกสารสองชุด (เหมือนกัน!) ในไฟล์กำหนดค่าที่แตกต่างกันสองชุดทำให้ฉันแปลก

คำถาม

ในสภาพแวดล้อมขององค์กรคุณจัดการกับการกำหนดค่าส่วนกลางรวมเป็นหนึ่งในไคลเอนต์หลายเครื่องได้อย่างไร

ระบบเช่น FAI ของ Debian มีข้อได้เปรียบที่สำคัญ (นอกเหนือจากการไม่ต้องเปลี่ยนซีดี) ผ่านวิธีการ "ติดตั้งก่อนรันสคริปต์หลังจากนั้น" หรือไม่?

อะไรคือแนวทางปฏิบัติที่ดีสำหรับการเปลี่ยนระหว่างการกระจายหลักของคุณ และนอกเหนือจากเรื่องทางเทคนิค: มีสภาพแวดล้อมของเดสก์ท็อปที่รับประกันความมั่นคงในระยะยาวเท่าที่ผู้ใช้มีความกังวลหรือไม่? ฉันไม่คิดว่าฉันสามารถย้ายผู้ใช้ของฉันไปที่ KDE 4 หรือ GNOME 3 ได้ แต่ XFCE ยังคงมีข้อบกพร่องในการใช้งานอยู่ ...

มีระบบ * nix ที่แก้ไขปัญหาการกำหนดค่าประเภทนี้หรือไม่? ตัวอย่างเช่นฉันสมมติว่ามีระบบที่ขอให้คุณนึกภาพบางส่วนในองค์กรของคุณ (โลโก้ภาพพื้นหลังสีและชุดตัวอักษร ฯลฯ ) และนำไปใช้กับตัวจัดการการเข้าสู่ระบบเดสก์ท็อปของผู้ใช้เว็บแอป (!) บน. หมายเหตุ: ในกรณีของเราฉันต้องทำงานกับลูกค้าที่อ้วนดังนั้นโซลูชันไคลเอ็นต์แบบบางอย่างจะไม่ช่วย

คำตอบ:


3

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


ขอบคุณสำหรับคำใบ้! อย่างที่ฉันเคยถาม MaxMackie มาก่อนหุ่นกระบอกไม่ได้จัดให้มี "สติปัญญาอัจฉริยะแบบรวมศูนย์" ที่เกี่ยวข้องกับการเขียนกฎใหม่เมื่อสลับไปมาระหว่างการกระจายหลัก ๆ ของฉันหรือไม่? เช่นถ้าฉันรู้ว่าสวิตช์ $ DISTRO จาก GNOME 2 ถึง 3 จะมีเส้นทางการโยกย้ายแบบกึ่งอัตโนมัติหรือไม่
jstarek

คุณสามารถเขียนไฟล์สำหรับสมมติว่า Gnome3 config และรวมไว้ใน configs ของโฮสต์ที่คุณต้องการให้ติดตั้ง Gnome3 แต่มันก็ขึ้นอยู่กับวิธีที่คุณสร้างการกำหนดค่าหุ่นเชิด ถ้าคุณทำตามวิธีการแบบแยกส่วนมันจะง่ายขึ้น หุ่นตัวเองจะไม่สามารถระบุ Gnome3 หรือ 2 ได้ (หวังว่าฉันจะได้รับคำถามของคุณ)
Abhishek A

3

ก่อนอื่นอย่าคาดหวังว่านี่จะเป็นเรื่องง่ายที่จะทำงานกับการแจกแจงที่หลากหลาย

ฉันไม่ได้เปิดใช้งานเดสก์ท็อปขนาดใหญ่ สำหรับฉันข้อเสียที่ดีที่สุดคือการใช้ boot boot / tftp เพื่อ bootstrap ระบบจากนั้นรันการติดตั้งผ่าน NFS ดิสทริบิวเตอร์ส่วนใหญ่ขอให้คุณตั้งค่าเริ่มต้นทั้งหมดจากนั้นคุณสามารถปล่อยให้ตัวติดตั้งทำงานให้พูดประมาณ 40 นาทีโดยไม่มีใครดูแล (ไม่มี "คุณต้องการเรียกใช้โปรแกรมนี้หรือไม่?") ณ จุดนั้นฉันกำลังดูแลเครื่อง Redhat และ Suse - และมี RPM ที่มีการกำหนดค่าแบบกำหนดเองทั้งหมดที่ฉันติดตั้งหลังจากการติดตั้งมาตรฐานเสร็จสมบูรณ์ อย่างไรก็ตามมีความเป็นไปได้ค่อนข้างมากที่จะทำให้สิ่งเหล่านี้เป็นแบบอัตโนมัติด้วยความหลากหลายของ distros

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


เมื่อดูที่เว็บไซต์ของ Landscape ฉันจะได้รับความประทับใจที่ไม่ได้จัดการรายการไฟล์ config ดังนั้นฉันจะสร้างแพคเกจท้องถิ่นที่จะทำการเปลี่ยนแปลงที่ฉันต้องการในการติดตั้งหรือไม่
jstarek

1

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

นี่เป็นมุมมองที่กว้างเกี่ยวกับวิธีการทำงาน สมมติว่าคุณมีคอมพิวเตอร์ 4 เครื่องในเครือข่ายที่มีการจัดการของคุณ พวกเขาจำเป็นทั้งหมดที่จะมีไฟล์ที่/etc/syslog.confเป็นเจ้าของโดยรากทั้งหมดเดียวกัน (ตามหลัก) chmod 777และ คุณจะสร้างกฎนี้ในไฟล์กำหนดค่าของ CFEngine จากคอมพิวเตอร์ส่วนกลางคุณมี/etc/syslog.confไฟล์"master" ทุกครั้งที่ X จำนวน CFEngine เวอร์ชันคอมพิวเตอร์ของคุณจะผ่านเครือข่ายและถามแต่ละ/etc/syslog.confไฟล์เกี่ยวกับไฟล์ สำเนาเฉพาะของ CFEngine ที่ทำงานบนไคลเอนต์แต่ละรายจะทำการสืบค้นไฟล์ที่เป็นปัญหาและรายงานกลับมาว่าเป็นเนื้อหาการอนุญาต ฯลฯ หากพวกเขาไม่ตรงกับสำเนาแคสเตอร์ของคุณ CFEngine จะส่งสำเนาของคุณไปยังไคลเอนต์และตรวจสอบไฟล์อีกครั้ง พวกเขาจะจับคู่และเขาจะไปสู่กฎต่อไปของคุณ

สำหรับความเรียบง่ายไวยากรณ์ที่ใช้ใน "กฎ" ของ CFEngine (ซึ่งพวกเขาเรียกว่าสัญญา) อาจใช้เวลาเล็กน้อยในการทำความคุ้นเคย แต่มันก็คุ้มค่าที่จะเรียนรู้ (เพิ่มทักษะที่ยอดเยี่ยมอีกชุดหนึ่งให้กับทักษะของคุณ)


ขอบคุณสำหรับคำใบ้ฉันจะดู CFEngine อย่างไรก็ตามจากสิ่งที่ฉันได้อ่านมาจนถึงตอนนี้ดูเหมือนว่าจะไม่ช่วยให้ฉันเขียนกฏใหม่เมื่อเปลี่ยนเป็น distro รุ่นใหญ่รุ่นใหม่ใช่มั้ย
jstarek

1

ดังนั้นทำไมจึงไม่มีสิ่งอำนวยความสะดวกส่วนกลาง

Gnome มี GConf ซึ่งสามารถทำงานย่อยทั้งหมดได้:

http://wiki.novell.com/index.php/Locking_Down_the_GNOME_Desktop

http://library.gnome.org/admin/system-admin-guide/stable/gconf-9.html.en

Ubuntu LTS เป็นตัวเลือกเกือบเดียวสำหรับการสนับสนุนระยะยาวบนเดสก์ท็อป

การปรับใช้หลาย ๆ เครื่องเป็นไปได้ด้วยวิธีง่าย ๆddการกระจายเดสก์ท็อปทำให้เส้นทางนี้น่าสนใจน้อยลง

นอกจากนี้ยังพิจารณาตัวเลือกในขณะนี้คือที่เรียกว่าลูกค้าไขมัน


ฉันใช้ลูกค้าที่อ้วนแล้ว แต่นั่นก็ไม่ได้ทำให้การกำหนดค่าง่ายขึ้นด้วยตัวเองพวกเขาเพิ่งได้รับข้อมูล homedir และ passwd จากเซิร์ฟเวอร์กลาง ถ้า GNOME ไม่ได้ใช้ GConf และใส่ไฟล์ปรับแต่งที่สำคัญใน / usr / share / gconf / ค่าเริ่มต้น / หนึ่งอาจจะเก็บ / etc / ที่ใดที่หนึ่งไว้บนเซิร์ฟเวอร์และให้ลูกค้าติดตั้งมัน แต่ไม่มีพวก GNOME ดูเหมือนจะรู้ดีกว่า เฮ้อ ...
jstarek

@jstarek ลูกค้าไขมันติด/, GConf แทนที่อาศัยอยู่ใน/etc/gconf/gconf.xml.*/
Steve-o
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.