Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-doc
Path: blob/main/documentation/content/ru/articles/solid-state/_index.po
18096 views
# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR The FreeBSD Project
# This file is distributed under the same license as the FreeBSD Documentation package.
# Vladlen Popolitov <[email protected]>, 2025, 2026.
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
"POT-Creation-Date: 2024-12-29 08:30-0500\n"
"PO-Revision-Date: 2026-04-05 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <[email protected]>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/articlessolid-state_index/ru/>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.17\n"

#. type: YAML Front Matter: description
#: documentation/content/en/articles/solid-state/_index.adoc:1
#, no-wrap
msgid "The use of solid state disk devices in FreeBSD"
msgstr "Использование твердотельных накопителей (SSD) в FreeBSD"

#. type: Title =
#: documentation/content/en/articles/solid-state/_index.adoc:1
#: documentation/content/en/articles/solid-state/_index.adoc:12
#, no-wrap
msgid "FreeBSD and Solid State Devices"
msgstr "FreeBSD и твердотельные устройства (SSD)"

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:45
msgid "Abstract"
msgstr "Аннотация"

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:47
msgid ""
"This article covers the use of solid state disk devices in FreeBSD to create "
"embedded systems."
msgstr ""
"В этой статье описывается использование твердотельных дисковых устройств для "
"создания встраиваемых систем на основе FreeBSD."

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:50
msgid ""
"Embedded systems have the advantage of increased stability due to the lack "
"of integral moving parts (hard drives).  Account must be taken, however, for "
"the generally low disk space available in the system and the durability of "
"the storage medium."
msgstr ""
"Встраиваемые системы имеют преимущество в повышенной надёжности по причине "
"отсутствия в них движущихся частей (жёстких дисков). Однако, следует принять "
"во внимание, что системе, как правило, доступно очень малое дисковое "
"пространство и ограниченный объём запоминающего устройства."

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:53
msgid ""
"Specific topics to be covered include the types and attributes of solid "
"state media suitable for disk use in FreeBSD, kernel options that are of "
"interest in such an environment, the [.filename]#rc.initdiskless# mechanisms "
"that automate the initialization of such systems and the need for read-only "
"filesystems, and building filesystems from scratch.  The article will "
"conclude with some general strategies for small and read-only FreeBSD "
"environments."
msgstr ""
"К отдельно рассматриваемым вопросам относятся типы и характеристики "
"твердотельных носителей, подходящих для использования в качестве дисков во "
"FreeBSD, параметры ядра, которые представляют интерес в таких условиях, "
"механизмы [.filename]#rc.initdiskless#, автоматизирующие инициализацию таких "
"систем и удовлетворяющие требованиям файловых систем, доступных только для "
"чтения, а также построение файловых систем с нуля. Статья заканчивается "
"описанием некоторых общих стратегий для случаев малых систем FreeBSD и работ "
"в режиме только для чтения."

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:55
msgid "'''"
msgstr "'''"

#. type: Title ==
#: documentation/content/en/articles/solid-state/_index.adoc:59
#, no-wrap
msgid "Solid State Disk Devices"
msgstr "Твердотельные дисковые устройства"

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:69
msgid ""
"The scope of this article will be limited to solid state disk devices made "
"from flash memory.  Flash memory is a solid state memory (no moving parts) "
"that is non-volatile (the memory maintains data even after all power sources "
"have been disconnected).  Flash memory can withstand tremendous physical "
"shock and is reasonably fast (the flash memory solutions covered in this "
"article are slightly slower than a EIDE hard disk for write operations, and "
"much faster for read operations).  One very important aspect of flash "
"memory, the ramifications of which will be discussed later in this article, "
"is that each sector has a limited rewrite capacity.  You can only write, "
"erase, and write again to a sector of flash memory a certain number of times "
"before the sector becomes permanently unusable.  Although many flash memory "
"products automatically map bad blocks, and although some even distribute "
"write operations evenly throughout the unit, the fact remains that there "
"exists a limit to the amount of writing that can be done to the device.  "
"Competitive units have between 1,000,000 and 10,000,000 writes per sector in "
"their specification.  This figure varies due to the temperature of the "
"environment."
msgstr ""
"Эта статья будет ограничиваться рассмотрением твердотельных дисковых "
"устройств, которые делаются на основе флеш-памяти. Флеш-память является "
"твердотельным (здесь нет движущихся частей) запоминающим устройством, "
"которое является энергонезависимым (данные остаются в памяти даже после "
"отключения всех источников питания). Флеш-память может быть нечувствительной "
"к сильным физическим воздействиям и достаточно быстра (решения на основе "
"флеш-памяти, описываемые в этой статье, гораздо медленнее, чем диски EIDE "
"для операций записи, и гораздо быстрее их в случае выполнения операций "
"чтения). Одним из очень важных свойств флеш-памяти, различные варианты "
"которого будут рассмотрены далее в этой статье, является то, что каждый "
"сектор имеет ограниченные возможности по перезаписыванию. Вы можете только "
"записывать, стирать и снова записывать на сектор флеш-памяти определённое "
"количество раз до того, как сектор станет полностью неработоспособным. Хотя "
"многие продукты на основе флеш-памяти автоматически перенаправляют "
"испорченные блоки, а некоторые даже распределяют операции записи по всему "
"модулю, фактом является наличие ограничения на количество операций записи, "
"которые могут выполняться с устройством. Современные модули имеют "
"характеристики от 1,000,000 до 10,000,000 циклов записи на сектор. Эти "
"характеристики могут зависеть от температуры рабочей среды."

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:74
msgid ""
"Specifically, we will be discussing ATA compatible compact-flash units, "
"which are quite popular as storage media for digital cameras.  Of particular "
"interest is the fact that they pin out directly to the IDE bus and are "
"compatible with the ATA command set.  Therefore, with a very simple and low-"
"cost adaptor, these devices can be attached directly to an IDE bus in a "
"computer.  Once implemented in this manner, operating systems such as "
"FreeBSD see the device as a normal hard disk (albeit small)."
msgstr ""
"В частности, мы обсудим компактные модули флеш-памяти, совместимые со "
"стандартом ATA, которые стали весьма популярными в качестве носителя данных "
"для цифровых камер. Особый интерес представляет тот факт, что они "
"соответствуют шине IDE по контактам и совместимы с набором команд ATA. Таким "
"образом, при помощи очень простого и дешевого адаптера такие устройства "
"могут подключаться непосредственно к шине IDE компьютера. Если поступить "
"таким образом, то такие операционные системы, как FreeBSD, распознают диск "
"как обычный винчестер (весьма маленький)."

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:76
msgid ""
"Other solid state disk solutions do exist, but their expense, obscurity, and "
"relative unease of use places them beyond the scope of this article."
msgstr ""
"Существуют и другие решения для твердотельных дисков, но их стоимость, "
"безвестность и сравнительная сложность использования выводят их за рамки "
"этой статьи."

