Linux эквивалент реестра Windows

57

Что такое Linux-эквивалент реестра Windows? Если в Linux нет эквивалентной или аналогичной структуры, как обрабатываются действия, выполняемые реестром Windows в Linux?

серена
источник

Ответы:

54

Приложения Linux обычно хранят свою конфигурацию в текстовом файле, специфичном для приложения. Специфичные для машины конфиги обычно хранятся в дереве каталогов / etc. Пользовательские настройки обычно находятся в домашнем каталоге пользователя и часто в «скрытых» файлах, начинающихся с «.» (используйте 'ls -a', чтобы увидеть их).

uSlackr
источник
5
Можно также добавить, что эти текстовые файлы удобочитаемы и часто содержат комментарии, описывающие конкретный элемент конфигурации. Таким образом, документация часто находится прямо перед вами, когда вам нужно что-то изменить. Вы также можете добавить свои собственные заметки, например, почему вы что-то изменили. В реестре Windows нет таких «метаданных».
Кит
Конечно, этот ответ ошибочен, потому что целью реестра является не сохранение настроек, а регистрация компонентов, таких как dll и расширения оболочки, в операционной системе. Хранение конфигурации программы там Нахмуренная техника.
Адам Кейси
12
Не уверен насчет "хмурится", но это регулярно делается. Большинство MS-программ и многие сторонние хранилища данных конфигурации там.
uSlackr
7
@Dotmister: Такова была его цель ... во времена Windows 3.1. Начиная с 32-битной Windows (95 и NT), реестр стал базой данных конфигурации .
grawity
Хех ... так что, по сути, Linux делает то, что было предотвращено реестром Windows?
Изи
11

/proc для ядра связанных вещей

/etc для программного обеспечения связанных вещей

Конфигурацию Gnome можно считать похожей на Windows Registry.

Но поскольку основные принципы Linux и Windows диаметрально различны (Linux - открытый и совместимый, Windows - закрытый и препятствующий), прямой параллели нет.

Изменить: для тех, кто не согласен, вот небольшая история для вас: http://www.faqs.org/docs/artu/ (отличное чтение, независимо от вашего происхождения)

