Thực tiễn tốt nhất của bạn và kế hoạch trong tương lai để triển khai máy tính để bàn unixoid là gì? [đóng cửa]


9

Tôi đã thiết lập máy tính để bàn Linux cho đài quan sát vô tuyến phi lợi nhuận. Đối với tôi, đây là lần đầu tiên tôi phải suy nghĩ về việc "triển khai" một số máy giống hệt nhau, tập trung đăng nhập, thư mục chính, v.v. Tôi nhanh chóng nhận ra rằng, có lẽ trái với trực giác, triết lý "mọi thứ đều mang tính văn bản" không nhất thiết phải thực hiện một nhiệm vụ dễ dàng và tôi tự hỏi những quản trị viên dày dạn làm gì về việc này.

Trong trường hợp của tôi, tôi đã cài đặt Ubuntu 10.04 LTS trên mỗi máy. Sau khi cài đặt, tôi chạy một tập lệnh tùy chỉnh làm thay đổi tập tin cấu hình, xóa và cài đặt phần mềm và sao chép một số tệp, như hình nền hoặc dấu trang trình duyệt, từ máy chủ. Tôi nghĩ, tuy nhiên, câu hỏi của tôi là độc lập distro.

Các vấn đề

Tôi chủ yếu gặp phải hai vấn đề: Thứ nhất, các công cụ và tệp cấu hình không nhất quán, cả trên các bản phân phối và trên các phiên bản, và thứ hai là một số phần mềm quan trọng không hiển thị các cài đặt để cấu hình các tệp một cách dễ dàng và trực quan.

Hãy để tôi đưa ra hai ví dụ ngắn cho những gì tôi muốn nói:

Các ifconfigcông cụ đang được thay thế bởi ip. Tất cả các tập lệnh dựa trên sự hiện diện của cái trước sẽ bị hỏng nếu, ví dụ, chạy trên hộp ArchLinux hiện tại. Vì vậy, tôi sẽ cần kiểm tra những công cụ nào có phiên bản trên máy tôi chạy tập lệnh trên ... điều này bằng cách nào đó có cảm giác như phát minh lại autoconf ở quy mô nhỏ.

Đối với vấn đề thứ hai, hãy xem xét rằng tôi muốn cung cấp cho máy tính để bàn một số loại "danh tính chung". Trong tập lệnh post-install-config-script, tôi sử dụng các dòng sau để đạt được điều này:

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

Tôi cho rằng việc tạo ra một CI là một nhiệm vụ chung cho các quản trị viên tổ chức. Vì vậy, tại sao không có cơ sở cấu hình trung tâm, thậm chí có thể là máy tính để bàn chéo? Phải đặt hai giá trị không trùng lặp (giống hệt nhau) trong hai tệp cấu hình riêng biệt khiến tôi thấy kỳ quặc.

Câu hỏi

Trong môi trường tổ chức, làm thế nào để bạn xử lý cấu hình trung tâm, thống nhất trên nhiều máy khách?

Các hệ thống như FAI của Debian có cung cấp các lợi thế đáng kể (ngoài việc không phải thay đổi đĩa CD) so với phương pháp "cài đặt trước, chạy tập lệnh sau" của tôi không?

Các thực tiễn tốt cho việc chuyển đổi giữa các phiên bản chính của phân phối của bạn là gì? Và, ngoài các công cụ kỹ thuật: Có một môi trường máy tính để bàn hứa hẹn sự ổn định lâu dài liên quan đến trải nghiệm người dùng không? Tôi không nghĩ rằng tôi có thể di chuyển người dùng của mình sang KDE 4 hoặc Gnome 3, nhưng XFCE vẫn có một số nhược điểm về chức năng ...

Có một hệ thống * nix nào xử lý loại vấn đề cấu hình này không? Ví dụ: tôi cho rằng có các hệ thống yêu cầu bạn cung cấp một số hình ảnh về tổ chức của bạn (logo, hình nền, màu sắc và bộ phông chữ, v.v.) và áp dụng chúng cho trình quản lý đăng nhập, máy tính để bàn của người dùng, ứng dụng web (!) Và như vậy trên. Lưu ý: Trong trường hợp của chúng tôi, tôi phải làm việc với các khách hàng béo, vì vậy giải pháp khách hàng hoàn toàn mỏng sẽ không giúp ích gì.

Câu trả lời:


3

Sử dụng Puppet hoặc CFEngine hoặc Chef là giải pháp phù hợp cho vấn đề của bạn. Tất nhiên, nó sẽ tiêu tốn một chút thời gian và cách tiếp cận thử & sai để viết kịch bản rối mà chỉ hoạt động. Những công cụ này được sử dụng rộng rãi để tự động hóa các cài đặt phức tạp trên đám mây và đã đơn giản hóa cuộc sống của các quản trị viên như chúng tôi. :)


Cảm ơn các gợi ý! Như tôi đã hỏi MaxMackie trước đây, Puppet có cung cấp bất kỳ loại "trí thông minh tập trung, đám đông" nào liên quan đến việc viết lại các quy tắc khi chuyển đổi giữa các phiên bản chính của bản phân phối của tôi không? Ví dụ: nếu tôi biết $ DISTRO chuyển từ Gnome 2 sang 3, liệu sẽ có đường dẫn di chuyển bán tự động?
jstarek