#. type: Title ==
#: documentation/content/en/articles/solid-state/_index.adoc:78
#, no-wrap
msgid "Kernel Options"
msgstr "Параметры ядра"

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:81
msgid ""
"A few kernel options are of specific interest to those creating an embedded "
"FreeBSD system."
msgstr ""
"Для тех, кто создаёт встраиваемую систему FreeBSD, интерес представляют "
"несколько параметров ядра."

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:86
msgid ""
"All embedded FreeBSD systems that use flash memory as system disk will be "
"interested in memory disks and memory filesystems.  As a result of the "
"limited number of writes that can be done to flash memory, the disk and the "
"filesystems on the disk will most likely be mounted read-only.  In this "
"environment, filesystems such as [.filename]#/tmp# and [.filename]#/var# are "
"mounted as memory filesystems to allow the system to create logs and update "
"counters and temporary files.  Memory filesystems are a critical component "
"to a successful solid state FreeBSD implementation."
msgstr ""
"Все встраиваемые системы FreeBSD, которые используют флеш-память в качестве "
"системного диска, заинтересованы в использовании дисков в памяти и файловых "
"систем в памяти. Из-за ограниченного количества циклов записи, которые можно "
"выполнить с флеш-памятью, диск и файловые системы на нём будут, скорее "
"всего, монтироваться в режиме доступа только для чтения. В таком случае "
"файловые системы типа [.filename]#/tmp# и [.filename]#/var# монтируются как "
"файловые системы в памяти для того, чтобы позволить системе создать журналы "
"и обновить счетчики и временные файлы. Файловые системы в памяти являются "
"критическим компонентом успешной работы FreeBSD на твердотельных устройствах."

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:88
msgid ""
"You should make sure the following lines exist in your kernel configuration "
"file:"
msgstr ""
"Вы должны удостовериться, что в конфигурационном файле вашего ядра "
"присутствуют следующие строки:"

#. type: delimited block . 4
#: documentation/content/en/articles/solid-state/_index.adoc:92
#, no-wrap
msgid "options         MD_ROOT         # md device usable as a potential root device\n"
msgstr ""
"options         MD_ROOT         # md device usable as a potential root "
"device\n"

#. type: Title ==
#: documentation/content/en/articles/solid-state/_index.adoc:95
#, no-wrap
msgid "The `rc` Subsystem and Read-Only Filesystems"
msgstr "Подсистема `rc` и файловые системы в режиме только чтения"

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:98
msgid ""
"The post-boot initialization of an embedded FreeBSD system is controlled by "
"[.filename]#/etc/rc.initdiskless#."
msgstr ""
"Инициализация встраиваемой системы FreeBSD после загрузки управляется [."
"filename]#/etc/rc.initdiskless#."

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:102
msgid ""
"[.filename]#/etc/rc.d/var# mounts [.filename]#/var# as a memory filesystem, "
"makes a configurable list of directories in [.filename]#/var# with the man:"
"mkdir[1] command, and changes modes on some of those directories.  In the "
"execution of [.filename]#/etc/rc.d/var#, one other [.filename]#rc.conf# "
"variable comes into play - `varsize`.  A [.filename]#/var# partition is "
"created by [.filename]#/etc/rc.d/var# based on the value of this variable in "
"[.filename]#rc.conf#:"
msgstr ""
"[.filename]#/etc/rc.d/var# монтирует [.filename]#/var# как файловую систему "
"в памяти, создаёт указываемый список каталогов в [.filename]#/var# при "
"помощи команды man:mkdir[1], изменяет режимы доступа на некоторые из этих "
"каталогов. В процессе выполнения [.filename]#/etc/rc.d/var# задействуется "
"ещё одна переменная [.filename]#rc.conf# - `varsize`. Скрипт [.filename]#/"
"etc/rc.d/var# создаёт раздел [.filename]#/var# на основе значения этой "
"переменной из [.filename]#rc.conf#:"