Позволь мне быть
источник
28
Я не понимаю, как философия проектирования программного обеспечения связана с особенностями конкретных реализаций хранилища конфигурации. Причина, по которой нет прямой параллели, заключается в том, что они принципиально разные архитектуры, а не только потому, что Microsoft ненавидит свободу.
Shinrai
8
@Shinrai Фундаментальная философия дизайна Unix (и Linux) использует стандартизированные текстовые форматы. Реестр Windows является проприетарным двоичным форматом. «Microsoft ненавидит свободу» здесь совершенно вне контекста. Windows была разработана, чтобы быть настолько несовместимой с Unix, насколько это возможно, и игнорировала все возможные международные стандарты (при создании своих собственных). Это старая история, но отсюда берется реестр Windows.
Let_Me_Be
7
@Let_Me_Be - извините, ваша формулировка помогла мне понять, что вы имели в виду «Открытый исходный код - лучший! Microsoft - воплощение зла!» как и многие фанатики * nix в сети, а не обсуждение буквального формата контента. Комментарий отозван, но вы можете перефразировать его, чтобы он был немного понятнее, поскольку, похоже, несколько человек прочитали его так же, как и я. (Я думаю, что «обструктивный» особенно производит неправильное впечатление.)
Shinrai
12
@Let_Me_Be: стандартизированные текстовые форматы? Ты, должно быть, шутишь. Windows отстой во многих отношениях, но общий API Реестра - это то, что она делает хорошо.
grawity
7
@Let_Me_Be: слово было «стандартизировано», а не «задокументировано». Я предпочел бы распространять один .regфайл (или .ini, .xml, .jsonвсе, что вы хотите) над X машинами , чем должен РегВыр ад из двадцати различных конфигурационных файлов в /etc/при попытке всей сети изменить настройки , но сохраняют несвязанные местные дополнения ... пока вы Я не найду совершенно подробного объяснения кустов реестра Windows, их структура не является полностью секретом . (покидает
огненную войну
7

Общесистемные настройки находятся в файлах /etc, а пользовательские настройки обычно находятся в виде скрытых файлов (начните с /) в домашнем каталоге пользователей. Для получения дополнительной информации о конкретной программе см. Справочную страницу - man [program name].

daalbert
источник
Может хочу отметить .*rcфайлы в домашнем каталоге пользователя. /etcэто просто общесистемный материал.
Майк ДеСимон
5

Большинство приложений используют текстовые файлы конфигурации (обычно каждая программа имеет свой собственный формат, хотя некоторые используют XML или JSON). Общесистемная конфигурация сохраняется /etc.

Пользовательская конфигурация обычно хранится в домашнем каталоге пользователя, в так называемых «точечных файлах» (имена файлов начинаются с « .»; используйте ls -aдля их отображения). Чтобы избежать "ползучести", недавно программы начали сохранять свою конфигурацию в ~/.config/соответствии со спецификацией XDG Base Directory .

Различные среды рабочего стола имеют свои собственные API-интерфейсы, подобные реестру : Gconf (не рекомендуется) и dconf / GSettings (новые) в GNOME; Xfconf в Xfce.

grawity
источник
3

Это разделено на Linux. Там нет ни одного места.

Для программ, запускаемых пользователями, обычно это файл $ HOME / .someprogramrc, если это файл, или $ HOME / .somedirname, если он достаточно сложный, чтобы гарантировать подкаталог. Я считаю, что все приложения KDE находят подрайоны $ HOME / .kde, обычно не генерируя свои собственные каталоги.

Обычное действие для перечисления каталогов состоит в том, чтобы рассматривать файлы, начинающиеся с .как скрытые, поэтому вам придется использовать их ls -Aиз командной строки или использовать show hidden filesнастройки вашего графического интерфейса.

Для программ, запускаемых системой, это, как правило, файл в « /etc/Там, где нет действительного соглашения об именах в etc», хотя каталоги обычно обозначаются .dв конце.

Для ядра он находится /etc/sysconfig.confили скрипт запуска в /etc/init.d, который пишет в / proc / sys / *

Большинство системных настроек используется /etcдля облегчения резервного копирования системы. Держа только файлы конфигурации, а не двоичные файлы, /etc/следовательно, имеет тенденцию быть маленьким.

Рич Гомолка
источник
0

В Linux нет Реестра. Но вам следует взглянуть на gconf-editor и dconf-editor ... а также на скрытые файлы / папки внутри вашего домашнего каталога (с именами, начинающимися с точки), в основном простые (TXT) файлы, содержащие некоторую конфигурацию для конкретной программы.

saeedgnu
источник
-1

Реестр Windows был создан для автоматизации различных INI-файлов и других файлов конфигурации операционной системы и программ, чтобы он мог загружаться быстрее. Вся информация в реестре также содержится в другом месте компьютера, но сегодня они обычно защищены от записи. Linux использует Vi (визуальный редактор) или другой редактор для доступа к этим файлам конфигурации в Linux для их редактирования.

builder7
источник
2
Здравствуйте и добро пожаловать на superuser.com. Хотя я верю в то, что вы пытаетесь сказать, что постер верен, он не очень хорошо отражается в вашем ответе. Если у вас нет приличного понимания того, как работают Linux и Windows, я считаю, что трудно понять, к чему вы стремитесь. Пожалуйста, переосмыслите и перепишите свой ответ, чтобы каждый мог его понять.
Mogget
-1

Windows: - Хранит данные в файлах в иерархии каталогов. - Эти файлы похожи на упомянутые .dll и другие вспомогательные файлы. - Затем файлы управляются через системы управления, такие как базы данных (Реестр), чтобы обеспечить более легкое взаимодействие с пользователем (пользователями). , - Это означает, что мы указываем и нажимаем, но ТОННЫ данных записываются в фоновом режиме для простоты использования, более быстрого доступа и ненужного хранения данных во имя более легкого использования.

Linux: - Файлы хранятся в отдельных разделах (мы должны помнить, что в Linux мы можем получить доступ к оборудованию более напрямую, включая экран - все доступно через CLI). - Эти файлы уже находятся в иерархии каталогов (в системе хранения операционной системы, похожей на Windows, но не разделены папками). - Файлы более читабельны, проще в обращении, но для них требуется знание интерфейса командной строки. быть в состоянии использовать их.

Основное отличие: Windows добавляет «слой» баз данных в интерфейс ОС для управления взаимодействиями с пользователем, системой и т. Д. Это упрощает использование графического интерфейса пользователя для доступа и выполнения всего, но также делает пользователя и систему сильно зависит от этой системы баз данных для большей функциональности. Linus, с другой стороны, позволяет напрямую взаимодействовать с компонентами, что означает, что вам нужно знать «язык», чтобы печатать вместо методов Windows «укажи и щелкни». Да, вы можете использовать CLI через Windows, но тогда вы действительно не сравниваете сравнение Windows с Linux. Различия заключаются в том, как пользователь получает доступ к данным, как система использует данные, и в том, как Windows просто добавляет больше «управления» (со стороны системы) для создания «более простого»

Это понятное сравнение для оценки как новичка в среде CLI / Linux, но имеет гораздо больше смысла, когда вы сначала применяете намерение обеих этих систем. Linux не «подрывает попытки, предпринятые Microsvck при интеграции реестра», он дает пользователю больше возможностей, устраняя уровни абстракции между пользователем и оборудованием.

Чтобы представить это, подумайте о пишущей машинке. Вы нажимаете клавиши, они перемещают шестерни, и вы вбиваете чернила в бумагу, производящую данные. В Linux пользователь вводит команды для взаимодействия с ядром системы для выполнения действий на оборудовании. В среде Windows у вас есть больше потенциальных слоев между пользователем и оборудованием. Приложения могут вызывать команды, которые взаимодействуют с ОС, которая взаимодействует с системой / ядром, которая затем работает с оборудованием. Этот процесс усложняется в Windows по мере того, как в уравнение входит больше переменных, например команды, взаимодействующие с реестром для получения информации, прежде чем можно будет что-то выполнять ... и именно поэтому Windows использует больше ресурсов для запуска, выполнения основных и сложные задачи. Предварительно загруженные сервисы и процессы загружаются, чтобы разрешить управление функциями, которые Linux потребует от пользователя вызывать. И да, есть процессы, которые выполняются в Linux, но я пытаюсь просто дать общее представление о том, как системы отличаются, чтобы лучше показать, почему некоторые другие комментарии были неточными. Идея использования Linux состоит в том, чтобы минимизировать интерфейсы между пользователем и оборудованием, упрощая работу с гораздо меньшими помехами. Windows приспосабливается к пользователям и пытается охватить больше функциональных возможностей более легкодоступным способом, но это происходит за счет сложных систем управления (которые могут легко стать загроможденными и проблемными). Реестр также может предоставить цифровой журнал всех физических соединений и других физических взаимодействий с оборудованием, которое только что сохранено и сохранено (если не очищено пользователем / программой). Я' Я предпочел бы иметь читаемые файлы, которые я могу удалить вручную, когда они не используются, по сравнению с очисткой различных / многих мест, нуждающихся в регулярной очистке в Windows (и потенциально рискующих БОЛЬШИМИ проблемами в реестре). Это просто еще один уровень для управления событиями за кулисами и создания большего количества цифровых следов, которые пользователь застревает при хранении.

К сожалению, многие пользователи привыкли к Windows и слишком боятся Linux до суда. Есть так много вкусов, некоторые из которых имеют различные команды, оболочки и т. Д., Который становится трудным выбрать в качестве новичка. Как только мы уберем наше «условие Windows», станет яснее, что дистрибутивы Linux во многом превосходят (без вздутого программного обеспечения). Единственный сценарий, по которому я считаю, что Windows лучше, - это игры. Это становится все более тревожным, так как MS подталкивает к объединению с одной ОС за раз, всегда желая получить больше данных от вас. Это хороший навык, и игра с дистрибутивом Linux может потенциально ответить на эти вопросы для новых пользователей, читающих эти посты.

Майк Хок
источник
3
Это звучит как разглагольствование, а не как ответ. Сомнительно, пытается ли он вообще ответить на вопрос в том виде, в котором он был задан. Это также совершенно неправильно в нескольких местах. (Файлы в Linux хранятся на отдельных разделов? Файлов в Linux требует знания CLI для доступа? Linux устранение аппаратных абстракций по сравнению с Windows? Пользователей Linux , взаимодействующих непосредственно с ядром? На самом деле, WTF?) Я призываю вас на сайте тур в узнать, как мы делаем вещи и прочитать, как написать хороший ответ на предложения. Вы можете отредактировать это.
CVn
1
@ MichaelKjörling: хотя вы правы в отношении качества этого ответа, он содержит одну вещь, которая очень важна: реестр Windows (программа regedit) - это одно приложение, показывающее внутренние компоненты, как если бы они хранились в одной базе данных конфигурации, тогда как на самом деле они файлы распространяются по всему ПК. Это превращает первоначальный вопрос в «Есть ли инструмент Linux, который дает сводную информацию об общей конфигурации машины, что-то вроде regedit в Windows?»
Доминик