LinuxのWindowsレジストリに相当


57

Windowsレジストリに相当するLinuxとは何ですか?Linuxに同等または類似の構造がない場合、Windowsレジストリによって行われることはLinuxでどのように処理されますか?

回答:


54

通常、Linuxアプリケーションは、アプリケーション固有のテキストベースのファイルに構成を保存します。マシン固有の構成は通常、/ etcディレクトリツリーに保存されます。通常、ユーザー固有の設定はユーザーのホームディレクトリにあり、多くの場合「。」で始まる「非表示」ファイルにあります。(それらを表示するには「ls -a」を使用します)。


5
また、これらのテキストファイルは人間が読める形式で、多くの場合、特定の構成アイテムを説明するコメントが含まれていることを追加できます。そのため、何かを変更する必要がある場合、ドキュメントはしばしば目の前にあります。何かを変更した理由など、独自のメモを追加することもできます。Windowsレジストリには、そのような「メタデータ」はありません。
キース

レジストリの目的は設定を保持することではなく、dllやシェル拡張などのコンポーネントをオペレーティングシステムに登録することであるため、この回答には間違いがあります。そこにプログラム構成を保存することは、しかめ面のテクニックです。
アダムケーシー

12
「しかめ面」についてはわかりませんが、定期的に行われます。ほとんどのMSプログラムと多くのサードパーティが設定データをそこに保存します。
uSlackr

7
@Dotmister:それはまさにその目的でした... Windows 3.1の時代。32ビットWindows(95およびNT)以降、レジストリは構成データのデータベースになりました。
grawity

ええと...それで、Linuxは基本的にWindowsレジストリが防ぐために設計されたものをしますか?
イスジ

11

/proc カーネル関連のもの用

/etc ソフトウェア関連のもの用

Gnomeの構成も、Windowsレジストリに似ていると考えることができます。

しかし、LinuxとWindowsのコア哲学はまったく異なるため(Linux〜オープンかつ互換性があり、Windows〜クローズおよび妨害)、直接的な並行性はありません。

編集:同意しない人のために、ここにあなたのための少しの歴史があります:http : //www.faqs.org/docs/artu/(あなたの背景が何であれ、素晴らしい読書)


28
ソフトウェア設計の哲学が、構成ストレージの特定の実装の特殊性にどのように関係しているかはわかりません。直接的な並行性がない理由は、Microsoftが自由を嫌っているという理由だけでなく、根本的に異なるアーキテクチャであるためです。
新井

8
@Shinrai Unix(およびLinux)の基本的な設計哲学は、標準化されたテキスト形式を使用することです。Windowsレジストリは、独自のバイナリ形式です。「マイクロソフトは自由を嫌う」というのは、ここではまったく関係ありません。Windowsは、Unixと可能な限り互換性がないように設計されており、(独自の作成中に)考えられるすべての国際標準を無視しました。これは古い歴史ですが、これがWindowsレジストリの由来です。
Let_Me_Be

7
@Let_Me_Be-ごめんなさい、あなたの言い回しはあなたが「オープンソースが最高だ!マイクロソフトは邪悪な転生者だ!」という意味だと思うように私を読んだ。コンテンツのリテラル形式の議論ではなく、ウェブ上の多くの* nix狂信者のように。コメントは取り下げられましたが、私と同じように数人の人が読んでいるように見えるので、少しわかりやすくするように言い替えるかもしれません。(ここでは特に「邪魔な」印象が間違っていると思います。)
Shinrai

12
@Let_Me_Be:Standartizedテキスト形式?冗談じゃないわ。Windowsにはさまざまな方法がありますが、共通のレジストリAPIは優れた機能の1つです。
-grawity

7
@Let_Me_Be:この単語は「文書化された」ではなく「標準化された」ものでした。私はむしろ1つの配布したい.reg(またはファイルを.ini.xml.jsonに20個の異なる設定ファイルの地獄を正規表現するために持っているよりもXマシン上であなたが望むものは何でも、)/etc/あなたながら...変更ネットワーク全体の設定をしようとしているときが、関係のないローカルな追加を保持しますWindowsレジストリハイブの完全な詳細な説明は見つかりません。その構造 は完全に秘密ではありません(炎戦争を去る)
悲しみ

7

システム全体の設定はのファイルにあり/etc、ユーザーごとの設定は通常、ユーザーのホームディレクトリに隠しファイル(./で始まる)として配置されます。特定のプログラムの詳細については、マニュアルページを参照してください- man [program name]