#. type: delimited block . 4
#: documentation/content/en/articles/solid-state/_index.adoc:106
#, no-wrap
msgid "varsize=8192\n"
msgstr "varsize=8192\n"

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:109
msgid "Remember that this value is in sectors by default."
msgstr "Запомните, что по умолчанию это значение указано в секторах."

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:116
msgid ""
"The fact that [.filename]#/var# is a read-write filesystem is an important "
"distinction, as the [.filename]#/# partition (and any other partitions you "
"may have on your flash media) should be mounted read-only.  Remember that in "
"crossref:solid-state[intro, Solid State Disk Devices] we detailed the "
"limitations of flash memory - specifically the limited write capability.  "
"The importance of not mounting filesystems on flash media read-write, and "
"the importance of not using a swap file, cannot be overstated.  A swap file "
"on a busy system can burn through a piece of flash media in less than one "
"year.  Heavy logging or temporary file creation and destruction can do the "
"same.  Therefore, in addition to removing the `swap` entry from your [."
"filename]#/etc/fstab#, you should also change the Options field for each "
"filesystem to `ro` as follows:"
msgstr ""
"Факт использования файловой системы [.filename]#/var# в режиме чтения и "
"записи является важным признаком, так как раздел [.filename]#/# (и любые "
"другие разделы, которые могут находиться на флеш-носителе) должен "
"монтироваться в режиме только для чтения. Вспомните, что в разделе crossref"
":solid-state[intro, Твердотельные дисковые устройства] мы касались "
"ограничений флеш-памяти - особенно ограничений, касающихся возможностей "
"записи. Важно не монтировать файловые системы на флеш-носителях в режимах "
"чтения и записи, и важность отказа от файла подкачки не может быть "
"переоценена. Файл подкачки на загруженной системе может пережечь кусок флеш-"
"носителя менее чем за год. Частое журналирование и создание временных файлов "
"приводят к тому же результату. Поэтому, кроме удаления записи `swap` из "
"вашего файла [.filename]#/etc/fstab#, вы должны также изменить поле "
"параметров каждой файловой системы на `ro` таким образом:"

#. type: delimited block . 4
#: documentation/content/en/articles/solid-state/_index.adoc:121
#, no-wrap
msgid ""
"# Device                Mountpoint      FStype  Options         Dump    Pass#\n"
"/dev/ad0s1a             /               ufs     ro              1       1\n"
msgstr ""
"# Device                Mountpoint      FStype  Options         Dump    Pass#"
"\n"
"/dev/ad0s1a             /               ufs     ro              1       1\n"

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:128
msgid ""
"A few applications in the average system will immediately begin to fail as a "
"result of this change.  For instance, cron will not run properly as a result "
"of missing cron tabs in the [.filename]#/var# created by [.filename]#/etc/rc."
"d/var#, and syslog and dhcp will encounter problems as well as a result of "
"the read-only filesystem and missing items in the [.filename]#/var# that [."
"filename]#/etc/rc.d/var# has created.  These are only temporary problems "
"though, and are addressed, along with solutions to the execution of other "
"common software packages in crossref:solid-state[strategies, System "
"Strategies for Small and Read Only Environments]."
msgstr ""
"В результате этих изменений в среднестатистической системе несколько "
"приложений немедленно перестанут работать. Например, cron не будет нормально "
"запускаться в результате отсутствия таблиц для него в каталоге [."
"filename]#/var#, созданном [.filename]#/etc/rc.d/var#, а syslog и dhcp будут "
"испытывать проблемы из-за доступа файловой системы только для чтения, а "
"также отсутствия записей в [.filename]#/var#, который был создан скриптом [."
"filename]#/etc/rc.d/var#. Хотя эти проблемы являются временными и "
"обсуждаются вместе с решением проблем с запуском распространённых "
"программных пакетов в разделе crossref:solid-state[strategies, Стратегии "
"работы с системой для случаев небольших и доступных только для чтения "
"файловых систем]."

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:130
msgid ""
"An important thing to remember is that a filesystem that was mounted read-"
"only with [.filename]#/etc/fstab# can be made read-write at any time by "
"issuing the command:"
msgstr ""
"Важно помнить, что файловая система, которая была смонтирована только для "
"чтения при помощи файла [.filename]#/etc/fstab#, в любой момент может быть "
"сделана доступной по чтению и записи выдачей команды:"

#. type: delimited block . 4
#: documentation/content/en/articles/solid-state/_index.adoc:134
#, no-wrap
msgid "# /sbin/mount -uw partition\n"
msgstr "# /sbin/mount -uw partition\n"

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:137
msgid "and can be toggled back to read-only with the command:"
msgstr ""
"и может быть возвращена к режиму доступа только для чтения по такой команде:"

