aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/en/articles/solid-state/_index.po
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/content/en/articles/solid-state/_index.po')
-rw-r--r--documentation/content/en/articles/solid-state/_index.po651
1 files changed, 651 insertions, 0 deletions
diff --git a/documentation/content/en/articles/solid-state/_index.po b/documentation/content/en/articles/solid-state/_index.po
new file mode 100644
index 0000000000..4c0a9f35bc
--- /dev/null
+++ b/documentation/content/en/articles/solid-state/_index.po
@@ -0,0 +1,651 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR The FreeBSD Project
+# This file is distributed under the same license as the FreeBSD Documentation package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: FreeBSD Documentation VERSION\n"
+"POT-Creation-Date: 2023-07-15 16:42-0300\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\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 ""
+
+#. 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 ""
+
+#. 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 ""
+
+#. 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 ""
+
+#. 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 ""
+
+#. 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 ""
+
+#. 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 ""
+
+#. 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 ""
+
+#. 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 ""
+
+#. type: Title ==
+#: documentation/content/en/articles/solid-state/_index.adoc:95
+#, no-wrap
+msgid "The `rc` Subsystem and Read-Only Filesystems"
+msgstr ""
+
+#. 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 ""
+
+#. 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 ""
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/solid-state/_index.adoc:106
+#, no-wrap
+msgid "varsize=8192\n"
+msgstr ""
+
+#. 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 "
+"<<intro>> 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 ""
+
+#. 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 ""
+
+#. type: Plain text
+#: documentation/content/en/articles/solid-state/_index.adoc:126
+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 <<strategies>>."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/articles/solid-state/_index.adoc:128
+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 ""
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/solid-state/_index.adoc:132
+#, no-wrap
+msgid "# /sbin/mount -uw partition\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/articles/solid-state/_index.adoc:135
+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:139
+#, no-wrap
+msgid "# /sbin/mount -ur partition\n"
+msgstr ""
+
+#. type: Title ==
+#: documentation/content/en/articles/solid-state/_index.adoc:141
+#, no-wrap
+msgid "Building a File System from Scratch"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/articles/solid-state/_index.adoc:144
+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 ""
+
+#. type: Plain text
+#: documentation/content/en/articles/solid-state/_index.adoc:147
+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 ""
+
+#. type: Plain text
+#: documentation/content/en/articles/solid-state/_index.adoc:153
+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 ""
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/solid-state/_index.adoc:157
+msgid "Partitioning Your Flash Media Device"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/solid-state/_index.adoc:167
+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 ""
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/solid-state/_index.adoc:168
+msgid "Creating Filesystems on Your Flash Memory Device"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/solid-state/_index.adoc:171
+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 ""
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/solid-state/_index.adoc:175
+#, no-wrap
+msgid "# disklabel -e /dev/ad0c\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/articles/solid-state/_index.adoc:179
+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 ""
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/solid-state/_index.adoc:183
+#, no-wrap
+msgid "a: 123456 0 4.2BSD 0 0\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/articles/solid-state/_index.adoc:188
+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 ""
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/solid-state/_index.adoc:193
+#, no-wrap
+msgid ""
+"# disklabel -B -r /dev/ad0c\n"
+"# newfs /dev/ad0a\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/articles/solid-state/_index.adoc:196
+msgid "Placing Your Filesystem on the Flash Media"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/articles/solid-state/_index.adoc:198
+msgid "Mount the newly prepared flash media:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/solid-state/_index.adoc:202
+#, no-wrap
+msgid "# mount /dev/ad0a /flash\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/articles/solid-state/_index.adoc:206
+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 ""
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/solid-state/_index.adoc:211
+#, no-wrap
+msgid ""
+"# ifconfig xl0 192.168.0.10 netmask 255.255.255.0\n"
+"# route add default 192.168.0.1\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/articles/solid-state/_index.adoc:217
+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 ""
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/solid-state/_index.adoc:221
+#, no-wrap
+msgid "ftp> get tarfile.tar \"| tar xvf -\"\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/articles/solid-state/_index.adoc:224
+msgid "If your tarfile is gzipped, you can accomplish this as well:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/solid-state/_index.adoc:228
+#, no-wrap
+msgid "ftp> get tarfile.tar \"| zcat | tar xvf -\"\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/articles/solid-state/_index.adoc:231
+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:237
+#, no-wrap
+msgid ""
+"# cd /\n"
+"# umount /flash\n"
+"# exit\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/articles/solid-state/_index.adoc:240
+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 ""
+
+#. type: Title ==
+#: documentation/content/en/articles/solid-state/_index.adoc:243
+#, no-wrap
+msgid "System Strategies for Small and Read Only Environments"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/solid-state/_index.adoc:247
+msgid ""
+"In <<ro-fs>>, 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 ""
+
+#. type: Title ===
+#: documentation/content/en/articles/solid-state/_index.adoc:248
+#, no-wrap
+msgid "Cron"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/solid-state/_index.adoc:251
+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 ""
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/solid-state/_index.adoc:256
+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 ""
+
+#. type: Title ===
+#: documentation/content/en/articles/solid-state/_index.adoc:257
+#, no-wrap
+msgid "Syslog"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/solid-state/_index.adoc:262
+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 ""
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/solid-state/_index.adoc:267
+#, no-wrap
+msgid ""
+"# touch /var/log/security /var/log/maillog /var/log/cron /var/log/messages\n"
+"# chmod 0644 /var/log/*\n"
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/articles/solid-state/_index.adoc:269
+#, no-wrap
+msgid "Ports Installation"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/articles/solid-state/_index.adoc:274
+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 <<ro-fs>>. 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 ""
+
+#. type: Plain text
+#: documentation/content/en/articles/solid-state/_index.adoc:277
+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 ""
+
+#. type: Plain text
+#: documentation/content/en/articles/solid-state/_index.adoc:280
+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 ""
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/solid-state/_index.adoc:284
+#, no-wrap
+msgid "# mkdir /etc/pkg\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/articles/solid-state/_index.adoc:287
+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 ""
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/solid-state/_index.adoc:291
+#, no-wrap
+msgid "# ln -s /etc/pkg /var/db/pkg\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/articles/solid-state/_index.adoc:294
+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 ""
+
+#. type: Title ===
+#: documentation/content/en/articles/solid-state/_index.adoc:295
+#, no-wrap
+msgid "Apache Web Server"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/solid-state/_index.adoc:301
+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 ""
+
+#. type: Plain text
+#: documentation/content/en/articles/solid-state/_index.adoc:307
+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 ""
+
+#. type: Plain text
+#: documentation/content/en/articles/solid-state/_index.adoc:309
+msgid ""
+"First, add the directory `log/apache` to the list of directories to be "
+"created in [.filename]#/etc/rc.d/var#."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/articles/solid-state/_index.adoc:311
+msgid ""
+"Second, add these commands to [.filename]#/etc/rc.d/var# after the directory "
+"creation section:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/solid-state/_index.adoc:316
+#, no-wrap
+msgid ""
+"# chmod 0774 /var/log/apache\n"
+"# chown nobody:nobody /var/log/apache\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/articles/solid-state/_index.adoc:319
+msgid ""
+"Finally, remove the existing [.filename]#apache_log_dir# directory, and "
+"replace it with a link:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/solid-state/_index.adoc:324
+#, no-wrap
+msgid ""
+"# rm -rf apache_log_dir\n"
+"# ln -s /var/log/apache apache_log_dir\n"
+msgstr ""