.*rcユーザーのホームディレクトリにあるファイルに言及したい場合があります。/etcシステム全体のものです。
マイクデシモーネ

5

ほとんどのアプリケーションはテキストベースの構成ファイルを使用します(通常、各プログラムには独自の形式がありますが、XMLまたはJSONを使用するものもあります)。システム全体の構成はの下に保持され/etcます。

ユーザー設定は通常、ユーザーのホームディレクトリのいわゆる「ドットファイル」(「.」で始まるファイル名ls -a。表示に使用)に保存されます。「ドットファイルクリープ」を回避するために、最近、プログラムはXDGベースディレクトリ仕様~/.config/に従って構成を保持し始めました。

さまざまなデスクトップ環境には、独自のレジストリのようなAPIがあります。GNOMEのGconf(非推奨)およびdconf / GSettings(新規)。XfceのXfconf


3

Linuxでは分割されます。単一の場所はありません。

ユーザーが実行するプログラムでは、ファイルの場合は通常$ HOME / .someprogramrcに、サブディレクトリを保証するほど複雑な場合は$ HOME / .somedirnameにあります。KDEアプリはすべて$ HOME / .kdeのサブエリアを検出しますが、通常は独自のディレクトリを生成しません。

ディレクトリをリストするための一般的なアクションは、で始まるファイル.を非表示として扱うことです。そのためls -A、コマンドラインから使用するかshow hidden files、GUIの設定を使用する必要があります。

システムで実行されるプログラムの場合、/etc/ディレクトリは通常.d末尾に示されますが、通常はetcなどの真の命名規則ではない場所にあるファイルです。

カーネルの場合、/etc/sysconfig.conf/ proc / sys / *に書き込む/etc/init.dの起動スクリプトまたはにあります。

ほとんどのシステム構成は/etc、システムのバックアップを簡単にするためのものです。/etc/したがって、バイナリではなく構成ファイルのみを保持することにより、サイズが小さくなる傾向があります。


0

Linuxにはレジストリはありません。ただし、gconf-editorとdconf-editor ...、およびホームディレクトリ内の隠しファイル/フォルダー(ドットで始まる名前)、主に特定のプログラムの設定を含むプレーン(TXT)ファイルを確認する必要があります。


-1

Windowsレジストリは、オペレーティングシステムとプログラムのさまざまな.iniおよびその他の構成ファイルを自動化して、ロードを高速化するために作成されました。レジストリ内のすべての情報もコンピューターの他の場所に含まれていますが、今日では通常、書き込み保護されています。Linuxは、Vi(ビジュアルエディター)または他のエディターを使用して、Linuxのこれらの構成ファイルにアクセスして編集します。


2
こんにちは、superuser.comへようこそ。あなたがポスターに伝えようとしていることは正しいと思いますが、あなたの答えにはあまり出ていません。LinuxとWindowsがどのように機能するかについて十分な理解がない限り、何を達成しようとしているのかを理解することは難しいと思います。誰でも理解できるように、答えを再考して書き直してください。
モグ

-1

Windows:-データをディレクトリ階層内のファイルに保存します-これらのファイルは、前述の.dllやその他のサポートファイルのようなものです-その後、ファイルはデータベース(レジストリ)などの管理システムを通じて管理され、ユーザーとのやり取りが容易になります。-これは、ポイントアンドクリックすることを意味しますが、大量のデータがバックグラウンドで記録され、使いやすさ、アクセスのしやすさ、不要なデータストレージが使用しやすくなっています。

Linux:-ファイルは個別のパーティションに保存されます(Linuxでは、画面を含むハードウェアに直接アクセスできることを覚えておく必要があります-すべてはCLIからアクセスできます)。-これらのファイルは、既に配置されているディレクトリ階層にあります(OSのストレージシステムで、Windowsに似ていますが、フォルダで区切られているだけではありません)-ファイルは読みやすく、アクセスしやすいですが、CLIの知識が必要ですそれらを利用することができます。

主な違い:Windowsは、データベース「レイヤー」をOSインターフェースに追加して、ユーザー、システムなどからの相互作用を管理します。ほとんどの機能がこのデータベースシステムに大きく依存しています。一方、Linusでは、コンポーネントとの直接のインターフェイスが可能です。つまり、Windowsのポイントアンドクリックメソッドの代わりに入力する「言語」を知っている必要があります。はい、Windows経由でCLIを利用できますが、WindowsとLinuxの比較を実際に比較しているわけではありません。違いは、ユーザーがデータにアクセスする方法、システムがデータを使用する方法、およびWindowsが(システムによる)「管理」を追加して「より簡単な」