#. type: delimited block . 4
#: documentation/content/en/articles/solid-state/_index.adoc:141
#, no-wrap
msgid "# /sbin/mount -ur partition\n"
msgstr "# /sbin/mount -ur partition\n"

#. type: Title ==
#: documentation/content/en/articles/solid-state/_index.adoc:143
#, no-wrap
msgid "Building a File System from Scratch"
msgstr "Создание файловой системы с нуля"

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:146
msgid ""
"Since ATA compatible compact-flash cards are seen by FreeBSD as normal IDE "
"hard drives, you could theoretically install FreeBSD from the network using "
"the kern and mfsroot floppies or from a CD."
msgstr ""
"Так как совместимые с ATA компактные флеш-карты распознаются во FreeBSD как "
"обычные жёсткие диски IDE, то теоретически вы можете установить FreeBSD по "
"сети при помощи дискет kern и mfsroot или с компакт-диска."

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:149
msgid ""
"However, even a small installation of FreeBSD using normal installation "
"procedures can produce a system in size of greater than 200 megabytes.  Most "
"people will be using smaller flash memory devices (128 megabytes is "
"considered fairly large - 32 or even 16 megabytes is common), so an "
"installation using normal mechanisms is not possible-there is simply not "
"enough disk space for even the smallest of conventional installations."
msgstr ""
"Однако даже маленькая установка FreeBSD при помощи обычных процедур "
"установки может привести к созданию системы размером, превышающим 200 "
"мегабайт. Так как большинство людей используют устройства флеш-памяти "
"меньшего размера (128 мегабайт считается весьма большим - 32 или даже 16 "
"мегабайт используются гораздо чаще), то установка обычным образом не "
"подходит-просто на диске нет места даже для самой минимальной установки."

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:155
msgid ""
"The easiest way to overcome this space limitation is to install FreeBSD "
"using conventional means to a normal hard disk.  After the installation is "
"complete, pare down the operating system to a size that will fit onto your "
"flash media, then tar the entire filesystem.  The following steps will guide "
"you through the process of preparing a piece of flash memory for your tarred "
"filesystem.  Remember, because a normal installation is not being performed, "
"operations such as partitioning, labeling, file-system creation, etc. need "
"to be performed by hand.  In addition to the kern and mfsroot floppy disks, "
"you will also need to use the fixit floppy."
msgstr ""
"Самым простым способом обойти это ограничение на объём является установка "
"FreeBSD обычным образом на обычный жёсткий диск. После окончания установки, "
"обрежьте операционную систему до размера, который помещается на ваш флеш-"
"носитель, а затем полностью заархивируйте файловую систему. Следующие шаги "
"поведут вас через процесс подготовки части флеш-памяти для вашей "
"заархивированной файловой системы. Запомните, что из-за того, что обычная "
"установка не выполнялась, такие операции, как разбиение на разделы, "
"разметка, создание файловой системы и так далее должны быть выполнены "
"вручную. Кроме дискет kern и mfsroot вам также нужно воспользоваться "
"дискетой fixit."

#. type: delimited block = 4
#: documentation/content/en/articles/solid-state/_index.adoc:159
msgid "Partitioning Your Flash Media Device"
msgstr "Разбиение вашего флеш-носителя на разделы"

#. type: delimited block = 4
#: documentation/content/en/articles/solid-state/_index.adoc:169
msgid ""
"After booting with the kern and mfsroot floppies, choose `custom` from the "
"installation menu.  In the custom installation menu, choose `partition`.  In "
"the partition menu, you should delete all existing partitions using kbd:"
"[d].  After deleting all existing partitions, create a partition using kbd:"
"[c] and accept the default value for the size of the partition.  When asked "
"for the type of the partition, make sure the value is set to `165`.  Now "
"write this partition table to the disk by pressing kbd:[w] (this is a hidden "
"option on this screen).  If you are using an ATA compatible compact flash "
"card, you should choose the FreeBSD Boot Manager.  Now press kbd:[q] to quit "
"the partition menu.  You will be shown the boot manager menu once more - "
"repeat the choice you made earlier."
msgstr ""
"После загрузки при помощи дискет kern и mfsroot, выберите пункт `custom` из "
"меню установки. Из следующего пункта меню выберите `partition`. В меню "
"работы с разделами вы должны удалить все существующие разделы при помощи "
"клавиши kbd:[d]. После удаления всех имеющихся разделов создайте раздел при "
"помощи клавиши kbd:[c] и согласитесь с предлагаемым по умолчанию размером "
"раздела. Когда вы будете опрошены на предмет типа раздела, удостоверьтесь, "
"что значение типа равно `165`. Теперь запишите эту таблицу разделов на диск, "
"нажав клавишу kbd:[w] (на этом экране эта опция скрыта). Если вы используете "
"компактную флеш-карту, совместимую с ATA, вы должны выбрать FreeBSD Boot "
"Manager. Теперь нажмите клавишу kbd:[q] для выхода из меню работы с "
"разделами. Должно быть выдано ещё раз меню для выбора менеджера загрузки - "
"повторите то, что вы выбирали ранее."

