unixoidデスクトップを導入するためのベストプラクティスと将来の計画は何ですか?[閉まっている]


9

非営利の電波天文台用にLinuxデスクトップをセットアップしています。私にとって、これは、複数の同一のマシンを「デプロイ」し、ログインやホームディレクトリなどを一元化することを考える必要があったのはこれが初めてでした。おそらく直感に反して、「すべてがテキストである」という哲学は必ずしもそれを簡単な作業にするわけではないことがすぐに明らかになりました。

私の場合、各マシンにUbuntu 10.04 LTSをインストールしていました。インストール後、カスタムスクリプトを実行して、構成ファイルを変更し、ソフトウェアを削除してインストールし、背景画像やブラウザーのブックマークなどのいくつかのファイルをサーバーからコピーしました。ただし、私の質問はディストリビューションに依存しないと思います。

問題

私は主に2つの問題に直面していました。1つ目は、ディストリビューション間およびバージョン間で一貫性のないツールと構成ファイルです。2つ目は、簡単かつ直感的な方法で構成ファイルに設定を公開しない重要なソフトウェアです。

私が意味することについて、2つの短い例を挙げましょう。

ifconfigこのツールは、置き換えられていますip。前者の存在に依存しているすべてのスクリプトは、たとえば、現在のArchLinuxボックスで実行すると破損します。したがって、スクリプトを実行するマシンにどのバージョンのどのツールが存在するかを確認する必要があります...これは、どういうわけか、小規模なautoconfの再発明のように感じます。

2番目の問題については、デスクトップにある種の「共通のアイデンティティ」を与えたかったと考えてください。私の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の作成は、組織管理者にとって一般的なタスクだと思います。では、どうして中央の設定機能がなく、おそらくクロスデスクトップであろうか?ドキュメント化されていない2つの設定ファイルに2つの(同一の!)ドキュメント化されていない値を設定しなければならないのは、奇妙な印象を受けます。

ご質問

組織環境では、複数のクライアントにまたがる一元的な統合構成をどのように処理しますか?

DebianのFAIのようなシステムは、「最初にインストールし、後でスクリプトを実行する」という私の方法よりも(CDを変更する必要がないことを除いて)大きな利点がありますか?

ディストリビューションのメジャーバージョン間の移行に関する推奨事項は何ですか?そして、技術的なものとは別に、ユーザーエクスペリエンスに関して、長期的な安定性を約束するデスクトップ環境はありますか?ユーザーをKDE 4やGNOME 3に移行できないと思いますが、XFCEにはまだいくつかの機能上の欠点があります...

このタイプの構成の問題に対処する* nixシステムはありますか?たとえば、組織の画像(ロゴ、背景画像、色、フォントセットなど)を要求し、それらをログインマネージャー、ユーザーのデスクトップ、Webアプリ(!)などに適用するシステムがあると思います。オン。注:私たちのケースでは、ファットクライアントを使用する必要があるため、純粋なシンクライアントソリューションは役に立ちません。

回答:


3

PuppetまたはCFEngineまたはChef を使用することは、問題の正しい解決策です。もちろん、動作するPuppetスクリプトを作成するには、時間と試行錯誤のアプローチが必要です。これらのツールは、クラウドへの複雑なインストールを自動化するために広く使用されており、私たちのような管理者の生活を簡素化しています。:)


ヒントをありがとう!以前にMaxMackieに尋ねたように、ディストリビューションのメジャーバージョンを切り替えるときに、Puppetはルールの書き換えに関して「集中型のクラウドソーシングされたインテリジェンス」を提供しますか?たとえば、$ DISTROがGNOME 2から3に切り替わっていることを知っている場合、半自動の移行パスはありますか?
jstarek 2011

たとえば、Gnome3構成のファイルを作成して、Gnome3をインストールするホストの構成に含めることができます。ただし、パペット構成の作成方法にも依存します。モジュール式のアプローチに従うと、簡単になります。Puppet自体はGnome3または2を識別できません(質問が正しいことを願っています)
Abhishek A

3

まず、これが複数のディストリビューションで簡単に動作することを期待しないでください。

大規模なデスクトップロールアウトを実行していません。私にとって最良のトレードオフは、LANブート/ tftpを使用してシステムをブートストラップし、NFS経由でインストールを実行することでした。ほとんどのLinuxディストリビューションでは、最初にすべての初期設定を要求します。その後、インストーラーを無人で、たとえば40分間実行したままにできます(「このプログラムを実行しますか?」というプロンプトは表示されません)。その時点で私はRedhatとSuseマシンの世話をしており、標準のインストールが完了した後にインストールしたすべてのカスタム構成を備えたRPMを持っていました。ただし、さまざまなディストリビューションでこれすべて自動化することは可能です。

私はさまざまな理由でUbuntuディストリビューションの大ファンではありませんが、CanonicalのLanscapeは非常に印象的なツールです。また、大規模なUbuntuのインストールや複数のUbuntuデスクトップの管理を多数行う場合は、よく調べる価値があります。


ランドスケープのサイトを見ると、設定ファイルのエントリを処理していないという印象を受けます。つまり、インストールに必要な変更を行うローカルパッケージを作成しますか?
jstarek

1

私はCFEngineと呼ばれるソフトウェアで多くの作業をしてきました。これは、設定した「ルール」を読み取り、関連付けられているすべてのマシンがそれらのルールを尊重することを保証するオープンソースの構成マネージャーです。これは完全にオープンソースであり、非常に便利なため、当社はNovaと呼ばれるサポートされているバージョンのソフトウェアを使用することにしました。

これは、それがどのように機能するかについての広い見方です。管理されたネットワーク上に4台のコンピューターがあるとします。それらはすべて/etc/syslog.conf、ルートによって所有されているファイル(マスターに従って)がすべて同じである必要がありますchmod 777。このルールは、CFEngineの構成ファイルで作成します。中央のコンピューターから、「マスター」/etc/syslog.confファイルを取得します。X時間ごとに、コンピューターのバージョンのCFEngineがネットワークを通過し、各ボックスにその/etc/syslog.confファイルについて尋ねます。各クライアントで実行されているCFEngineのローカルコピーは、問題のファイルにクエリを実行し、その内容や権限などを報告します。それらがキャスターのコピーと完全に一致しない場合、CFEngineはクライアントにコピーをプッシュし、ファイルを再度チェックします。彼らは一致し、彼はあなたの次のルールに移ります。

簡単にするために、CFEngineの「ルール」(約束と呼ばれます)で使用される構文は少し慣れる必要がありますが、学習する価値があります(スキルセットに別の優れたスキルを追加します)。


ヒントをありがとう、CFEngineを見てみましょう。しかし、今まで読んだことから、ディストリビューションを新しいメジャーバージョンに切り替えるときに、ルールを書き換える手間が省けないようですね。
jstarek 2011

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 / defaults /に配置した場合、中央の/ etc /をサーバーのどこかに保持し、ファットクライアントにマウントさせることができますが、GNOMEはそうではありませんよく知っているようです。ため息...
jstarek 2011

@jstarekファットクライアントマウント/、GConfオーバーライドがライブライブ/etc/gconf/gconf.xml.*/
Steve-o
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.