Linux tương đương với Windows Registry


57

Linux tương đương với Windows Registry là gì? Nếu không có cấu trúc tương đương hoặc tương tự trong Linux, thì những điều được thực hiện bởi Windows Registry được xử lý trong Linux như thế nào?

Câu trả lời:


54

Các ứng dụng Linux thường lưu cấu hình của chúng trong một tệp dựa trên văn bản dành riêng cho ứng dụng. Các cấu hình cụ thể của máy thường được lưu trữ trong cây thư mục / etc. Cài đặt cụ thể của người dùng thường nằm trong thư mục chính của người dùng và thường trong các tệp "ẩn" bắt đầu bằng dấu "." (sử dụng 'ls -a' để xem chúng).


5
Chúng tôi cũng có thể thêm rằng các tệp văn bản đó có thể đọc được ở người và thường bao gồm các nhận xét trong đó mô tả mục cấu hình cụ thể. Vì vậy, tài liệu thường ở ngay trước mặt bạn khi bạn cần thay đổi một cái gì đó. Bạn cũng có thể thêm ghi chú của riêng mình, ví dụ tại sao bạn thay đổi điều gì đó. Sổ đăng ký Windows không có "siêu dữ liệu" như vậy.
Keith

Chắc chắn câu trả lời này là thiếu sót vì mục đích của đăng ký Không phải để giữ các cài đặt mà là để đăng ký các thành phần như dlls và phần mở rộng shell với hệ điều hành. Lưu trữ cấu hình chương trình trong đó Có một kỹ thuật nhăn mặt.
Adam Casey

12
Không chắc chắn về "nhăn mặt" nhưng nó thường được thực hiện. Hầu hết các chương trình MS và nhiều dữ liệu cấu hình lưu trữ bên thứ 3 ở đó.
uSlackr

7
@Dotmister: Đó thực sự là mục đích của nó ... trong thời của Windows 3.1. Bắt đầu với Windows 32 bit (95 và NT), Registry trở thành cơ sở dữ liệu cho dữ liệu cấu hình .
grawity

Heh ... vậy Linux về cơ bản là những gì Windows Registry được thiết kế để ngăn chặn?
Iszi

11

/proc cho những thứ liên quan đến kernel

/etc cho những thứ liên quan đến phần mềm

Cấu hình Gnome cũng có thể được coi là tương tự như Windows Registry.

Nhưng vì các triết lý cốt lõi của Linux và Windows là khác nhau về mặt phân tích (Linux ~ mở và tương thích, Windows ~ đóng và cản trở), không có song song trực tiếp.

Chỉnh sửa: đối với những người không đồng ý, đây là một chút lịch sử dành cho bạn: http://www.faqs.org/docs/artu/ (đọc tuyệt vời, bất kể nền tảng của bạn là gì)


28
Tôi không thấy triết lý thiết kế phần mềm phải làm gì với đặc thù của việc triển khai lưu trữ cấu hình cụ thể. Lý do không tồn tại song song trực tiếp là vì chúng có kiến ​​trúc cơ bản khác nhau, không chỉ vì Microsoft ghét tự do.
Shinrai

8
@Shinrai Triết lý thiết kế cơ bản của Unix (và Linux) là sử dụng các định dạng văn bản được tiêu chuẩn hóa. Windows Registry là một định dạng nhị phân độc quyền. "Microsoft ghét tự do" hoàn toàn nằm ngoài bối cảnh ở đây. Windows được thiết kế để không tương thích với Unix càng nhiều càng tốt và bỏ qua tất cả các tiêu chuẩn quốc tế có thể (trong khi tạo ra nó). Đây là lịch sử cũ, nhưng đây là nơi Windows registry xuất phát.
Let_Me_Be

7
@Let_Me_Be - Tôi xin lỗi, từ ngữ của bạn đọc tôi nghĩ rằng bạn có nghĩa là "Nguồn mở là tốt nhất! Microsoft là ác quỷ hiện thân!" giống như rất nhiều người cuồng * nix trên web, hơn là một cuộc thảo luận về định dạng theo nghĩa đen của nội dung. Nhận xét đã rút, nhưng bạn có thể điều chỉnh lại rõ ràng hơn một chút vì một số người dường như đã đọc nó giống như tôi đã làm. (Tôi nghĩ rằng 'tắc nghẽn' đặc biệt mang lại ấn tượng sai ở đây.)
Shinrai