#. type: delimited block = 4
#: documentation/content/en/articles/solid-state/_index.adoc:170
msgid "Creating Filesystems on Your Flash Memory Device"
msgstr "Создание файловых систем на вашем устройстве флеш-памяти"

#. type: delimited block = 4
#: documentation/content/en/articles/solid-state/_index.adoc:173
msgid ""
"Exit the custom installation menu, and from the main installation menu "
"choose the `fixit` option.  After entering the fixit environment, enter the "
"following command:"
msgstr ""
"Выйдите из меню установки custom, и из главного меню установки выберите "
"пункт `fixit`. После входа в режим работы fixit, введите следующую команду:"

#. type: delimited block . 4
#: documentation/content/en/articles/solid-state/_index.adoc:177
#, no-wrap
msgid "# disklabel -e /dev/ad0c\n"
msgstr "# disklabel -e /dev/ad0c\n"

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:181
msgid ""
"At this point you will have entered the vi editor under the auspices of the "
"disklabel command.  Next, you need to add an `a:` line at the end of the "
"file. This `a:` line should look like:"
msgstr ""
"В этот момент вы войдете в редактор vi из-под команды disklabel. Затем, вам "
"нужно добавить строку `a:` в конце файла. Эта строка `a:` должна выглядеть "
"примерно так:"

#. type: delimited block . 4
#: documentation/content/en/articles/solid-state/_index.adoc:185
#, no-wrap
msgid "a:      123456  0       4.2BSD  0       0\n"
msgstr "a:      123456  0       4.2BSD  0       0\n"

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:190
msgid ""
"Where _123456_ is a number that is exactly the same as the number in the "
"existing `c:` entry for size.  Basically you are duplicating the existing `c:"
"` line as an `a:` line, making sure that fstype is `4.2BSD`.  Save the file "
"and exit."
msgstr ""
"Здесь _123456_ является числом, в точности совпадающим с тем, что "
"характеризует размер имеющейся записи для `c:`. В общем, вы копируете "
"существующую строку для `c:` для строки `a:`, не забывая определить fstype "
"как `4.2BSD`. Сохраните файл и завершите редактирование."

#. type: delimited block . 4
#: documentation/content/en/articles/solid-state/_index.adoc:195
#, no-wrap
msgid ""
"# disklabel -B -r /dev/ad0c\n"
"# newfs /dev/ad0a\n"
msgstr ""
"# disklabel -B -r /dev/ad0c\n"
"# newfs /dev/ad0a\n"

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:198
msgid "Placing Your Filesystem on the Flash Media"
msgstr "Размещение вашей файловой системы на флеш-носителе"

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:200
msgid "Mount the newly prepared flash media:"
msgstr "Смонтируйте только что подготовленный флеш-носитель:"

#. type: delimited block . 4
#: documentation/content/en/articles/solid-state/_index.adoc:204
#, no-wrap
msgid "# mount /dev/ad0a /flash\n"
msgstr "# mount /dev/ad0a /flash\n"

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:208
msgid ""
"Bring this machine up on the network so we may transfer our tar file and "
"explode it onto our flash media filesystem.  One example of how to do this "
"is:"
msgstr ""
"Подключите эту машину к сети, чтобы можно было перенести наш tar-файл и "
"распаковать его в файловую систему на флеш-носителе. Вот пример того, как "
"это можно сделать:"

#. type: delimited block . 4
#: documentation/content/en/articles/solid-state/_index.adoc:213
#, no-wrap
msgid ""
"# ifconfig xl0 192.168.0.10 netmask 255.255.255.0\n"
"# route add default 192.168.0.1\n"
msgstr ""
"# ifconfig xl0 192.168.0.10 netmask 255.255.255.0\n"
"# route add default 192.168.0.1\n"

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:219
msgid ""
"Now that the machine is on the network, transfer your tar file.  You may be "
"faced with a bit of a dilemma at this point - if your flash memory part is "
"128 megabytes, for instance, and your tar file is larger than 64 megabytes, "
"you cannot have your tar file on the flash media at the same time as you "
"explode it - you will run out of space.  One solution to this problem, if "
"you are using FTP, is to untar the file while it is transferred over FTP.  "
"If you perform your transfer in this manner, you will never have the tar "
"file and the tar contents on your disk at the same time:"
msgstr ""
"Теперь, когда машина находится в сети, перепишите ваш tar-файл. Здесь вы "
"можете столкнуться с некоторой проблемой - если объём вашей флеш-памяти "
"равен, к примеру, 128 мегабайтам, а ваш tar-файл превышает 64 мегабайта, то "
"вы не можете одновременно разместить tar-файл на флеш-носителе и распаковать "
"его - вам не хватит места. Одним из решений этой проблемы, если вы "
"используете FTP, является распаковка файла во время его передачи по FTP. "
"Если вы передаёте файл именно так, то вы никогда не получите на диске "
"одновременно архивный файл и его содержимое:"

