update translation of articles/solid-state to Russian

Reviewed by: maxim (mentor)
Approved by: maxim (mentor)
Differential Revision: https://reviews.freebsd.org/D51979
This commit is contained in:
Vladlen Popolitov 2025-09-24 18:46:01 +03:00
parent 9b76f4a447
commit dafcae91ff
2 changed files with 934 additions and 52 deletions

View File

@ -1,13 +1,16 @@
---
title: FreeBSD и твердотельные устройства
authors:
- author: John Kozubik
-
author: 'John Kozubik'
email: john@kozubik.com
copyright: 2001, 2009 The FreeBSD Documentation Project
copyright: '2001 - 2021 The FreeBSD Documentation Project'
description: 'Использование твердотельных накопителей (SSD) в FreeBSD'
tags: ["Solid State", "embedded", "FreeBSD"]
title: 'FreeBSD и твердотельные устройства (SSD)'
trademarks: ["freebsd", "general"]
---
= FreeBSD и твердотельные устройства
= FreeBSD и твердотельные устройства (SSD)
:doctype: article
:toc: macro
:toclevels: 1
@ -41,7 +44,7 @@ endif::[]
[.abstract-title]
Аннотация
В этой статье описывается использование твердотельных дисковых устройств для создания встраиваемых систем на основе FreeBSD
В этой статье описывается использование твердотельных дисковых устройств для создания встраиваемых систем на основе FreeBSD.
Встраиваемые системы имеют преимущество в повышенной надежности по причине отсутствия в них движущихся частей (жестких дисков). Однако, следует принять во внимание, что системе, как правило, доступно очень малое дисковое пространство и ограниченный объем запоминающего устройства.
@ -71,9 +74,7 @@ toc::[]
[.programlisting]
....
options MFS # Memory Filesystem
options MD_ROOT # md device usable as a potential root device
pseudo-device md # memory disk
....
[[ro-fs]]
@ -102,14 +103,14 @@ varsize=8192
Важно помнить, что файловая система, которая была смонтирована только для чтения при помощи файла [.filename]#/etc/fstab#, в любой момент может быть сделана доступной по чтению и записи выдачей команды:
[source,shell]
[source, shell]
....
# /sbin/mount -uw partition
....
и может быть возвращена к режиму доступа только для чтения по такой команде:
[source,shell]
[source, shell]
....
# /sbin/mount -ur partition
....
@ -123,107 +124,93 @@ varsize=8192
Самым простым способом обойти это ограничение на объем является установка FreeBSD обычным образом на обычный жесткий диск. После окончания установки, обрежьте операционную систему до размера, который помещается на ваш флэш-носитель, а затем полностью заархивируйте файловую систему. Следующие шаги поведут вас через процесс подготовки части флэш-памяти для вашей заархивированной файловой системы. Запомните, что из-за того, что обычная установка не выполнялась, такие операции, как разбиение на разделы, разметка, создание файловой системы и так далее должны быть выполнены вручную. Кроме дискет kern и mfsroot вам также нужно воспользоваться дискетой fixit.
[.procedure]
====
. Разбиение вашего флэш-носителя на разделы
+
+
После загрузки при помощи дискет kern и mfsroot, выберите пункт `custom` из меню установки. Из следующего пункта меню выберите `partition`. В меню работы с разделами вы должны удалить все существующие разделы при помощи клавиши kbd:[d]. После удаления всех имеющихся разделов создайте раздел при помощи клавиши kbd:[c] и согласитесь с предлагаемым по умолчанию размером раздела. Когда вы будете опрошены на предмет типа раздела, удостоверьтесь, что значение типа равно `165`. Теперь запишите эту таблицу разделов на диск, нажав клавишу kbd:[w] (на этом экране эта опция скрыта). Если вы используете компактную флэш-карту, совместимую с ATA, вы должны выбрать FreeBSD Boot Manager. Теперь нажмите клавишу kbd:[q] для выхода из меню работы с разделами. Должно быть выдано еще раз меню для выбора менеджера загрузки - повторите то, что вы выбирали ранее.
. Создание файловых систем на вашем устройстве флэш-памяти
+
+
Выйдите из меню установки custom, и из главного меню установки выберите пункт `fixit`. После входа в режим работы fixit, введите следующую команду:
+
[source,shell]
[source, shell]
....
# disklabel -e /dev/ad0c
....
+
+
В этот момент вы войдете в редактор vi из-под команды disklabel. Затем, вам нужно добавить строку `a:` в конце файла. Эта строка `a:` должна выглядеть примерно так:
+
[.programlisting]
....
a: 123456 0 4.2BSD 0 0
....
+
+
Здесь _123456_ является числом, в точности совпадающим с тем, что характеризует размер имеющейся записи для `c:`. В общем, вы копируете существующую строку для `c:` для строки `a:`, не забывая определить fstype как `4.2BSD`. Сохраните файл и завершите редактирование.
+
[source,shell]
[source, shell]
....
# disklabel -B -r /dev/ad0c
# newfs /dev/ad0a
....
. Размещение вашей файловой системы на флэш-носителе
+
+
Смонтируйте только что подготовленный флэш-носитель:
+
[source,shell]
[source, shell]
....
# mount /dev/ad0a /flash
....
+
+
Подключите эту машину к сети, чтобы можно было перенести наш tar-файл и распаковать его в файловую систему на флэш-носителе. Вот пример того, как это можно сделать:
+
[source,shell]
[source, shell]
....
# ifconfig xl0 192.168.0.10 netmask 255.255.255.0
# route add default 192.168.0.1
....
+
+
Теперь, когда машина находится в сети, перепишите ваш tar-файл. Здесь вы можете столкнуться с некоторой проблемой - если объем вашей флэш-памяти равен, к примеру, 128 мегабайтам, а ваш tar-файл превышает 64 мегабайта, то вы не можете одновременно разместить tar-файл на флэш-носителе и распаковать его - вам не хватит места. Одним из решений этой проблемы, если вы используете FTP, является распаковка файла во время его передачи по FTP. Если вы передаете файл именно так, то вы никогда не получите на диске одновременно архивный файл и его содержимое:
+
[source,shell]
[source, shell]
....
ftp> get tarfile.tar "| tar xvf -"
....
+
+
Если ваш файл обработан утилитой gzip, вы также можете этого добиться:
+
[source,shell]
[source, shell]
....
ftp> get tarfile.tar "| zcat | tar xvf -"
....
+
+
После того, как вы получили содержимое вашей заархивированной файловой системы на файловой системе флэш-памяти, вы можете размонтировать флэш-память и выполнить перезагрузку:
+
[source,shell]
[source, shell]
....
# cd /
# umount /flash
# exit
....
+
Полагая, что вы правильно настроили вашу файловую систему при ее построении на обычном диске (с вашей файловой системой, смонтированной в режиме доступа только для чтения, и необходимыми параметрами, присутствующими в ядре) вы должны успешно загрузить вашу встраиваемую систему на основе FreeBSD.
+
При условии, что вы правильно настроили файловую систему при её создании на обычном жёстком диске (с монтированием файловых систем в режиме только для чтения и с необходимыми опциями, встроенными в ядро), ваша встраиваемая система FreeBSD теперь должна успешно загружаться.
====
[[strategies]]
== Стратегии работы с системой для случаев небольших и доступных только для чтения файловых систем
В <<ro-fs>> было указано, что файловая система [.filename]#/var#, создаваемая скриптом [.filename]#/etc/rc.d/var#, и наличие корневой файловой системы, доступной только для чтения, приводят к проблемам при работе многих распространенных программных пакетов, используемых во FreeBSD. В этой статье будут даны рекомендации по настройке нормальной работы cron и syslog, установке портов и веб-сервера Apache.
=== cron
=== Cron
Во время загрузки содержимое каталогa [.filename]#/var# формируется скриптом [.filename]#/etc/rc.d/var# используя данные из [.filename]#/etc/mtree/BSD.var.dist#, поэтому в нем создается несколько стандартных каталогов, в числе которых - [.filename]#cron#, [.filename]#cron/tabs#, [.filename]#at#.
Однако это не решает проблему с сохранением cron-таблиц между перезагрузками. Когда система перезагружается, то файловая система [.filename]#/var#, которая располагается в памяти, будет уничтожена, вместе со всеми cron-таблицами, которые вы могли там иметь. Поэтому одним из решений может стать создание cron-таблиц для пользователей, которым они нужны, монтирование вашей файловой системы [.filename]#/# в режиме чтения и записи, и копирование этих cron-таблиц в безопасное место, например, в [.filename]#/etc/tabs#, и последующее добавление строки в конец скрипта [.filename]#/etc/rc.initdiskless# для копирования этих cron-таблиц в каталог [.filename]#/var/cron/tabs# после его создания во время инициализации системы. Вам может также потребоваться добавить строку, которая изменяет режимы доступа и права на каталоги, которые вы создали, и на файлы, которые вы скопировали в скрипте [.filename]#/etc/rc.initdiskless#.
=== syslog
=== Syslog
В файле [.filename]#syslog.conf# задано местоположение некоторых файлов протоколов, которые имеются в каталоге [.filename]#/var/log#. Эти файлы не создаются скриптом [.filename]#/etc/rc.d/var# во время инициализации системы. Поэтому где-нибудь в скрипте [.filename]#/etc/rc.d/var#, после секции, создающей каталоги в [.filename]#/var#, вам нужно добавить нечто вроде следующего:
[source,shell]
[source, shell]
....
# touch /var/log/security /var/log/maillog /var/log/cron /var/log/messages
# chmod 0644 /var/log/*
@ -231,20 +218,20 @@ ftp> get tarfile.tar "| zcat | tar xvf -"
=== Установка портов
Перед тем, как обсудить изменения, которые нужно сделать для успешного использования дерева портов, необходимо напомнить о том, что ваши файловые системы на флэш-носителях доступны только для чтения. Поэтому вам нужно временно монтировать их в режиме чтения и записи, используя параметры командной строки, как это показано в <<ro-fs>>. Вы всегда должны перемонтировать эти файловые системы в режим только для чтения после окончания работ - излишние записи на флеш носитель могут значительно сократить его срок эксплуатации.
Перед тем, как обсудить изменения, которые нужно сделать для успешного использования дерева портов, необходимо напомнить о том, что ваши файловые системы на флэш-носителях доступны только для чтения. Поэтому вам нужно временно монтировать их в режиме чтения и записи, используя параметры командной строки, как это показано в crossref:solid-state[ro-fs, Подсистема `rc` и файловые системы в режиме только чтения]. Вы всегда должны перемонтировать эти файловые системы в режим только для чтения после окончания работ - излишние записи на флеш носитель могут значительно сократить его срок эксплуатации.
Чтобы можно было войти в каталог с портами и успешно выполнить команду make `install`, необходимо создать каталог для пакаджей в файловой системе, не располагающейся в памяти, где будут храниться пакаджи между перезагрузками. Так как для установки пакаджа в любом случае требуется монтирование ваших файловых систем для чтения и записи, имеет смысл выделить область флэш-носителя также и для записи информации о пакадже.
Прежде всего создайте каталог с базой данных о пакаджах. Обычно это каталог [.filename]#/var/db/pkg#, но мы не можем разместить базу именно здесь, так как она исчезнет после перезагрузки системы.
[source,shell]
[source, shell]
....
# mkdir /etc/pkg
....
Теперь в скрипт [.filename]#/etc/rc.d/var# добавьте строку, которая связывает каталог [.filename]#/etc/pkg# с [.filename]#/var/db/pkg#. Например:
[source,shell]
[source, shell]
....
# ln -s /etc/pkg /var/db/pkg
....
@ -264,7 +251,7 @@ ftp> get tarfile.tar "| zcat | tar xvf -"
Затем добавьте в скрипт [.filename]#/etc/rc.d/var# после секции создания каталогов такие команды:
[source,shell]
[source, shell]
....
# chmod 0774 /var/log/apache
# chown nobody:nobody /var/log/apache
@ -272,8 +259,8 @@ ftp> get tarfile.tar "| zcat | tar xvf -"
И наконец, удалите существующий каталог [.filename]#apache_install/logs# и замените его ссылкой:
[source,shell]
[source, shell]
....
# rm -rf apache_log_dir
# ln -s apache_log_dir
# ln -s /var/log/apache apache_log_dir
....

View File

@ -0,0 +1,895 @@
# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR The FreeBSD Project
# This file is distributed under the same license as the FreeBSD Documentation package.
# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
"POT-Creation-Date: 2025-09-24 18:41+0300\n"
"PO-Revision-Date: 2025-07-05 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\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 Hash Value: 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]#/# (и любые "
"другие разделы, которые могут находиться на флэш-носителе) должен "
"монтироваться в режиме только для чтения. Вспомните, что в <<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#. Хотя эти проблемы являются временными и "
"обсуждаются вместе с решением проблем с запуском распространенных "
"программных пакетов, в <<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 ""
"В <<ro-fs>> было указано, что файловая система [.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"