Заметки [ править ]
- ^ Исторически и строго в соответствии со стандартом,это данные, которые должны храниться на локальном хосте (в отличие от данных, которые могут быть смонтированы по сети). Большую часть временииспользуется для установки программного обеспечения / данных, которые не являютсячастью стандартного дистрибутива операционной системы (в таком случаебудут содержать только программное обеспечение / данные, которые являются частью стандартного дистрибутива операционной системы). Возможно, что в будущем стандарт FHS может быть изменен, чтобы отразить это фактическое соглашение.
Ограничения
Файл каталога, в котором хранятся все записи файлов и каталогов в единой структуре данных, приводит к проблемам с производительностью, когда система допускает многозадачность , поскольку только одна программа может писать в эту структуру одновременно, а это означает, что многие программы могут ждать в очереди. из-за того, что одна программа «заглатывала» систему. Это также серьезная проблема надежности, поскольку повреждение этого файла может разрушить всю файловую систему. Это контрастирует с другими файловыми системами, которые хранят записи файлов и каталогов в отдельных структурах (например, файловая система DOS FAT или файловая система Unix ), где распределение структуры по диску означает, что повреждение одного каталога обычно не является фатальным и данные может быть переконструирован с данными, хранящимися в неповрежденных частях.
Кроме того, ограничение в 65 535 блоков размещения привело к тому, что файлы имели «минимальный» размер, эквивалентный 1/65 535 размера диска. Таким образом, на любом томе, независимо от его размера, можно было хранить не более 65 535 файлов. Более того, любому файлу будет выделено больше места, чем это действительно необходимо, вплоть до размера блока распределения. Когда диски были маленькими, это не имело большого значения, потому что размер отдельного блока распределения был тривиальным, но когда диски начали приближаться к отметке 1 ГБ, наименьший объем пространства, который мог занимать любой файл (один блок распределения), стал чрезмерно большим. , тратя впустую значительное количество дискового пространства. Например, на диске размером 1 ГБ размер блока распределения в HFS составляет 16 КБ, поэтому даже 1-байтовый файл займет 16 КБ дискового пространства. Эта ситуация была меньшей проблемой для пользователей, имеющих большие файлы (например, изображения, базы данных или аудио), потому что эти большие файлы занимали меньше места в процентах от их размера. С другой стороны, пользователи с большим количеством небольших файлов могут потерять много места из-за большого размера блока распределения. Это сделало разбиение дисков на более мелкие логические тома очень привлекательным для пользователей Mac, потому что небольшие документы, хранящиеся на меньшем томе, занимали бы гораздо меньше места, чем если бы они находились на большом разделе. Та же проблема существовала в файловой системе FAT16.
HFS сохраняет регистр файла, который был создан или переименован, но без учета регистра при работе.
Согласно сайту bombich.com, HFS больше не поддерживается в Catalina и будущих выпусках macOS.
Стандарты:
Раздел | Корневая директория, содержащая всю файловую иерархию |
---|---|
/bin/ | Основные утилиты, необходимые как в однопользовательском режиме, так и при обычной работе всем пользователям (например: cat, ls, cp). |
/boot/ | Загрузочные файлы (в том числе файлы загрузчика, ядро, initrd, System.map). Обычно выносится на отдельный раздел. |
/dev/ | Основные файлы устройств (например, /dev/null, /dev/zero, /dev/sda1). |
/etc/ | Общесистемные конфигурационные файлы. |
/home/ | Домашние папки пользователей. Обычно выносится на отдельный раздел. |
/lib/ | Основные библиотеки, необходимые для работы программ из /bin/ и /sbin/. |
/media/ | Точки монтирования для сменных носителей, таких как CD-ROM, DVD-ROM, флэшек. |
/mnt/ | Содержит временно монтируемые файловые системы. |
/opt/ | Дополнительное программное обеспечение. |
/proc/ | Виртуальная файловая система, представляющая состояние ядра операционной системы и запущенных процессов в виде файлов. |
/root/ | Домашняя директория пользователя root. |
/sbin/ | Основные системные программы для администрирования и настройки системы (например, init, iptables, ifconfig). |
/srv/ | Данные, специфичные для окружения системы. |
/tmp/ | Временные файлы. |
/usr / | Вторичная иерархия для данных пользователя, содержит большинство пользовательских приложений и утилит. |
/usr/bin/ | Дополнительные программы для всех пользователей, не являющиеся необходимыми в однопользовательском режиме. |
/usr/include/ | Стандартные заголовочные файлы. |
/usr/lib/ | Библиотеки для программ, находящихся в /usr/bin/ и /usr/sbin/. |
/usr/sbin/ | Дополнительные системные программы (такие как демоны различных сетевых сервисов). |
/usr/share/ | Архитектурно-независимые общие данные. |
/usr/src/ | Исходные коды ядра. |
/usr/local/ | Третичная иерархия для данных, специфичных для данного хоста. Обычно содержит такие поддиректории, как bin/, lib/, share/. |
/var/ | Изменяемые файлы, такие как файлы регистрации (log-файлы), временные почтовые файлы, файлы спулеров. |
/var/lock/ | Лок-файлы, указывающие на занятость некоторого ресурса. |
/var/log/ | Различные log-файлы. |
/var/mail/ | Почтовые ящики пользователей. |
/var/run/ | Информация о запущенных программах (в основном, о демонах). |
/var/spool/ | Задачи, ожидающие обработки (например, очереди печати, непрочитанные или неотправленные письма). |
/var/tmp/ | Временные файлы, которые должны быть сохранены между перезагрузками. |
3.5 Other Debian peculiarities
3.5.1 The command
File diversions are a way of forcing not to
install a file into its default location, but to a diverted
location. Diversions can be used through the Debian package
scripts to move a file away when it causes a conflict. System administrators
can also use a diversion to override a package’s configuration file, or
whenever some files (which aren’t marked as conffiles) need to
be preserved by , when installing a newer version of a package
which contains those files.
# dpkg-divert filename # add "diversion" # dpkg-divert --remove filename # remove "diversion"
It’s usually a good idea not to use unless it is
absolutely necessary.
3.5.2 The package
If you compile a program from source, it is best to make it into a real local
debianized package (*.deb). Use equivs as a last
resort.
Package: equivs Priority: extra Section: admin Description: Circumventing Debian package dependencies This is a dummy package which can be used to create Debian packages, which only contain dependency information.
3.5.3 Alternative commands
To make the command run , use
:
# update-alternatives --display vi ... # update-alternatives --config vi Selection Command ----------------------------------------------- 1 /usr/bin/elvis-tiny 2 /usr/bin/vim *+ 3 /usr/bin/nvi Enter to keep the default, or type selection number: 2
Items in the Debian alternatives system are kept in
as symlinks.
To set your favorite X Window environment, apply
to and
.
is a direct symlink to or
. It’s safer to use to be
compatible with old Bashism-contaminated scripts but better discipline to use
to enforce POSIX compliance. Upgrading to a 2.4 Linux
kernel tends to set this to .
3.5.4 System-V and runlevels
The default runlevel to boot into can be set in .
Unlike other distributions, Debian makes the management of runlevel completely
the sysadmin’s responsibility. Management of System-V style
on Debian is intended to be performed through scripts.
Starting in runlevel 1,2,3 and
stopping in 4,5 with sequencing priority number 20 (normal) can be done by:
# update-rc.d name start 20 1 2 3 . stop 20 4 5 .
Removing symbolic links while the script in still exists
can be done by:
# update-rc.d -f name remove
For editing runlevels, I cheat. I edit entries manually using the
command at the shell prompt of while copying
link entries using Alt-Enter. For example:
# mv S99xdm K99xdm # disable xdm (X display manager)
I even disable a daemon by inserting exit 0 at the start of an
script as a quick hack. These are conffiles
after all.
3.5.5 Отключение неиспользующихся сервисов
Дистрибутив Debian серъезно относится к вопросам безопасности и ожидает участие
компетентного администратора. Поэтому иногда простота использования переходит
на второй план, и многие сервисы идут с наивысшим уровнем безопасности, а сама
система с минимальным набором работающих сервисов после установки по умолчанию.
Если Вы имеете какие-то сомнения относительно сервисов (Exim, DHCP, …),
запустите команду ps aux или проверьте содержимое файлов
и . Также проверьте
файл . Очень полезная команда
(смотрите ).
С недавних пор в Debian система X11 не позволяет удаленные TCP/IP подключения.
Проброс трафика системы X Window в тунеле SSH также запрещена.
Краткий справочник по Debian
CVS, Чтв 18. Янв 2007, 11:54:40 UTCOsamu Aoki
Перевод Ильи В. Головко
Регистр имен
Также стоит отметить чувствительность файловой системы Linux к регистру. Файлы Temp.txt и temp.txt будут интерпретироваться как разные файлы и могут находиться в одной директории, в отличие от ОС Windows, который не различает регистр имен. То же правило действует и на каталоги — имена в разных регистрах указывают на разные каталоги.
Назначение каждой директории регламентирует «Стандарт иерархии файловой системы» FHS (Filesystem Hierarchy Standard). Ниже опишем основные директории согласно стандарту FHS:
Стандарт иерархии файловой системы
- / — root каталог. Содержит в себе всю иерархию системы;
- /bin — здесь находятся двоичные исполняемые файлы. Основные общие команды, хранящиеся отдельно от других программ в системе (прим.: pwd, ls, cat, ps);
- /boot — тут расположены файлы, используемые для загрузки системы (образ initrd, ядро vmlinuz);
- /dev — в данной директории располагаются файлы устройств (драйверов). С помощью этих файлов можно взаимодействовать с устройствами. К примеру, если это жесткий диск, можно подключить его к файловой системе. В файл принтера же можно написать напрямую и отправить задание на печать;
- /etc — в этой директории находятся файлы конфигураций программ. Эти файлы позволяют настраивать системы, сервисы, скрипты системных демонов;
- /home — каталог, аналогичный каталогу Users в Windows. Содержит домашние каталоги учетных записей пользователей (кроме root). При создании нового пользователя здесь создается одноименный каталог с аналогичным именем и хранит личные файлы этого пользователя;
- /lib — содержит системные библиотеки, с которыми работают программы и модули ядра;
- /lost+found — содержит файлы, восстановленные после сбоя работы системы. Система проведет проверку после сбоя и найденные файлы можно будет посмотреть в данном каталоге;
- /media — точка монтирования внешних носителей. Например, когда вы вставляете диск в дисковод, он будет автоматически смонтирован в директорию /media/cdrom;
- /mnt — точка временного монтирования. Файловые системы подключаемых устройств обычно монтируются в этот каталог для временного использования;
- /opt — тут расположены дополнительные (необязательные) приложения. Такие программы обычно не подчиняются принятой иерархии и хранят свои файлы в одном подкаталоге (бинарные, библиотеки, конфигурации);
- /proc — содержит файлы, хранящие информацию о запущенных процессах и о состоянии ядра ОС;
- /root — директория, которая содержит файлы и личные настройки суперпользователя;
- /run — содержит файлы состояния приложений. Например, PID-файлы или UNIX-сокеты;
- /sbin — аналогично /bin содержит бинарные файлы. Утилиты нужны для настройки и администрирования системы суперпользователем;
- /srv — содержит файлы сервисов, предоставляемых сервером (прим. FTP или Apache HTTP);
- /sys — содержит данные непосредственно о системе. Тут можно узнать информацию о ядре, драйверах и устройствах;
- /tmp — содержит временные файлы. Данные файлы доступны всем пользователям на чтение и запись. Стоит отметить, что данный каталог очищается при перезагрузке;
- /usr — содержит пользовательские приложения и утилиты второго уровня, используемые пользователями, а не системой. Содержимое доступно только для чтения (кроме root). Каталог имеет вторичную иерархию и похож на корневой;
- /var — содержит переменные файлы. Имеет подкаталоги, отвечающие за отдельные переменные. Например, логи будут храниться в /var/log, кэш в /var/cache, очереди заданий в /var/spool/ и так далее.
Соответствие FHS
Большинство дистрибутивов Linux следуют Стандарту иерархии файловой системы и декларируют его собственную политику для поддержания соответствия FHS. GoboLinux и NixOS предоставляют примеры намеренно несовместимых реализаций файловых систем.
Некоторые дистрибутивы обычно следуют стандарту, но в некоторых областях отклоняются от него. FHS — это «конечный стандарт», который документирует общепринятые практики на определенный момент времени. Конечно, времена меняются, и цели и потребности распространения требуют экспериментов. Некоторые общие отклонения включают:
- Распределения Современные Linux включают в себя каталог в виде виртуальной файловой системы ( sysfs , сопоставимый , который является Procfs ), который хранит и позволяет модификацию устройств , подключенных к системе, в то время как многие традиционные Unix-подобные операционные системы используют в качестве символической ссылки к дерево исходных текстов ядра .
- Многие современные Unix-подобные системы (например, FreeBSD через систему портов ) устанавливают сторонние пакеты , сохраняя при этом код, который считается частью операционной системы .
- Некоторые дистрибутивы Linux больше не делают различий между и и имеют символические ссылки .
- Некоторые дистрибутивы Linux больше не делают различий между и и между и . Они могут быть символическими ссылками на и на . Другие дистрибутивы решили объединить все четыре, установив символические ссылки на них .
Современные дистрибутивы Linux включают каталог в качестве временной файловой системы ( tmpfs ), в которой хранятся изменчивые данные времени выполнения, следуя FHS версии 3.0. Согласно версии 2.3 FHS, такие данные хранились , но в некоторых случаях это было проблемой, поскольку этот каталог не всегда доступен при ранней загрузке. В результате, эти программы пришлось прибегнуть к обману, например, используя , , или директорий, даже если каталог устройство не предназначено для таких данных. Среди других преимуществ это упрощает использование системы в обычном режиме с корневой файловой системой, смонтированной только для чтения. Например, ниже приведены изменения, внесенные Debian в выпуск Wheezy 2013 года:
- →
- →
- →
- (записываемые файлы) →
- →
- →
- →
- →
История
FHS был создан как FSSTND (сокращение от «Стандарт файловой системы»), в значительной степени основанный на аналогичных стандартах для других Unix-подобных операционных систем. Примечательные примеры: hier (7) описание структуры файловой системы, существовавшее с момента выпуска версии 7 Unix (в 1979 г.); SunOS файловая система (7) и его преемник, Solaris , файловая система (5) .
История выпуска
Версия | Дата выхода | Примечания |
---|---|---|
Старая версия, больше не поддерживается: 1.0 | 1994-02-14 | FSSTND |
Старая версия, больше не поддерживается: 1.1 | 1994-10-09 | FSSTND |
Старая версия, больше не поддерживается: 1.2 | 1995-03-28 | FSSTND |
Старая версия, больше не поддерживается: 2.0 | 1997-10-26 | FHS 2.0 является прямым преемником FSSTND 1.2. Название стандарта было изменено на Стандарт иерархии файловой системы. |
Старая версия, больше не поддерживается: 2.1 | 2000-04-12 | FHS |
Старая версия, больше не поддерживается: 2.2 | 2001-05-23 | FHS |
Старая версия, но все еще поддерживается: 2.3 | 2004-01-29 | FHS |
Текущая стабильная версия: 3.0 | 2015-05-18 | FHS |
|
Создание архивов
В соответствии с традициями UNIX-программирования, программа должна делать что-то одно, но делать это хорошо.
Поэтому два процесса традиционно разделяются:
- архивация — объединение нескольких файлов в один (с сохранением имён и каких-либо атрибутов исходных файлов),
- компрессия — уменьшение размера архива (одного файла) при помощи алгоритма сжатия информации без потерь.
Архивация
tar tape archive) — формат битового потока или файла архива, а также название традиционной для UNIX программы для работы с такими архивами.
Первоначально программа tar использовалась для создания архивов на магнитной ленте, а в настоящее время tar используется для хранения нескольких файлов внутри одного файла, для распространения программного обеспечения, а также по прямому назначению — для создания архива файловой системы. Одним из преимуществ формата tar при создании архивов является то, что в архив записывается информация о структуре каталогов, о владельце и группе отдельных файлов, а также временны́е метки файлов.
Архивы обычно имеют расширение .tar.
Компрессия
gzip (сокращение от GNU Zip) — утилита сжатия и восстановления (декомпрессии) файлов, использующая алгоритм Deflate.
gzip выполняет только две функции: сжатие и распаковку одного файла; упаковка нескольких файлов в один архив невозможна. При сжатии к оригинальному расширению файла добавляется суффикс .gz.
Общая модель файловой системы
Функционирование любой файловой системы можно представить многоуровневой моделью, в которой каждый уровень предоставляет некоторый интерфейс (набор функций) вышележащему уровню, а сам, в свою очередь, для выполнения своей работы использует интерфейс (обращается с набором запросов) нижележащего уровня.
Задачей символьного уровня является определение по символьному имени файла его уникального имени. В файловых системах, в которых каждый файл может иметь только одно символьное имя (например, MS-DOS), этот уровень отсутствует, так как символьное имя, присвоенное файлу пользователем, является одновременно уникальным и может быть использовано операционной системой. В других файловых системах, в которых один и тот же файл может иметь несколько символьных имен, на данном уровне просматривается цепочка каталогов для определения уникального имени файла. В файловой системе UNIX, например, уникальным именем является номер индексного дескриптора файла (i-node).
На следующем, базовом уровне по уникальному имени файла определяются его характеристики: права доступа, адрес, размер и другие.
Следующим этапом реализации запроса к файлу является проверка прав доступа к нему. Для этого сравниваются полномочия пользователя или процесса, выдавших запрос, со списком разрешенных видов доступа к данному файлу. Если запрашиваемый вид доступа разрешен, то выполнение запроса продолжается, если нет, то выдается сообщение о нарушении прав доступа.
На логическом уровне определяются координаты запрашиваемой логической записи в файле, то есть требуется определить, на каком расстоянии (в байтах) от начала файла находится требуемая логическая запись. При этом абстрагируются от физического расположения файла, он представляется в виде непрерывной последовательности байт.
На физическом уровне файловая система определяет номер физического блока, который содержит требуемую логическую запись, и смещение логической записи в физическом блоке.
После определения номера физического блока, файловая система обращается к системе ввода-вывода для выполнения операции обмена с внешним устройством. В ответ на этот запрос в буфер файловой системы будет передан нужный блок, в котором на основании полученного при работе физического уровня смещения выбирается требуемая логическая запись.
Соответствие FHS
Большинство дистрибутивов Linux следуют Стандарту иерархии файловой системы и декларируют его собственную политику для поддержания соответствия FHS. GoboLinux и NixOS предоставляют примеры намеренно несовместимых реализаций файловых систем.
Некоторые дистрибутивы обычно следуют стандарту, но в некоторых областях отклоняются от него. FHS — это «конечный стандарт», который документирует общепринятые практики на определенный момент времени. Конечно, времена меняются, и цели и потребности распространения требуют экспериментов. Некоторые общие отклонения включают:
- Распределения Современные Linux включают в себя каталог в виде виртуальной файловой системы ( sysfs , сопоставимый , который является Procfs ), который хранит и позволяет модификацию устройств , подключенных к системе, в то время как многие традиционные Unix-подобные операционные системы используют в качестве символической ссылки к дерево исходных текстов ядра .
- Многие современные Unix-подобные системы (например, FreeBSD через систему портов ) устанавливают сторонние пакеты , сохраняя при этом код, который считается частью операционной системы .
- Некоторые дистрибутивы Linux больше не делают различий между и и имеют символические ссылки .
- Некоторые дистрибутивы Linux больше не делают различий между и и между и . Они могут симлинка в и к . Другие дистрибутивы решили объединить все четыре, установив символические ссылки на них .
Современные дистрибутивы Linux включают каталог в качестве временной файловой системы ( tmpfs ), в которой хранятся изменчивые данные времени выполнения, следуя FHS версии 3.0. Согласно версии 2.3 FHS, такие данные хранились , но в некоторых случаях это было проблемой, потому что этот каталог не всегда был доступен при ранней загрузке. В результате, эти программы пришлось прибегнуть к обману, например, используя , , или директорий, даже если каталог устройство не предназначено для таких данных. Среди других преимуществ это упрощает использование системы в обычном режиме с корневой файловой системой, смонтированной только для чтения. Например, ниже представлены изменения, внесенные Debian в его выпуск Wheezy 2013 года:
- →
- →
- →
- (записываемые файлы) →
- →
- →
- →
- →
Соответствие FHS
Наиболее Дистрибутивы Linux следуйте Стандарту иерархии файловой системы и объявите его собственной политикой по поддержанию соответствия FHS.GoboLinux и NixOS предоставить примеры намеренно несовместимых реализаций файловых систем.
Некоторые дистрибутивы обычно следуют стандарту, но в некоторых областях отклоняются от него. FHS — это «конечный стандарт», который документирует общепринятые практики на определенный момент времени. Конечно, времена меняются, и цели и потребности распространения требуют экспериментов. Некоторые общие отклонения включают:
- Современные дистрибутивы Linux включают каталог как виртуальная файловая система (sysfs, сравним с , что является procfs), который хранит и позволяет изменять устройства, подключенные к системе, тогда как многие традиционные Unix-подобный операционные системы используют как символическая ссылка к ядро исходное дерево.
- Многие современные Unix-подобные системы (например, FreeBSD через его порты system) установить сторонние пакеты в , сохраняя код, считающийся частью операционной системы, в .
- Некоторые дистрибутивы Linux больше не делают различий между и и имеют символическая ссылка на .
- Некоторые дистрибутивы Linux больше не делают различий между и и между и . Они могут быть символическими ссылками к и к . Другие дистрибутивы решили объединить все четыре, символизируя их .
Современные дистрибутивы Linux включают каталог как временная файловая система (tmpfs), в котором хранятся изменчивые данные времени выполнения, следуя FHS версии 3.0. Согласно версии 2.3 FHS, такие данные хранились в , но в некоторых случаях это было проблемой, потому что этот каталог не всегда доступен при ранней загрузке. В результате этим программам пришлось прибегнуть к хитрости, например, используя , , или же каталоги, даже если каталог устройства не предназначен для таких данных. Среди других преимуществ, это упрощает использование системы в обычном режиме с корневой файловой системой, смонтированной только для чтения. Например, ниже приведены изменения. Debian в версии Wheezy 2013 года:
- →
- →
- →
- (записываемые файлы) →
- →
- →
- →
- →
Как исправить ошибку «/var/lib/dpkg/lock-frontend»
Вы можете столкнуться с более сложной ситуацией, и проблема может заключаться в «заблокированных» файлах. Файлы блокировки ограничивают доступ к системным файлам до тех пор, пока не будет выполнена определенная операция. По завершении процесса блокировка будет автоматически снята для выполнения дальнейших операций системы. Итак, чтобы решить эту проблему, вам необходимо удалить файлы блокировки. Во-первых, проверьте файл блокировки, используя:
$ sudo lsof /var/lib/dpkg/lock-frontend
Если вы видите что-то «автоматическое» в выводе, дождитесь завершения этого процесса, потому что система работает над обновлениями.
В противном случае получите идентификаторы процессов и завершите их с помощью:
$ sudo kill -9
После этого вы можете удалить файл блокировки:
$ sudo rm /var/lib/dpkg/lock-frontend
Убедитесь, что вы перенастроили «dpkg» после удаления файла блокировки:
$ sudo dpkg --configure -a
Чтобы убедиться, что все в порядке и ошибка исправлена, запустите:
$ sudo apt update
Монтирование
Организация ФС в Unix отличается от организации ФС в DOS, Windows, где есть понятие отдельных устройств (диски C:, D:, …) и для доступа к фалу нужно сначала указать это устройство. В UNIX-системах есть общая иерархия, устройства есть подкаталоги корневой системы. Эти идеи стали позже перенимать в NT (возможность сделать монтирование раздела куда-то в дерево).
Монтирование (mounting) — это процесс, с помощью которого операционная система делает доступными файлы и каталоги на устройстве хранения (таком как жесткий диск, CD-ROM или общий сетевой ресурс) пользователю через файловую систему компьютера.
Точкой монтирования называют каталог, принадлежащий дереву каталогов корневой файловой системы, которая начинается с корневого каталога. Точка монтирования используется для реализации возможности динамически присоединять/отсоединять разделы диска к файловой системе во время работы операционной системы.
Примонтировать некоторое устройство в определённое место файловой системы (на примере CD-дисковода):
# mount -t iso9660 -o ro /dev/cdrom /mnt
При запуске команды mount без параметров выводится список смонтированных файловых систем.
Для размонтирования используется команда umount.
К монтированию имеют отношение следующие конфигурационные файлы:
- /etc/fstab (file systems table) — то, что монтируется при загрузке системы
- /etc/mtab (mounted file systems table) — то, что примонтировано сейчас
Современные Linux-системы используют менеджер udev для автомонтирования внешних накопителей (USB-флешек, CD/DVD и пр.). В старых дистрибутивах в начале двухтысячных его не было, нужно было вручную монтировать и размонтировать носитель, что часто неудобно.
Популярные ФС
- Ext4. В Ubuntu Linux эта файловая система используется по умолчанию при автоматическом разбиении диска инсталлятором.
- Ext2. Достаточно быстра для того, чтобы служить эталоном в тестах производительности файловых систем. Она не является журналируемой файловой системой, и это её главный недостаток.
- FAT16, FAT32 и exFAT (FAT64). Широко используется в картах памяти, USB-накопителях.
- NTFS. Файловая система MS Windows. В UNIX-системах её поддержка ограниченна. Драйвер в ядре Linux умеет читать NTFS. Для записи обычно используют внешний драйвер NTFS-3G.
Соответствие FHS
Наиболее Дистрибутивы Linux следуйте Стандарту иерархии файловой системы и объявите его собственной политикой по поддержанию соответствия FHS.GoboLinux и NixOS предоставить примеры намеренно несовместимых реализаций файловых систем.
Некоторые дистрибутивы обычно следуют стандарту, но в некоторых областях отклоняются от него. FHS — это «конечный стандарт», который документирует общепринятые практики на определенный момент времени. Конечно, времена меняются, и цели и потребности распространения требуют экспериментов. Некоторые общие отклонения включают:
- Современные дистрибутивы Linux включают каталог как виртуальная файловая система (sysfs, сравним с , что является procfs), который хранит и позволяет изменять устройства, подключенные к системе, тогда как многие традиционные Unix-подобный операционные системы используют как символическая ссылка к ядро исходное дерево.
- Многие современные Unix-подобные системы (например, FreeBSD через его порты system) установить сторонние пакеты в , сохраняя код, считающийся частью операционной системы, в .
- Некоторые дистрибутивы Linux больше не делают различий между и и имеют символическая ссылка на .
- Некоторые дистрибутивы Linux больше не делают различий между и и между и . Они могут быть символическими ссылками к и к . Другие дистрибутивы решили объединить все четыре, символизируя их .
Современные дистрибутивы Linux включают каталог как временная файловая система (tmpfs), в котором хранятся изменчивые данные времени выполнения, следуя FHS версии 3.0. Согласно версии 2.3 FHS, такие данные хранились в , но в некоторых случаях это было проблемой, потому что этот каталог не всегда доступен при ранней загрузке. В результате этим программам пришлось прибегнуть к хитрости, например, используя , , или же каталоги, даже если каталог устройства не предназначен для таких данных. Среди других преимуществ, это упрощает использование системы в обычном режиме с корневой файловой системой, смонтированной только для чтения. Например, ниже приведены изменения. Debian в версии Wheezy 2013 года:
- →
- →
- →
- (записываемые файлы) →
- →
- →
- →
- →
Почему возникает ошибка «/var/lib/dpkg/lock»
Эта ошибка обычно возникает, когда процесс обновляет систему, а вы пытаетесь получить доступ к системе для выполнения какой-либо другой операции. Например, система Ubuntu блокирует доступ «dpkg», чтобы операционная система не завершила процесс обновления. Это также может произойти из-за произвольного процесса, который постоянно работает в фоновом режиме и сохраняет задействованным «/var/lib/dpkg».
Эти процессы не позволяют вам устанавливать новые приложения или выполнять команды. Есть несколько способов решить эту проблему. Сначала тщательно диагностируйте проблемы, а затем приступайте к их исправлению. Давайте разберемся, как исправить эту проблему.