#. type: delimited block . 4
#: documentation/content/en/articles/solid-state/_index.adoc:223
#, no-wrap
msgid "ftp> get tarfile.tar \"| tar xvf -\"\n"
msgstr "ftp> get tarfile.tar \"| tar xvf -\"\n"

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:226
msgid "If your tarfile is gzipped, you can accomplish this as well:"
msgstr "Если ваш файл обработан утилитой gzip, вы также можете этого добиться:"

#. type: delimited block . 4
#: documentation/content/en/articles/solid-state/_index.adoc:230
#, no-wrap
msgid "ftp> get tarfile.tar \"| zcat | tar xvf -\"\n"
msgstr "ftp> get tarfile.tar \"| zcat | tar xvf -\"\n"

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:233
msgid ""
"After the contents of your tarred filesystem are on your flash memory "
"filesystem, you can unmount the flash memory and reboot:"
msgstr ""
"После того, как вы получили содержимое вашей заархивированной файловой "
"системы на файловой системе флеш-памяти, вы можете размонтировать флеш-"
"память и выполнить перезагрузку:"

#. type: delimited block . 4
#: documentation/content/en/articles/solid-state/_index.adoc:239
#, no-wrap
msgid ""
"# cd /\n"
"# umount /flash\n"
"# exit\n"
msgstr ""
"# cd /\n"
"# umount /flash\n"
"# exit\n"

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:242
msgid ""
"Assuming that you configured your filesystem correctly when it was built on "
"the normal hard disk (with your filesystems mounted read-only, and with the "
"necessary options compiled into the kernel) you should now be successfully "
"booting your FreeBSD embedded system."
msgstr ""
"При условии, что вы правильно настроили файловую систему при её создании на "
"обычном жёстком диске (с монтированием файловых систем в режиме только для "
"чтения и с необходимыми опциями, встроенными в ядро), ваша встраиваемая "
"система FreeBSD теперь должна успешно загружаться."

#. type: Title ==
#: documentation/content/en/articles/solid-state/_index.adoc:245
#, no-wrap
msgid "System Strategies for Small and Read Only Environments"
msgstr ""
"Стратегии работы с системой для случаев небольших и доступных только для "
"чтения файловых систем"

#. type: delimited block = 4
#: documentation/content/en/articles/solid-state/_index.adoc:249
msgid ""
"In crossref:solid-state[ro-fs, The `rc` Subsystem and Read-Only "
"Filesystems], it was pointed out that the [.filename]#/var# filesystem "
"constructed by [.filename]#/etc/rc.d/var# and the presence of a read-only "
"root filesystem causes problems with many common software packages used with "
"FreeBSD.  In this article, suggestions for successfully running cron, "
"syslog, ports installations, and the Apache web server will be provided."
msgstr ""
"В разделе crossref:solid-state[ro-fs, Подсистема `rc` и файловые системы в "
"режиме только чтения] было указано, что файловая система [.filename]#/var#, "
"создаваемая скриптом [.filename]#/etc/rc.d/var#, и наличие корневой файловой "
"системы, доступной только для чтения, приводят к проблемам при работе многих "
"распространённых программных пакетов, используемых во FreeBSD. В этой статье "
"будут даны рекомендации по настройке нормальной работы cron и syslog, "
"установке портов и веб-сервера Apache."

#. type: Title ===
#: documentation/content/en/articles/solid-state/_index.adoc:250
#, no-wrap
msgid "Cron"
msgstr "Cron"

#. type: delimited block = 4
#: documentation/content/en/articles/solid-state/_index.adoc:253
msgid ""
"Upon boot, [.filename]#/var# gets populated by [.filename]#/etc/rc.d/var# "
"using the list from [.filename]#/etc/mtree/BSD.var.dist#, so the [."
"filename]#cron#, [.filename]#cron/tabs#, [.filename]#at#, and a few other "
"standard directories get created."
msgstr ""
"Во время загрузки содержимое каталогa [.filename]#/var# формируется скриптом "
"[.filename]#/etc/rc.d/var# используя данные из [.filename]#/etc/mtree/BSD.var"
".dist#, поэтому в нём создаётся несколько стандартных каталогов, в числе "
"которых - [.filename]#cron#, [.filename]#cron/tabs#, [.filename]#at#."

#. type: delimited block = 4
#: documentation/content/en/articles/solid-state/_index.adoc:258
msgid ""
"However, this does not solve the problem of maintaining cron tabs across "
"reboots.  When the system reboots, the [.filename]#/var# filesystem that is "
"in memory will disappear and any cron tabs you may have had in it will also "
"disappear.  Therefore, one solution would be to create cron tabs for the "
"users that need them, mount your [.filename]#/# filesystem as read-write and "
"copy those cron tabs to somewhere safe, like [.filename]#/etc/tabs#, then "
"add a line to the end of [.filename]#/etc/rc.initdiskless# that copies those "
"crontabs into [.filename]#/var/cron/tabs# after that directory has been "
"created during system initialization.  You may also need to add a line that "
"changes modes and permissions on the directories you create and the files "
"you copy with [.filename]#/etc/rc.initdiskless#."
msgstr ""
"Однако это не решает проблему с сохранением cron-таблиц между "
"перезагрузками. Когда система перезагружается, то файловая система [."
"filename]#/var#, которая располагается в памяти, будет уничтожена, вместе со "
"всеми cron-таблицами, которые вы могли там иметь. Поэтому одним из решений "
"может стать создание cron-таблиц для пользователей, которым они нужны, "
"монтирование вашей файловой системы [.filename]#/# в режиме чтения и записи, "
"и копирование этих cron-таблиц в безопасное место, например, в [.filename]#/"
"etc/tabs#, и последующее добавление строки в конец скрипта [.filename]#/etc/"
"rc.initdiskless# для копирования этих cron-таблиц в каталог [.filename]#/var/"
"cron/tabs# после его создания во время инициализации системы. Вам может "
"также потребоваться добавить строку, которая изменяет режимы доступа и права "
"на каталоги, которые вы создали, и на файлы, которые вы скопировали в "
"скрипте [.filename]#/etc/rc.initdiskless#."

