Изменение реестра
Чтобы изменить данные реестра, программа должна использовать функции реестра, определенные в функциях реестра.
Администраторы могут изменять реестр с помощью редактора реестра (Regedit.exe или Regedt32.exe), файлов групповой политики, системной политики, реестра (.reg) или запуска сценариев, таких как файлы скриптов VisualBasic.
Использование пользовательского Windows интерфейса
Рекомендуется использовать интерфейс Windows для изменения параметров системы, а не вручную изменять реестр. Однако редактирование реестра иногда может быть оптимальным методом для решения проблемы продукта. Если проблема задокументирована в базе знаний Майкрософт, будет доступна статья с пошагированными инструкциями по редактированию реестра для этой проблемы. Мы рекомендуем выполнять эти инструкции точно.
Использование редактора реестра
Предупреждение
При неправильном изменении реестра с использованием редактора реестра или другого способа могут случиться серьезные проблемы. Для решения этих проблем может потребоваться переустановка операционной системы. Компания Microsoft не может гарантировать, что эти проблемы могут быть решены. Вносите изменения в реестр на ваш страх и риск.
Вы можете использовать редактор реестра для следующих действий:
- Найдите подтрий, ключ, подкайку или значение
- Добавление подкайки или значения
- Изменение значения
- Удаление подкайки или значения
- Переименование подкайки или значения
Область навигации редактора реестра отображает папки. Каждая папка представляет предопределяемую клавишу на локальном компьютере. При доступе к реестру удаленного компьютера отображаются только два предопределённых ключа: HKEY_USERS и HKEY_LOCAL_MACHINE.
Использование групповой политики
На консоли управления Майкрософт (MMC) размещены административные средства, которые можно использовать для администрирования сетей, компьютеров, служб и других компонентов системы. Оснастка MMC групповой политики позволяет администраторам определять параметры политики, применяемые к компьютерам или пользователям. Групповую политику можно реализовать на локальных компьютерах с помощью локальной оснастки MMC групповой политики Gpedit.msc. Можно реализовать групповую политику в Active Directory с помощью оснастки пользователей и компьютеров Active Directory MMC. Дополнительные сведения об использовании групповой политики см. в разделе Справка в соответствующей оснастке MMC групповой политики.
Использование файла Записи регистрации (.reg)
Создайте файл Записи регистрации (.reg), содержащий изменения реестра, а затем запустите файл .reg на компьютере, где необходимо внести изменения. Файл .reg можно запускать вручную или с помощью скрипта logon. Дополнительные сведения см. в публикации How to add, modify or delete registrys and values by using a Registration Entries (.reg) file.
Использование Windows скрипта
Хост Windows скриптов позволяет запускать VBScript и JScript непосредственно в операционной системе. Вы можете создать VBScript и JScript, которые используют Windows для удаления, чтения и записи ключей и значений реестра. Дополнительные сведения об этих методах можно получить на следующих веб-сайтах Майкрософт:
Использование Windows инструментов управления
Windows Инструментарий управления (WMI) является компонентом операционной системы Microsoft Windows и является microsoft реализация Web-Based Enterprise управления (WBEM). WBEM — это отраслевая инициатива по разработке стандартной технологии для доступа к сведениям об управлении в корпоративной среде. С помощью WMI можно автоматизировать административные задачи (например, редактирование реестра) в корпоративной среде. WMI можно использовать в языках скриптов, на Windows которые обрабатывают объекты Microsoft ActiveX. Вы также можете использовать утилиту WMI Command-Line (Wmic.exe) для изменения Windows реестра.
Дополнительные сведения о WMI см. в Windows инструментов управления.
Дополнительные сведения о утилите WMI Command-Line см. в описании утилиты командной строки управления Windows (WMI) (Wmic.exe).
Используйте средство реестра консоли для Windows
Для редактирования реестра можно использовать средство реестра консоли Windows (Reg.exe). Для получения помощи с Reg.exe введите в командной подсказке, а затем нажмите кнопку ОК.
Устранение неполадок
-
Файл конфигурации сохранен в формате XML. Убедитесь, что вы следуете всем правилам синтаксиса XML. Помните, что XML является чувствительным к делу. Если XML не сформирован, или если элемент опечатка, вы получите исключение.
Например, если вы добавляете ключевой атрибут элемента с верхним корпусом K вместо нижнего уровня k или если раздел отображается как (с верхним шкафом А вместо нижнего шкафа а), вы получите сообщение об ошибке.
-
Файл конфигурации должен быть сохранен в той же папке, что и связанное с ним приложение.
-
Для имени файла конфигурации необходимо использовать следующий синтаксис:
<ApplicationName>.<ApplicationType>.configГде <ApplicationName> имя приложения. <ApplicationType> это тип приложения, например . И это необходимый суффикс.
Поиск по редактору реестра
- Когда мне нужно было отключить защитник Windows 8.1, я на всякий случай проверяя нужное мне значение ключа в реестре, именно тогда поиск оказался мне очень кстати. Чтобы вам отыскать нужный ключ, вам необходимо нажать сочетание клавиш Win+R и ввести regedit.
- В редакторе реестра для того, чтобы начать поиск вам необходимо либо в меню правки выбрать соответствующий пункт
- или же нажать сочетание клавиш CTRL+F для открытия окна поиска, когда вы найдете первый результат и он вас не устроит вы можете продолжить поиск нажав клавишу F3.
У данного метода, как вы можете заметить огромный минус, вы не можете увидеть сразу все ключи по критерию, что не дает полной картины и во вторых данный процесс становится дольше по времени и я его использую, только тогда когда нет нужным мне утилит
Выявленные противоречия
Разногласия между требованиями оригинальных правил и теми, что были предложены ЦКИТ, находятся в пункте 4 второго раздела рекомендаций. В нем сказано, что использованные при разработке российского ПО, указанного в заявке на добавление в реестр российского софта, сторонние компоненты должны: «правомерно использоваться (на основании открытой лицензии, лицензионного договора/оферты правообладателя компонента и т.п.) и позволять получить исключительные права на ПО, использующее их в своем составе (ключевые компоненты ПО не должны распространяться на условиях таких лицензий, как GPL, MPL и т.п.)». На запрос CNews о том, почему рекомендациями запрещено все, что связано с GPL и MPL, представители ЦКИТ на момент публикации материала ответить не смогли.
Антон Кулагин отметил, что именно этот пункт может привести к тому, что из реестра отечественного ПО могут быть удалены десятки программ. В качестве примера он привел российские ОС. По его словам, в реестре числятся не менее 40 таких систем, построенных на ядре Linux, которое с 1991 г., когда Линус Торвальдс (Linus Torvalds) приступил к его разработке, распространяется под GPL-лицензией.
Спорный пункт рекомендаций ЦКИТ
К таким продуктам относятся, к примеру, ОС «Альт», ранее известная под названием AltLinux), РЕД ОС, «ОСь», а также ROSA и Astra Linux. Последняя, как сообщал CNews, выпускается в версиях для обычных пользователей и для госкомпаний и ведомств.
Кулагин подчеркнул, что, согласно действующим рекомендациям, все эти ОС были внесены в реестр с нарушением правил. Другими словами, они должны быть исключены из него без промедлений.
Реестр в ubuntu
Реестр и еще раз реестрНа буке стоит обычная хпшка, подключен вайфай, где записан пароль этого вифи? при подключении одни.
Как сделать запись в реестр win7 64. В реестр попадает только последняя записьДобрый вечер! Не могу сделать запись в реестр win7 64. Microsoft.Win32.RegistryKey hklm =.
VmWare. Хост Ubuntu клиент Ubuntu. add-apt-repository и gpuПриветствую уважаемые. Есть в наличии виртуальная машина с установленной ubuntu 18.04 для целей.
Файловый/медиа/принт сервер на базе Ubuntu для windows,android,ubuntuВсем доброго времени суток. Пришла идея сделать из старого десктопа сервер. AMD Sempron LE-1250.
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.
Прокси сервер c ubuntu в гостевой ОС virtual box для защиты основного компа с ubuntuПомогите с настройкой, нужно чтобы весь интернет трафик проходил через виртуальную машину, прежде.
Настройка локальной сети UBUNTU – UBUNTU с расшариванием интернетаДоброго времени суток, уважаемые форумчане! Мне нужна помощь. Имеется: Два компьютера с.
С Ubuntu 14.04 на windows xp или ubuntu 10.04 netbook editionЗдравствуйте, возникла проблема перехода c убунты на винду. У меня нетбук acer aspire e11.
Настройка подключения к рабочему столу. Ubuntu – UbuntuУ меня вот такая проблема: дома стоит ноут с ubuntu 15.04. Сам же я езжу в другой город со своим.
Настраиваемые параметры ядра
Системное ядро Linux разрабатывалось таким образом, чтобы всегда была возможность его максимально гибко (впрочем, как и всё в системах UNIX и Linux) настроить, адаптируя его к требуемым условиям эксплуатации и аппаратному окружению. Причём так, чтобы это было возможно динамически на готовой сборке ядра. Другими словами, системные администраторы могут в любой момент времени вносить корректирующие параметры, влияющие на работу как самого ядра, так и его отдельных компонентов.
Для реализации этой задачи между ядром и программами пользовательского уровня существует специальный интерфейс, основанный на информационных каналах. Через эти каналы и направляются инструкции, задающие значения для параметров ядра.
Но как и всё в системах UNIX и Linux, настройка параметров ядра по информационным каналам завязана на файловой системе. Чтобы просматривать конфигурацию ядра и управлять ею, в файловой системе в каталоге /proc/sys существуют специальные файлы. Это обычные файлы, но они играют роль посредников в предоставления интерфейса для динамического взаимодействия с ядром. Однако документация, касающаяся этого аспекта, в частности об описании конкретных параметров и их значений довольно скудна. Одним из источников, из которого можно почерпнуть некоторые сведения по этой теме, является подкаталог Documentation/sysent в каталоге с исходными кодами ядра.
Для наглядности стоит рассмотреть небольшой пример, показывающий, как через параметр ядра настроить максимальное число одновременно открытых файлов в системе:
$ cat /рrос/sys/fs/file-max 34916 $ sudo sh -c "echo 32768 > /proc/sys/fs/file-max"
Как можно видеть, к такому приёму можно довольно быстро привыкнуть и это не будет казаться чем-то очень сложным. Такой метод хоть и удобен, однако изменения не сохраняются после перезапуска системы.
Также можно использовать специализированную утилиту sysctl. Она позволяет получить значения переменных прямо из командной строки, либо список пар вида переменная=значение из файла. На этапе начальной загрузки утилита считывает начальные значения некоторых параметров, которые заданы в файле /etc/sysctl.conf. Более подробную информацию об утилите sysctl можно найти на страницах man-руководства.
В следующей таблице приводятся некоторые настраиваемые параметры ядра:
Каталог | Файл/параметр | Назначение |
С | autoeject | Автоматическое открывание лотка с компакт-диском при размонтировании устройства CD-ROM |
F | file-max | максимальное число открытых файлов. Для систем, которым приходится работать с большим количеством файлов, можно увеличивать это значение до 16384 |
F | inode-max | Максимальное число открытых индексных дескрипторов в одном процессе. Полезно для приложений, которые открывают десятки тысяч дескрипторов файлов |
К | ctrl-alt-del | Перезагрузка системы при нажатии комбинации клавиш <Ctrl+Alt+Del>. |
К | printk ratelimit | Минимальный интервал между сообщениями ядра, в секундах |
К | printk_ratelimi_burst | Количество сообщений, которые должны быть получены, перед тем как значение минимального интервала между сообщениями printk станет активным |
К | shmmax | Максимальный размер совместно используемой памяти |
N | conf/default/rp_filter | Включает механизм проверки маршрута к исходному файлу |
N | icmp_echo_
ignore_all |
Игнорирование ICMP-запросов, если значение равно 1 |
N | icmp_echo_
ignore_ broadcasts |
Игнорирование широковещательных ICMP-запросов, если значение равно 1. |
N | ip_forward | Перенаправление IP-пакетов, если значение равно 1. Например, когда машина на Linux используется как маршрутизатор, то это значение нужно устанавливать равным 1 |
N | ip_local_port_
range |
Диапазон локальных портов, выделяемый при конфигурировании соединений. Для повышения производительности серверов, инициирующих много исходящих соединений, этот параметр нужно расширить до 1024-65000 |
N | tcp_fin_timeout | Интервал для ожидания (в секундах) заключительного RN-пакета. В целях повышения производительности серверов, которые пропускают большие объемы трафика, нужно устанавливать более низкие значения (порядка 20) |
N | tcp_syncookies | Защита от атак волнового распространения SYN-пакетов. Нужно включать при наличии вероятности DOS-атак |
Условные обозначения: F — /proc/sys/fs, N — /proc/sys/net/ipv4, К — /proc/sys/kernel, С — /proc/sys/dev/cdrom.
Пример:
$ sudo sysctl net.ipv4.ip_forward=0
В результате выполнения этой команды будет отключено перенаправление IP-пакетов. Есть одна особенность для синтаксиса этой команды: символы точки в «net.ipv4.ip_forward» заменяют символы косой черты в пути к файлу ip_forward.
Временные данные
Временные данные нужны только в течение нескольких пересекающихся во времени или одного сеанса 1С:Предприятия.
К нескольким пересекающимся во времени сеансам относятся данные совместного использования, которые относятся к файловой информационной базе в целом и нужны, в частности, для реализации блокировок данных информационной базы. Такие данные хранятся в том же каталоге, что и файл информационной базы.
- Файл 1Cv8cl является носителем блокировок объектов базы данных, расположенной в файле .
- Файл 1Cv8Tmp.1cd хранит служебную сеансовую информацию, в частности список активных пользователей.
- Файл 1Cv8Tmp.1cl является носителем блокировок данных, расположенных в файле 1Cv8Tmp.1cd.
Для хранилища конфигурации 1С:Предприятие 8.0 в режиме Конфигуратора создает временные файлы аналогичного назначения, расположенные в каталоге хранилища конфигурации:
- Файл 1Cv8ddb.1cl является носителем блокировок данных из хранилища конфигурации.
- Файл 1Cv8dtmp.1cd хранит служебную сеансовую информацию, в частности список активных пользователей хранилища конфигурации.
- Файл 1Cv8dtmp.1cl является носителем блокировок данных, расположенных в файле 1Cv8ddb.1cd.
Данные, используемые только в течение одного сеанса 1С:Предприятия, размещаются во временных файлах, создаваемых в каталоге, определенном в системе Microsoft Windows как каталог временных файлов. При этом для клиентского приложения используется каталог временных файлов текущего пользователя Windows, например, C:\Documents and Settings\User\Local Settings\Temp. Для сервера 1С:Предприятия используется или системный каталог временных файлов или каталог данных приложений пользователя, от имени которого запускаются рабочие процесса сервера 1С:Предприятия, например, C:\WINNT\Temp.
Журнал регистрации
Журнал регистрации относится к информационной базе и служит для сохранения информации о событиях, возникающих в процессе работы пользователей с данной информационной базой
Эта информация может быть важной с организационной точки зрения, но не является необходимой для функционирования прикладного решения на базе 1С:Предприятия
Журналы регистрации хранятся в специальных каталогах 1Cv8Log по одному на каждую информационную базу. Каждый каталог содержит файл 1Cv8.lgf и несколько файлов с именами вида yyyyMMddhhmmss.lgp, где yyyy — номер года, MM — номер месяца, dd — номер дня в месяце, hh — номер часа, mm — номер минуты, ss — номер секунды. Например, «20070525200000.lgp«. Файл 1Cv8.lgf содержит общую информацию журнала регистрации. Каждый файл yyyyMMddhhmmss.lgp содержит фрагмент журнала регистрации за соответствующий период. Имя файла представляет момент времени начала периода. Длина периода определяется настройкой журнала регистрации «Разделять хранение журнала по периодам».
В файловом варианте информационной базы журнал регистрации располагается в каталоге информационной базы, в том же, что и файл самой информационной базы. Например, если информационная база хранится в файле C:/EnterpriseInfoBase/1cv8.1cd, то журнал регистрации будет находиться в каталоге C:/EnterpriseInfoBase/1Cv8log.
В клиент-серверном варианте информационной базы журнал регистрации располагается в подкаталоге рабочего каталога кластера. Имя подкаталога определяется идентификатором информационной базы. Например: «C:/Program Files/1cv82/server/reg_1541/fb9d9cc4-ccd0-4be7-87e8-c5182945291e/1Cv8Log». Подробно о рабочем каталоге центрального сервера и кластера можно прочитать в разделе «Хранение настроек кластера серверов 1С:Предприятия 8«.
Содержимое реестра
Два основных HKEY
Реестр разделен на разные логические разделы. Они обычно известны по именам, определяющим их при доступе через графический интерфейс Windows; все имена начинаются с «HKEY» (сокращение от « Дескриптор ключа», менеджер ключей).
Два основных ключа HKEY:
-
HKEY_LOCAL_MACHINE ( HKLM ) содержит информацию, которая является общей для всех пользователей компьютера:
- Оборудование
- безопасность
- SAM (менеджер учетных записей безопасности)
- Программное обеспечение, подраздел «Классы» соответствует HKEY_CLASSES_ROOT
- System, он содержит, в частности, ветвь CurrentControlSet (NB: CurrentControlSet \ Control \ Class содержит информацию о классах).
HKEY_USERS содержит конкретную информацию для каждого пользователя. Подветвление, соответствующее текущему пользователю, эквивалентно HKEY_CURRENT_USER . Предупреждение, этот куст отображается только в том случае, если связанный пользователь вошел в систему.
Остальные 4 HKEY — это
HKEY_CURRENT_CONFIG содержит информацию, которая обновляется немедленно, она восстанавливается после каждой загрузки.
HKEY_CLASSES_ROOT ( HKCR ) содержит информацию о зарегистрированных приложениях; это включает, среди прочего, ассоциации между расширениями файлов и идентификаторами классов объектов OLE , которые автоматически запускают соответствующий исполняемый файл. Это соответствует HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes . Пример: « .bat » и « XML » соответственно связаны с « batfile » и « движком сценария XML ».
HKEY_CURRENT_USER ( HKCU ) содержит информацию о вошедшем в систему пользователе. Это только дочерняя ветвь HKEY_USERS.
Динамически генерируемый HKEY_PERFORMANCE_DATA (или HKEY_DYN_DATA в Windows 9x) (REGEDIT не отображает его). Эти данные видны через служебную программу perfmon.msc.
Каждый из этих ключей разделен на подключи, которые могут содержать другие подключи и т. Д., Составляя целую древовидную структуру.
Ввод значений
Каждый ключ может содержать типизированные значения: существует около пятнадцати возможных типов данных,
- 1) двоичный файл REG_BINARY , создание возможно с помощью REGEDIT
- Весь
- 2) Dword REG_DWORD , 32 бит, возможно создание с помощью REGEDIT
- 3) REG_DWORD_BIG_ENDIAN , см. Порядок байтов
- 4) REG_DWORD_LITTLE_ENDIAN
- 5) Qword REG_QWORD 64 бита, возможно создание с помощью REGEDIT
- 6) REG_QWORD_BIG_ENDIAN (но необычный и недокументированный)
- 7) REG_QWORD_LITTLE_ENDIAN
- 2) Dword REG_DWORD , 32 бит, возможно создание с помощью REGEDIT
-
Строка символов
- Простая строка REG_SZ , создание возможно с помощью REGEDIT
- 9) REG_EXPAND_SZ расширяемая строка , позволяет использовать переменные среды , создание возможно с помощью REGEDIT
- 10) Многострочный REG_MULTI_SZ , создание возможно с помощью REGEDIT
- 11) NONE, REG_NONE: означает нетипизированные данные
- Ресурс
- 12) REG_RESOURCE_LIST
- 13) REG_RESOURCE_REQUIREMENTS_LIST
- 14) REG_FULL_RESOURCE_DESCRIPTOR
- 15) REG_LINK
GUID (и CLSID)
Большое количество ключей и значений ключей отображается regedit в формате, аналогичном {3F2504E0-4F89-11D3-9A0C-0305E82C3301}. Фактически, он находится в формате GUID (глобально уникальный идентификатор) (16 байт).
Программирование
С помощью языка C # можно читать и изменять реестр; различные методы
- CreateSubKey
- OpenSubKey и закрыть
- GetValue и SetValue
Это функции GetSetting , SaveSetting .
Также можно пройти через WSH ( Windows Scripting Host )
Язык Java
Переносимость языка Java означает, что доступ к реестру напрямую не реализован в Java.
В общем, для взаимодействия Java с собственным API, специфичным для операционной системы, вы должны пройти через JNI (Java Native Interface) .
В частном случае реестра это, например, DLL ICE_JNIRegistry .
Некоторые библиотеки не используют JNI для доступа к реестру. Так было с Java Registry Wrapper (на старом сайте «Java By Example | Registry, Xxx, Reg»).
Строчные и прописные буквы
В отличие от того, что принято в Windows, разные символы дают разные результаты. Пример: значения «нет» и «нет» могут дать очень разные результаты.
Пробел («») может использоваться в именах ключей, хотя это бывает редко (пример: необязательный ключ Use Search Asst ).
Определение строк подключения
Строки подключения определяют сведения, относящиеся к конкретному поставщику, для доступа к источникам данных. Строки подключения, определенные в файлах конфигурации, предоставляют сведения о поставщике данных для повторного использования в приложении. В этом разделе создайте две строки подключения, которые будут использоваться источниками данных, определенными в настраиваемом разделе конфигурации.
Определение строк подключения
-
После элемента configSections создайте элемент connectionStrings.
-
В элементе connectionStrings создайте два элемента add.
-
В первом элементе add создайте следующие атрибуты и значения для подключения к базе данных Microsoft Access:
attribute | Значения |
---|---|
Во втором элементе add создайте следующие атрибуты и значения для подключения к таблице Microsoft Excel:
attribute | Значения |
---|---|
Элемент connectionStrings должен принять следующий вид:
diff
Если вы никогда не использовали утилиту ранее, вы наверняка не подозреваете о том, что теряли. Утилита diff предназначена для решения простой задачи: она сравнивает один файл с другим и выводит информацию об их различиях. Позвольте мне объяснить более подробно.
Представьте, что у вас имеются два файла конфигурации. Файл File1 содержит следующий текст:
<Directory "/var/www"> AllowOverride None Require all granted </Directory>
Файл File2 — следующий текст:
<Directory "/var/www/html"> AllowOverride None Require all granted </Directory>
Если вы имеете дело с файлами с подобным содержимым, вы без труда сможете открыть их с помощью любого текстового редактора и самостоятельно найти различия в содержимом. Но что делать в том случае, если в данные файлы будут добавлены тысячи дополнительных строк с комментариями и другими значениями параметров конфигурации программного обеспечения? Да, внезапно данная простая задача станет более сложной.
Благодаря существованию утилиты diff мы сможем без каких-либо сложностей найти различия между этими файлами. Если мы откроем окно терминала и выполним с помощью него команду , мы увидим следующий вывод, четко отражающий различия между ними (Рисунок 1).
Рисунок 1: Утилита diff выводит информацию о различиях между файлами File1 и File2.
Вам следует обращать особое внимание на буквы , и , причем:
- обозначает, что строка была добавлена
- обозначает, что строка была изменена
- обозначает, что строка была удалена
В данном примере несложно обнаружить строку вывода , которая обозначает, что строка 1 была изменена во втором файле.
Вывод утилиты diff является немного неочевидным, так как он предназначен для чтения специализированным программным обеспечением, а не людьми. Эта утилита была разработана с целью получения информации о том, как нужно модифицировать файлы для того, чтобы синхронизировать их содержимое
Однако, важно понимать, что в ее выводе отражаются лишь те строки файлов, которые различаются. В нашем примере все строки файлов являются идентичными за исключением их первых строк, точнее их фрагментов, а именно в первом файле и во втором
Использование утилиты diff значительно упрощает поиск различий между двумя файлами конфигурации. Конечно, утилита diff является гораздо более сложной, но понимание данного фундаментального приема ее использования может значительно облегчить задачу поиска различий в файлах.
Мы можем изменить содержимое файла File2 следующим образом:
<Directory "/var/www/html"> AllowOverride all </Directory>
В этом случае вывод утилиты diff будет более сложным. Чтобы упростить его, мы можем выполнить команду . Параметр позволяет активировать контекстный формат вывода, который гораздо проще читается (Рисунок 2).
Рисунок 2: Более сложный вывод команды diff в более простом для понимания формате благодаря наличию параметра c.
В данном случае утилита diff выводит информацию о том, что строки 1 и 4 из файла File1 и строки 1 и 3 файла File2 отличаются. Теперь вы можете внести все необходимые изменения в них.
Где в Linux диски C, D, E?
Если задаться вопросов, где диск C в Linux, то его можно обнаружить сразу в двух местах. Во-первых, поскольку в Linux все физические устройства являются файлами, то диск C будет представлен файлом, например, с именем /dev/sda. Первая часть в этом имени — /dev/ — это директория, в которой расположены файлы, обозначающие устройства (о всех директориях будет рассказано далее). А sda — это уже непосредственно имя диска. Если однотипных дисков несколько, то последующим присваиваются другие буквы: /dev/sdb, /dev/sdc и т. д. Имя диска указывает на вид носителя. Например, буквы sd означают Solid Drive, то есть твердотельный диск. Если имя /dev/hda, то буквы hd означают Hard Drive (жёсткий диск).
Допустим имя диска /dev/hdc, что можно сказать о нём? Можно утверждать, что это жёсткий диск и он третий в системе.
Диски могут иметь и другие имена, например, у меня системный диск называется /dev/nvme0n1 — я погуглил, оказывается это новый вид твердотельных дисков NVM Express (NVMe).
Итак, мы уже нашли диск C? Не совсем. Имя /dev/sda это всего лишь обозначение устройства, которое предполагает использование имени для управления самим устройством. Например, если мы хотим создать новый раздел на диске или изменить размеры существующих, то мы откроем соответствующую программу, и в качестве параметра передадим ей имя диска, с которым хотим работать. Мы не можем открывать файлы обращаясь к диску по имени вида /dev/*
Иноды и метаданные
Файловая система должна хранить файлы, которые могут находиться в каталогах, которые, в свою очередь, могут иметь подкаталоги. При этом что-то где-то должно записывать информацию о расположении всех файлов файловой системы, имена файлов, их размер, к каким учетным записям они принадлежат, какие у них разрешения и т.д. Данная информация называется метаданными — данные, которые описывают другие данные. Метаданные хранятся в иноде файла.
Инод (или «индексный дескриптор», «inode», от англ. «index node») — это структура данных, в которой хранятся метаданные о стандартных файлах, каталогах или других объектах файловой системы. Каждый используемый инод ссылается на 1 файл. Каждый файл имеет 1 инод. Каталоги, символьные и блочные устройства — всё это является файлами, а значит у каждого из них есть по 1 иноду.
Информация об инодах хранится в специальной таблице, расположенной, обычно, в начале каждого раздела диска. Каждый раздел имеет свою, отдельную таблицу инодов.
Для каждого файла в каталоге есть запись, содержащая имя файла и связанный с ним номер инода. Вся остальная информация о файле извлекается из таблицы инодов с помощью номера инода файла.
Иноды уникальны только в границах разделов своих файловых систем. Если у вас есть два файла, которые находятся на разных разделах диска, то у них могут быть одинаковые номера инодов.
Если у вас закончатся иноды, то вы больше не сможете создавать новые файлы, даже если у вас осталось место в разделе диска.