CLI / Linux環境を初めて使用する人として評価するのは理解できる比較ですが、これら両方のシステムの意図を最初に適用する場合には、より意味があります。Linuxは「レジストリの統合によりMicrosvckが行った試みを覆すもの」ではなく、ユーザーとハードウェア間の抽象化レイヤーを排除することにより、ユーザーにより多くの力を与えています。

これを想像するには、タイプライターを考えてください。キーを押すと、ギアが動き、インクを紙に打ち込んでデータを生成します。Linuxでは、ユーザーがコマンドを入力してシス​​テムカーネルとインターフェイスし、ハードウェアでアクションを実行します。Windows環境では、ユーザーとハードウェアの間にさらに多くの潜在的なレイヤーがあります。アプリケーションは、OSと通信するコマンドを呼び出すことができます。OSは、システム/カーネルとインターフェイスし、ハードウェアと連動します。このプロセスは、コマンドを実行する前にレジストリと対話して情報を取得する必要があるなど、より多くの変数が方程式に入力されると、Windowsでより複雑になります...複雑なタスク。プリロードされたサービスとプロセスは、Linuxがユーザーに呼び出す必要がある機能の管理を可能にするためにロードされます。もちろん、Linuxで実行されるプロセスもありますが、他のコメントが不正確だった理由をより適切に表示するために、システムがどのように異なるかについての基本的な考え方を説明しようとしています。Linuxを使用するという考えは、ユーザーとハードウェアの間のインターフェイスを最小限に抑えて、物事をはるかに単純化することです。Windowsはユーザーに合わせて調整し、より簡単にアクセスできる方法でより多くの機能を取り込もうとしますが、複雑な管理システムのコストがかかります(混乱しやすく、問題が発生しやすくなります)。レジストリは、すべての物理的な接続と、保存および保存されたばかりのハードウェアとのその他の物理的な相互作用のデジタル記録を提供することもできます(ユーザー/プログラムによってクリーニングされない限り)。私' d Windowsで定期的なクリーニングが必要なさまざまな/多くのスポットのクリーニング(およびレジストリのB / Cの潜在的な問題を引き起こす可能性があります)に比べて、使用されていないときに手動で削除できる読み取り可能なファイルを好む これは、舞台裏で物事を管理し、ユーザーが保存できないスタックをさらにデジタル化するための別のレイヤーです。

残念ながら、多くのユーザーはWindowsに条件付けられており、試用前にLinuxをあまりにも恐れています。非常に多くのフレーバーがあり、一部はコマンド、シェルなどが異なり、初心者として選択するのが難しくなります。「Windowsコンディショニング」を削除すると、Linuxディストリビューションが多くの点で優れていることが明らかになります(肥大化したソフトウェアなし)。私が個人的にWindowsが優れていると感じるシナリオは、ゲームをプレイすることだけです。一度に1つのOSに統合するためにMSがより多くのデータをプッシュし、常により多くのデータを取得するようになると、より不安になります。持っているのは良いスキルであり、Linuxディストリビューションで遊ぶことは、これらの投稿を読んでいる新しいユーザーのために潜在的にこれらの質問に答えることができます。


3
これは答えではなく暴言のように見えます。質問どおりに質問に実際に答えようとするかどうかは疑わしいです。また、いくつかの場所でまったく間違っています。(Linuxでのファイルの別々のパーティションに保存されている?のLinuxのファイルがアクセスCLIの知識を必要と?のWindowsに比べて、ハードウェアの抽象化を排除するのLinux?Linuxユーザは、カーネルと直接対話?本当に、WTF?)私は、サイト取ることをお勧めツアーをします私たちが物事をどのように行うかを学び、提案のための良い答えを書くにはどうすればいいですか。その後、これを編集できます。
からCVn

1
@MichaelKjörling:この回答の品質については正しいですが、非常に重要なことが1つ含まれています。Windowsレジストリ(regeditプログラム)は1つのアプリケーションであり、1つの構成データベースに格納されているように内部を表示します。ファイルはPC全体に広がります。これにより、元の質問が「Windowsのregeditのような、マシンの全体的な構成の概要を提供するLinuxツールはありますか?」に変換されます。
ドミニク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.