#. type: Title ===
#: documentation/content/en/articles/solid-state/_index.adoc:259
#, no-wrap
msgid "Syslog"
msgstr "Syslog"

#. type: delimited block = 4
#: documentation/content/en/articles/solid-state/_index.adoc:264
msgid ""
"[.filename]#syslog.conf# specifies the locations of certain log files that "
"exist in [.filename]#/var/log#.  These files are not created by [.filename]#/"
"etc/rc.d/var# upon system initialization.  Therefore, somewhere in [."
"filename]#/etc/rc.d/var#, after the section that creates the directories in "
"[.filename]#/var#, you will need to add something like this:"
msgstr ""
"В файле [.filename]#syslog.conf# задано местоположение некоторых файлов "
"протоколов, которые имеются в каталоге [.filename]#/var/log#. Эти файлы не "
"создаются скриптом [.filename]#/etc/rc.d/var# во время инициализации "
"системы. Поэтому где-нибудь в скрипте [.filename]#/etc/rc.d/var#, после "
"секции, создающей каталоги в [.filename]#/var#, вам нужно добавить нечто "
"вроде следующего:"

#. type: delimited block . 4
#: documentation/content/en/articles/solid-state/_index.adoc:269
#, no-wrap
msgid ""
"# touch /var/log/security /var/log/maillog /var/log/cron /var/log/messages\n"
"# chmod 0644 /var/log/*\n"
msgstr ""
"# touch /var/log/security /var/log/maillog /var/log/cron /var/log/messages\n"
"# chmod 0644 /var/log/*\n"

#. type: Title ===
#: documentation/content/en/articles/solid-state/_index.adoc:271
#, no-wrap
msgid "Ports Installation"
msgstr "Установка портов"

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:277
msgid ""
"Before discussing the changes necessary to successfully use the ports tree, "
"a reminder is necessary regarding the read-only nature of your filesystems "
"on the flash media.  Since they are read-only, you will need to temporarily "
"mount them read-write using the mount syntax shown in crossref:solid-"
"state[ro-fs, The `rc` Subsystem and Read-Only Filesystems].  You should "
"always remount those filesystems read-only when you are done with any "
"maintenance - unnecessary writes to the flash media could considerably "
"shorten its lifespan."
msgstr ""
"Перед тем, как обсудить изменения, которые нужно сделать для успешного "
"использования дерева портов, необходимо напомнить о том, что ваши файловые "
"системы на флеш-носителях доступны только для чтения. Поэтому вам нужно "
"временно монтировать их в режиме чтения и записи, используя параметры "
"командной строки, как это показано в crossref:solid-state[ro-fs, Подсистема "
"`rc` и файловые системы в режиме только чтения]. Вы всегда должны "
"перемонтировать эти файловые системы в режим только для чтения после "
"окончания работ - излишние записи на флеш носитель могут значительно "
"сократить его срок эксплуатации."

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:280
msgid ""
"To make it possible to enter a ports directory and successfully run `make "
"install`, we must create a packages directory on a non-memory filesystem "
"that will keep track of our packages across reboots.  As it is necessary to "
"mount your filesystems as read-write for the installation of a package "
"anyway, it is sensible to assume that an area on the flash media can also be "
"used for package information to be written to."
msgstr ""
"Чтобы можно было войти в каталог с портами и успешно выполнить команду make "
"`install`, необходимо создать каталог для пакетов в файловой системе, не "
"располагающейся в памяти, где будут храниться пакеты между перезагрузками. "
"Так как для установки пакета в любом случае требуется монтирование ваших "
"файловых систем для чтения и записи, имеет смысл выделить область флеш-"
"носителя также и для записи информации о пакете."

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:283
msgid ""
"First, create a package database directory.  This is normally in [."
"filename]#/var/db/pkg#, but we cannot place it there as it will disappear "
"every time the system is booted."
msgstr ""
"Прежде всего создайте каталог с базой данных о пакетах. Обычно это каталог [."
"filename]#/var/db/pkg#, но мы не можем разместить базу именно здесь, так как "
"она исчезнет после перезагрузки системы."