12
@Let_Me_Be: Standartized định dạng văn bản? Bạn phải nói đùa. Windows hút theo nhiều cách, nhưng API Registry phổ biến là một điều nó làm tốt.
grawity

7
@Let_Me_Be: Từ này là "standartized", không phải là "tài liệu". Tôi muốn phân phối một .regtập tin (hoặc .ini, .xml, .json, bất cứ điều gì bạn muốn) trên máy X hơn phải regexp địa ngục ra khỏi hai mươi tập tin cấu hình khác nhau trong /etc/khi đang cố gắng thay đổi cài đặt mạng lưới rộng khắp nhưng giữ lại bổ sung địa phương liên quan ... trong khi bạn Sẽ không tìm thấy lời giải thích chi tiết hoàn hảo cho các trung tâm đăng ký Windows, cấu trúc của chúng không hoàn toàn là một bí mật . (rời khỏi flamewar)
grawity

7

Cài đặt toàn hệ thống được đặt trong các tệp trong /etc, mỗi cài đặt người dùng thường được đặt dưới dạng tệp ẩn (bắt đầu w / a.) Trong thư mục gốc của người dùng. Để biết thêm thông tin về một chương trình cụ thể, hãy xem trang này - man [program name].


Có thể muốn đề cập đến .*rccác tập tin trong thư mục nhà của người dùng. /etcchỉ là thứ toàn hệ thống.
Mike DeSimone

5

Hầu hết các ứng dụng sử dụng các tệp cấu hình dựa trên văn bản (thông thường mỗi chương trình có định dạng riêng, mặc dù một số sử dụng XML hoặc JSON). Cấu hình toàn hệ thống được giữ dưới /etc.

Cấu hình người dùng thường được lưu trữ trong thư mục chính của người dùng, trong cái gọi là "tệp chấm" (tên tệp bắt đầu bằng " ."; sử dụng ls -ađể hiển thị chúng). Để tránh "dotfile creep", các chương trình gần đây đã bắt đầu giữ cấu hình của chúng trong ~/.config/mỗi đặc tả của XDG Base Directory .

Các môi trường máy tính để bàn khác nhau có các API giống như Sổ đăng ký của riêng họ: Gconf (không dùng nữa) và dconf / GSinstall (mới) trong Gnome; Xfconf trong Xfce.


3

Nó được chia trên Linux. Không có một nơi duy nhất.

Đối với các chương trình được điều hành bởi người dùng, thường là $ HOME / .someprogramrc nếu đó là tệp hoặc $ HOME / .somedirname nếu đủ phức tạp để đảm bảo thư mục con. Tất cả các ứng dụng KDE đều tìm thấy các khoản phụ của $ HOME / .kde, tôi thường không tạo ra thư mục riêng của họ.

Hành động phổ biến cho các thư mục liệt kê là coi các tệp bắt đầu .là ẩn, vì vậy bạn sẽ cần sử dụng ls -Atừ dòng lệnh hoặc sử dụng show hidden filescài đặt gui của mình.

Đối với các chương trình được điều hành bởi hệ thống, nó thường là một tệp ở đâu đó trong /etc/Không có quy ước đặt tên thực sự, v.v., mặc dù các thư mục thường được biểu thị .dở cuối.

Đối với kernel, nó nằm trong /etc/sysconfig.confhoặc tập lệnh khởi động trong /etc/init.d ghi vào / Proc / sys / *

Hầu hết các cấu hình hệ thống được đưa vào /etcđể giúp sao lưu hệ thống dễ dàng hơn. Bằng cách chỉ giữ các tệp cấu hình và không nhị phân, /etc/do đó có xu hướng nhỏ.


0

Không có Registry trong linux. Nhưng bạn nên xem qua gconf-Editor và dconf-Editor ... và cả các tệp / thư mục ẩn trong thư mục chính của bạn (với tên bắt đầu bằng dấu chấm), chủ yếu là các tệp đơn giản (TXT) có chứa một số cấu hình cho một chương trình cụ thể.


-1

Sổ đăng ký Windows được tạo để tự động hóa các tệp .ini và các tệp cấu hình khác cho hệ điều hành và chương trình để nó tải nhanh hơn. Tất cả các thông tin trong sổ đăng ký cũng được chứa ở nơi khác trong máy tính nhưng ngày nay chúng thường được bảo vệ bằng văn bản. Linux sử dụng Vi (trình soạn thảo trực quan) hoặc trình soạn thảo khác để truy cập các tệp cấu hình này trong Linux để chỉnh sửa chúng.