Bạn có thể viết một tệp cho, giả sử, cấu hình Gnome3 và đưa nó vào cấu hình của máy chủ lưu trữ mà bạn muốn Gnome3 được cài đặt. nhưng nó cũng phụ thuộc vào cách bạn tạo cấu hình con rối. Nếu bạn làm theo phương pháp mô-đun thì nó sẽ dễ dàng hơn. Bản thân con rối sẽ không thể xác định Gnome3 hoặc 2. (hy vọng tôi hiểu đúng câu hỏi của bạn)
Abhishek A

3

Trước hết, đừng hy vọng điều này sẽ dễ dàng làm việc với nhiều bản phân phối.

Tôi đã không chạy các máy tính để bàn lớn. Đối với tôi, sự đánh đổi tốt nhất là sử dụng LAN boot / tftp để bootstrap hệ thống sau đó chạy cài đặt qua NFS. Hầu hết các bản phân phối Linux đều yêu cầu bạn cung cấp tất cả cấu hình ban đầu - sau đó bạn có thể rời khỏi trình cài đặt để chạy trong 40 phút, không cần giám sát (không có lời nhắc "Bạn có thực sự muốn chạy chương trình này không?"). Vào thời điểm đó, tôi đang chăm sóc các máy Redhat và Suse - và có một RPM được cài sẵn với tất cả các cấu hình tùy chỉnh mà tôi đã cài đặt sau khi cài đặt tiêu chuẩn hoàn tất. Tuy nhiên, hoàn toàn có thể tự động hóa tất cả những điều này trên nhiều bản phân phối.

Tôi không phải là một fan hâm mộ lớn của bản phân phối Ubuntu vì nhiều lý do nhưng Lanscape của Canonical là một công cụ rất ấn tượng. Và nếu bạn sẽ thực hiện nhiều cài đặt Ubuntu quy mô lớn / quản lý nhiều máy tính để bàn Ubuntu thì chắc chắn nó đáng để xem xét kỹ hơn.


Nhìn vào trang web của Cảnh, tôi có ấn tượng rằng nó không xử lý các mục nhập tệp cấu hình - vì vậy, tôi có thể tạo các gói cục bộ thực hiện các thay đổi tôi cần khi cài đặt không?
jstarek

1

Tôi đã làm việc rất nhiều với phần mềm có tên CFEngine . Đó là trình quản lý cấu hình nguồn mở đọc "quy tắc" mà bạn đặt và bảo đảm rằng mọi máy được liên kết và tuân thủ các quy tắc đó. Nó hoàn toàn là nguồn mở và rất hữu ích, công ty chúng tôi đã quyết định sử dụng phiên bản phần mềm được hỗ trợ có tên Nova.

Đây là một cái nhìn rộng về cách nó hoạt động. Giả sử bạn có 4 máy tính trên mạng được quản lý. Tất cả đều cần có một tệp /etc/syslog.conf, thuộc sở hữu của root, tất cả đều giống nhau (theo một bậc thầy) và chmod 777. Bạn sẽ tạo quy tắc này trong tệp cấu hình của CFEngine. Từ máy tính trung tâm của bạn, bạn có /etc/syslog.conftệp "chính" . Cứ sau X thời gian, phiên bản CFEngine trên máy tính của bạn sẽ đi qua mạng và hỏi từng hộp về /etc/syslog.conftệp đó. Bản sao CFEngine cục bộ đang chạy trên mỗi máy khách sẽ truy vấn tệp được đề cập và báo cáo lại nội dung, quyền, v.v. Nếu chúng không chính xác khớp với bản sao caster của bạn, CFEngine sẽ đẩy bản sao của bạn đến máy khách và kiểm tra lại các tệp. Họ sẽ phù hợp và anh ấy sẽ chuyển sang quy tắc tiếp theo của bạn.

Để đơn giản, cú pháp được sử dụng trong "quy tắc" của CFEngine (mà họ gọi là lời hứa) có thể làm quen một chút, nhưng chúng rất đáng để học (thêm một kỹ năng tuyệt vời khác vào bộ kỹ năng của bạn).


Cảm ơn gợi ý, tôi sẽ xem CFEngine. Tuy nhiên, từ những gì tôi đã đọc về nó cho đến bây giờ, có vẻ như nó sẽ không cứu tôi khỏi việc viết lại các quy tắc khi chuyển sang một phiên bản chính mới của bản phân phối của tôi, phải không?
jstarek

1

Vì vậy, tại sao không có cơ sở cấu hình trung tâm,

Gnome có GConf có thể thực hiện tất cả các nhiệm vụ nhỏ như vậy:

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

http: // l Library.gnome.org/admin/system-admin-guide/urdy/gconf-9.html.en

Ubuntu LTS là lựa chọn gần như duy nhất để hỗ trợ lâu dài trên máy tính để bàn.

Việc triển khai nhiều máy gần như có thể chỉ với một cách đơn giản dd, các bản phân phối máy tính để bàn đang dần biến điều này thành một tuyến đường kém hấp dẫn hơn.

Cũng xem xét một lựa chọn bây giờ là cái gọi là khách hàng béo .


Tôi đã sử dụng các máy khách béo, nhưng điều đó không làm cho cấu hình dễ dàng hơn - họ chỉ cần lấy thông tin homedir và passwd từ một máy chủ trung tâm. Nếu Gnome không sử dụng GConf và đặt các tệp cấu hình quan trọng vào / usr / share / gconf / defaults /, thì người ta có thể giữ một trung tâm / etc / ở đâu đó trên máy chủ và để các máy khách béo gắn kết nó, nhưng không, các kẻ Gnome dường như biết rõ hơn Thở dài ...
jstarek

@jstarek khách hàng béo gắn kết /, GConf ghi đè trực tiếp vào/etc/gconf/gconf.xml.*/
Steve-o
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.