#. type: delimited block . 4
#: documentation/content/en/articles/solid-state/_index.adoc:287
#, no-wrap
msgid "# mkdir /etc/pkg\n"
msgstr "# mkdir /etc/pkg\n"

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:290
msgid ""
"Now, add a line to [.filename]#/etc/rc.d/var# that links the [.filename]#/"
"etc/pkg# directory to [.filename]#/var/db/pkg#. An example:"
msgstr ""
"Теперь в скрипт [.filename]#/etc/rc.d/var# добавьте строку, которая "
"связывает каталог [.filename]#/etc/pkg# с [.filename]#/var/db/pkg#. Например:"

#. type: delimited block . 4
#: documentation/content/en/articles/solid-state/_index.adoc:294
#, no-wrap
msgid "# ln -s /etc/pkg /var/db/pkg\n"
msgstr "# ln -s /etc/pkg /var/db/pkg\n"

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:297
msgid ""
"Now, any time that you mount your filesystems as read-write and install a "
"package, the `make install` will work, and package information will be "
"written successfully to [.filename]#/etc/pkg# (because the filesystem will, "
"at that time, be mounted read-write) which will always be available to the "
"operating system as [.filename]#/var/db/pkg#."
msgstr ""
"Теперь каждый раз при монтировании ваших файловых систем для чтения и записи "
"и установки пакета, команда make `install` будет работать, а информация о "
"пакете будет успешно записана в каталог [.filename]#/etc/pkg# (так как "
"файловая система будет в это время смонтирована для чтения и записи), "
"который всегда будет доступным операционной системе как [.filename]#/var/db/"
"pkg#."

#. type: Title ===
#: documentation/content/en/articles/solid-state/_index.adoc:298
#, no-wrap
msgid "Apache Web Server"
msgstr "Веб-сервер Apache"

#. type: delimited block = 4
#: documentation/content/en/articles/solid-state/_index.adoc:304
msgid ""
"The steps in this section are only necessary if Apache is set up to write "
"its pid or log information outside of [.filename]#/var#.  By default, Apache "
"keeps its pid file in [.filename]#/var/run/httpd.pid# and its log files in [."
"filename]#/var/log#."
msgstr ""
"Шаги, описанные в этой части статьи, необходимо выполнить лишь в том случае, "
"если Apache настроен сохранять свой pid или журнал вне каталога [."
"filename]#/var#. С настройками по умолчанию Apache формирует свой pid файл в "
"[.filename]#/var/run/httpd.pid#, а файлы журналов - в [.filename]#/var/log#."

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:310
msgid ""
"It is now assumed that Apache keeps its log files in a directory [."
"filename]#apache_log_dir# outside of [.filename]#/var#.  When this directory "
"lives on a read-only filesystem, Apache will not be able to save any log "
"files, and may have problems working.  If so, it is necessary to add a new "
"directory to the list of directories in [.filename]#/etc/rc.d/var# to create "
"in [.filename]#/var#, and to link [.filename]#apache_log_dir# to [."
"filename]#/var/log/apache#.  It is also necessary to set permissions and "
"ownership on this new directory."
msgstr ""
"Далее в статье подразумевается, что Apache сохраняет свои файлы журналов в "
"каталог [.filename]#apache_log_dir# вне каталога [.filename]#/var#. Когда "
"этот каталог расположен на файловой системе, смонтированной в режиме только "
"для чтения, Apache не сможет сохранять файлы журналов, что в свою очередь "
"может вызывать проблемы в работе веб-сервера. В таком случае необходимо "
"добавить новый каталог к списку каталогов из [.filename]#/etc/rc.d/var# для "
"их создания в каталоге [.filename]#/var# и связать [."
"filename]#apache_log_dir# с [.filename]#/var/log/apache#. Нужно также задать "
"права доступа и владельца нового каталога."

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:312
msgid ""
"First, add the directory `log/apache` to the list of directories to be "
"created in [.filename]#/etc/rc.d/var#."
msgstr ""
"Сначала добавьте каталог `log/apache` к списку каталогов, создаваемых "
"скриптом [.filename]#/etc/rc.d/var#."

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:314
msgid ""
"Second, add these commands to [.filename]#/etc/rc.d/var# after the directory "
"creation section:"
msgstr ""
"Затем добавьте в скрипт [.filename]#/etc/rc.d/var# после секции создания "
"каталогов такие команды:"

#. type: delimited block . 4
#: documentation/content/en/articles/solid-state/_index.adoc:319
#, no-wrap
msgid ""
"# chmod 0774 /var/log/apache\n"
"# chown nobody:nobody /var/log/apache\n"
msgstr ""
"# chmod 0774 /var/log/apache\n"
"# chown nobody:nobody /var/log/apache\n"

#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:322
msgid ""
"Finally, remove the existing [.filename]#apache_log_dir# directory, and "
"replace it with a link:"
msgstr ""
"И наконец, удалите существующий каталог [.filename]#apache_install/logs# и "
"замените его ссылкой:"

#. type: delimited block . 4
#: documentation/content/en/articles/solid-state/_index.adoc:327
#, no-wrap
msgid ""
"# rm -rf apache_log_dir\n"
"# ln -s /var/log/apache apache_log_dir\n"
msgstr ""
"# rm -rf apache_log_dir\n"
"# ln -s /var/log/apache apache_log_dir\n"