2
Xin chào và chào mừng đến với superuser.com. Mặc dù tôi tin rằng những gì bạn đang cố gắng nói với người đăng là chính xác, nhưng nó không xuất hiện nhiều trong câu trả lời của bạn. Trừ khi bạn có một sự hiểu biết đúng đắn về cách Linux và Windows hoạt động, tôi tin rằng thật khó để hiểu những gì bạn đang cố gắng đạt được. Hãy suy nghĩ lại và viết lại câu trả lời của bạn để bất kỳ ai cũng có thể hiểu nó.
Mogget

-1

Windows: - Lưu trữ dữ liệu trong các tệp trong hệ thống phân cấp thư mục - Các tệp này giống như các tệp được đề cập và các tệp hỗ trợ khác - Sau đó, các tệp được quản lý thông qua các hệ thống quản lý như cơ sở dữ liệu (Registry) để cung cấp tương tác dễ dàng hơn với người dùng . - Điều này có nghĩa là chúng tôi chỉ và nhấp, nhưng TẤN dữ liệu được ghi trong nền để dễ sử dụng, khả năng truy cập nhanh hơn và lưu trữ dữ liệu không cần thiết trong tên sử dụng dễ dàng hơn.

Linux: - Các tệp được lưu trữ trong các phân vùng riêng biệt (chúng ta phải nhớ, trong Linux, chúng ta có thể truy cập phần cứng trực tiếp hơn, bao gồm cả màn hình - mọi thứ đều có thể truy cập thông qua CLI). - Các tệp này nằm trong hệ thống phân cấp thư mục đã có (trong hệ thống lưu trữ của HĐH, tương tự như Windows nhưng không chỉ cách nhau bởi các thư mục) - Các tệp dễ đọc hơn, dễ truy cập hơn, nhưng chúng đòi hỏi kiến ​​thức về CLI có thể sử dụng chúng.

Sự khác biệt chính: Windows thêm "lớp" cơ sở dữ liệu vào giao diện HĐH để quản lý các tương tác từ người dùng, hệ thống, v.v ... Điều này giúp "sử dụng GUI" dễ dàng hơn để truy cập và thực hiện mọi thứ, nhưng nó cũng làm cho người dùng và hệ thống phụ thuộc nhiều vào hệ thống cơ sở dữ liệu này cho hầu hết các chức năng. Mặt khác, Linus cho phép giao tiếp trực tiếp với các thành phần, nghĩa là bạn phải biết "ngôn ngữ" để nhập thay cho các phương pháp trỏ và nhấp của Windows. Có, bạn có thể sử dụng CLI thông qua Windows, nhưng sau đó bạn không thực sự so sánh so sánh Windows với Linux. Sự khác biệt là cách người dùng truy cập dữ liệu, cách hệ thống sử dụng dữ liệu và cách Windows chỉ cần thêm "quản lý" (theo hệ thống) để tạo ra "dễ dàng hơn"

Đây là một so sánh dễ hiểu để đánh giá là một người mới đối với môi trường CLI / Linux, nhưng nó có ý nghĩa hơn nhiều khi bạn áp dụng ý định của cả hai hệ thống này trước tiên. Linux không phải là "phá vỡ những nỗ lực mà microsvck đã thực hiện với sự tích hợp của Registry", nó mang lại cho người dùng nhiều sức mạnh hơn bằng cách loại bỏ các lớp trừu tượng giữa người dùng và phần cứng.

Để tưởng tượng điều này, hãy nghĩ về một máy đánh chữ. Bạn nhấn các phím, họ di chuyển các bánh răng và bạn đập mực vào giấy sản xuất dữ liệu. Trong Linux, người dùng nhập các lệnh để giao tiếp với nhân hệ thống để thực hiện các hành động trong phần cứng. Trong môi trường Windows, bạn có nhiều lớp tiềm năng hơn giữa người dùng và phần cứng. Các ứng dụng có thể gọi các lệnh giao tiếp với HĐH, giao diện với hệ thống / kernel, sau đó hoạt động với phần cứng. Quá trình này trở nên phức tạp hơn trong Windows khi có nhiều biến vào phương trình, như các lệnh phải tương tác với Registry để lấy thông tin trước khi có thể thực thi mọi thứ ... và đây là lý do Windows sử dụng nhiều tài nguyên hơn để chạy, làm cơ bản và nhiệm vụ phức tạp. Các dịch vụ và quy trình được tải sẵn được tải để cho phép quản lý các chức năng mà Linux sẽ yêu cầu người dùng gọi. Và vâng, có những quy trình chạy trong Linux, nhưng tôi đang cố gắng đưa ra một ý tưởng cơ bản về cách các hệ thống khác nhau để hiển thị tốt hơn tại sao một số ý kiến ​​khác không chính xác. Ý tưởng của việc sử dụng Linux là để giảm thiểu các giao diện giữa người dùng và phần cứng, giữ cho mọi thứ đơn giản hơn với ít sự lộn xộn hơn. Windows điều chỉnh cho người dùng và cố gắng bao gồm nhiều chức năng hơn theo cách dễ truy cập hơn, nhưng nó phải trả giá bằng các hệ thống quản lý phức tạp (có thể dễ dàng trở nên lộn xộn và có vấn đề). Cơ quan đăng ký cũng có thể cung cấp một dấu vết kỹ thuật số của tất cả các kết nối vật lý và các tương tác vật lý khác với phần cứng vừa được lưu và lưu (trừ khi được người dùng / chương trình làm sạch). TÔI' Tôi muốn có các tệp có thể đọc được mà tôi có thể xóa theo cách thủ công khi không sử dụng, so với việc dọn dẹp nhiều / nhiều điểm cần làm sạch thường xuyên trong Windows (và có khả năng gặp rủi ro lớn với các vấn đề LỚN của Registry). Nó chỉ là một lớp khác để quản lý những thứ phía sau hậu trường và thiết lập thêm một dấu vết kỹ thuật số mà người dùng bị mắc kẹt lưu trữ.

Thật không may, nhiều người dùng bị điều hòa với Windows và quá sợ Linux trước khi dùng thử. Có rất nhiều hương vị, một số có các lệnh, shell khác nhau, v.v ... trở nên khó chọn khi mới bắt đầu. Khi chúng tôi xóa "điều hòa Windows" của chúng tôi, sẽ rõ ràng hơn rằng các bản phân phối Linux vượt trội hơn về nhiều mặt (với phần mềm cồng kềnh). Kịch bản duy nhất mà cá nhân tôi cảm thấy Windows là vượt trội là chơi game. Nó trở nên đáng lo ngại hơn khi MS thúc đẩy nhiều hơn để hợp nhất với 1 HĐH cùng một lúc, luôn muốn nhận thêm dữ liệu từ bạn. Đó là một kỹ năng tốt để có và chơi với bản phân phối Linux có khả năng trả lời những câu hỏi này cho người dùng mới đọc những bài đăng này.


3
Điều này đọc giống như một lời nói chứ không phải là một câu trả lời. Nó là nghi ngờ cho dù nó thậm chí cố gắng thực sự trả lời câu hỏi như được hỏi. Nó cũng hoàn toàn sai ở một số nơi. (Tập tin trong Linux được lưu trữ trên phân vùng riêng biệt? Tập tin trong Linux đòi hỏi kiến thức của CLI để truy cập? Linux loại bỏ trừu tượng phần cứng so với người dùng Windows? Linux tương tác trực tiếp với các hạt nhân? Thực sự, WTF?) Tôi khuyên bạn nên các trang web du lịch để tìm hiểu cách chúng tôi làm mọi việc và đọc qua Làm thế nào để tôi viết một câu trả lời tốt cho các đề xuất. Sau đó bạn có thể chỉnh sửa này.
một CVn

1
@ MichaelKjorling: mặc dù bạn nói đúng về chất lượng của câu trả lời này, nhưng nó chứa một điều rất quan trọng: Windows registry (chương trình regedit) là một ứng dụng, hiển thị các phần bên trong như thể chúng được lưu trữ trong một cơ sở dữ liệu cấu hình, trong khi thực tế đó là các tập tin được trải đều trên PC. Điều này biến đổi câu hỏi ban đầu thành "Có công cụ Linux nào tóm tắt cấu hình chung của máy không, giống như regedit trong Windows?"
Dominique
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.