diff options
Diffstat (limited to 'documentation/content/ru/articles/linux-users/_index.adoc')
| -rw-r--r-- | documentation/content/ru/articles/linux-users/_index.adoc | 199 |
1 files changed, 45 insertions, 154 deletions
diff --git a/documentation/content/ru/articles/linux-users/_index.adoc b/documentation/content/ru/articles/linux-users/_index.adoc index 26b7765144..46c2b04b67 100644 --- a/documentation/content/ru/articles/linux-users/_index.adoc +++ b/documentation/content/ru/articles/linux-users/_index.adoc @@ -43,8 +43,7 @@ endif::[] [.abstract-title] Аннотация -Этот документ предназначен для быстрого ознакомления с основами FreeBSD -пользователей Linux(R) среднего и продвинутого уровня. +Этот документ предназначен для быстрого ознакомления с основами FreeBSD пользователей Linux(R) среднего и продвинутого уровня. ''' @@ -53,44 +52,23 @@ toc::[] [[intro]] == Введение -В этом документе освещаются некоторые технические различия между FreeBSD и -Linux(R), чтобы пользователи Linux(R) среднего и продвинутого уровней могли -быстро ознакомиться с основами FreeBSD. +В этом документе освещаются некоторые технические различия между FreeBSD и Linux(R), чтобы пользователи Linux(R) среднего и продвинутого уровней могли быстро ознакомиться с основами FreeBSD. -Этот документ предполагает, что FreeBSD уже установлена. Для получения -помощи по процессу установки обратитесь к главе extref:{handbook}[Установка -FreeBSD, bsdinstall] Руководства FreeBSD. +Этот документ предполагает, что FreeBSD уже установлена. Для получения помощи по процессу установки обратитесь к главе extref:{handbook}[Установка FreeBSD, bsdinstall] Руководства FreeBSD. [[shells]] == Стандартная оболочка -Пользователи Linux(R) часто удивляются, обнаружив, что Bash не является -оболочкой по умолчанию в FreeBSD. На самом деле, Bash не включён в -стандартную установку. Вместо этого используется совместимая с Bourne shell -оболочка man:sh[1] в качестве оболочки пользователя по умолчанию. Оболочка -root — это man:tcsh[1] по умолчанию в FreeBSD 13 и более ранних версиях и -man:sh[1] в FreeBSD 14 и позднее. Оболочка man:sh[1] очень похожа на Bash, -но имеет гораздо меньший набор возможностей. Как правило, скрипты, -написанные для man:sh[1], будут работать в Bash, но обратное не всегда -верно. - -Однако Bash и другие оболочки доступны для установки через -extref:{handbook}[Коллекцию портов и пакетов FreeBSD, ports]. - -После установки другой оболочки используйте man:chsh[1], чтобы изменить -оболочку пользователя по умолчанию. Рекомендуется оставить оболочку -пользователя `root` без изменений, поскольку оболочки, не входящие в базовую -поставку, устанавливаются в [.filename]#/usr/local/bin#. В случае -возникновения проблемы файловая система, в которой находится -[.filename]#/usr/local/bin#, может быть не смонтирована. В такой ситуации у -`root` не будет доступа к своей оболочке по умолчанию, что помешает ему -войти в систему и устранить проблему. +Пользователи Linux(R) часто удивляются, обнаружив, что Bash не является оболочкой по умолчанию в FreeBSD. На самом деле, Bash не включён в стандартную установку. Вместо этого используется совместимая с Bourne shell оболочка man:sh[1] в качестве оболочки пользователя по умолчанию. Оболочка root — это man:tcsh[1] по умолчанию в FreeBSD 13 и более ранних версиях и man:sh[1] в FreeBSD 14 и позднее. Оболочка man:sh[1] очень похожа на Bash, но имеет гораздо меньший набор возможностей. Как правило, скрипты, написанные для man:sh[1], будут работать в Bash, но обратное не всегда верно. + +Однако Bash и другие оболочки доступны для установки через extref:{handbook}[Коллекцию портов и пакетов FreeBSD, ports]. + +После установки другой оболочки используйте man:chsh[1], чтобы изменить оболочку пользователя по умолчанию. Рекомендуется оставить оболочку пользователя `root` без изменений, поскольку оболочки, не входящие в базовую поставку, устанавливаются в [.filename]#/usr/local/bin#. В случае возникновения проблемы файловая система, в которой находится [.filename]#/usr/local/bin#, может быть не смонтирована. В такой ситуации у `root` не будет доступа к своей оболочке по умолчанию, что помешает ему войти в систему и устранить проблему. [[software]] == Пакеты и порты: установка программ в FreeBSD -FreeBSD предоставляет два метода установки приложений: бинарные пакеты и -скомпилированные порты. Каждый метод имеет свои преимущества: +FreeBSD предоставляет два метода установки приложений: бинарные пакеты и скомпилированные порты. Каждый метод имеет свои преимущества: .Бинарные пакеты * Быстрая установка по сравнению с компиляцией крупных приложений. @@ -101,49 +79,30 @@ FreeBSD предоставляет два метода установки при * Возможность настройки параметров установки. * Могут быть применены пользовательские патчи. -Если установка приложения не требует дополнительной собственной настройки, -достаточно установить пакет. Собирайте порт, если приложению требуется -изменение параметров, заданных в пакетах по умолчанию. При необходимости -собственный пакет можно собрать из портов с помощью `make package`. +Если установка приложения не требует дополнительной собственной настройки, достаточно установить пакет. Собирайте порт, если приложению требуется изменение параметров, заданных в пакетах по умолчанию. При необходимости собственный пакет можно собрать из портов с помощью `make package`. -Полный список всех доступных портов и пакетов можно найти -https://ports.freebsd.org[здесь]. +Полный список всех доступных портов и пакетов можно найти https://ports.freebsd.org[здесь]. [[packages]] === Пакеты -Пакеты — это предварительно скомпилированные приложения, эквиваленты файлов -[.filename]#.deb# в системах на основе Debian/Ubuntu и файлов -[.filename]#.rpm# в системах на основе Red Hat/Fedora. Пакеты -устанавливаются с помощью `pkg`. Например, следующая команда устанавливает -Apache 2.4: +Пакеты — это предварительно скомпилированные приложения, эквиваленты файлов [.filename]#.deb# в системах на основе Debian/Ubuntu и файлов [.filename]#.rpm# в системах на основе Red Hat/Fedora. Пакеты устанавливаются с помощью `pkg`. Например, следующая команда устанавливает Apache 2.4: [source, shell] .... # pkg install apache24 .... -Для получения дополнительной информации о пакетах обратитесь к разделу 4.4 -Руководства FreeBSD: extref:{handbook}ports/[Использование pkg для -управления бинарными пакетами, pkgng-intro]. +Для получения дополнительной информации о пакетах обратитесь к разделу 4.4 Руководства FreeBSD: extref:{handbook}ports/[Использование pkg для управления бинарными пакетами, pkgng-intro]. [[ports]] === Порты -Коллекция портов FreeBSD — это набор [.filename]#Makefile# и патчей, -специально адаптированных для установки приложений из исходного кода в -FreeBSD. При установке порта система загрузит исходный код, применит -необходимые патчи, скомпилирует код и установит приложение вместе с -требуемыми зависимостями. +Коллекция портов FreeBSD — это набор [.filename]#Makefile# и патчей, специально адаптированных для установки приложений из исходного кода в FreeBSD. При установке порта система загрузит исходный код, применит необходимые патчи, скомпилирует код и установит приложение вместе с требуемыми зависимостями. -Коллекция портов, иногда называемая деревом портов, может быть установлена в -[.filename]#/usr/ports# с помощью -link:{handbook}mirrors/#git[Git]. Подробные инструкции по установке -Коллекции портов можно найти в extref:{handbook}ports/[разделе 4.5.1, -ports-using-installation-methods] Руководства FreeBSD. +Коллекция портов, иногда называемая деревом портов, может быть установлена в [.filename]#/usr/ports# с помощью link:{handbook}mirrors/#git[Git]. Подробные инструкции по установке Коллекции портов можно найти в extref:{handbook}ports/[разделе 4.5.1, ports-using-installation-methods] Руководства FreeBSD. -Для сборки порта перейдите в его каталог и запустите процесс сборки. В -следующем примере устанавливается Apache 2.4 из коллекции портов: +Для сборки порта перейдите в его каталог и запустите процесс сборки. В следующем примере устанавливается Apache 2.4 из коллекции портов: [source, shell] .... @@ -151,9 +110,7 @@ ports-using-installation-methods] Руководства FreeBSD. # make install clean .... -Преимущество использования портов для установки программного обеспечения -заключается в возможности настройки параметров установки. В этом примере -указано, что также должен быть установлен модуль mod_ldap: +Преимущество использования портов для установки программного обеспечения заключается в возможности настройки параметров установки. В этом примере указано, что также должен быть установлен модуль mod_ldap: [source, shell] .... @@ -161,48 +118,20 @@ ports-using-installation-methods] Руководства FreeBSD. # make WITH_LDAP="YES" install clean .... -Обратитесь к extref:{handbook}ports/[Использование коллекции портов, -ports-using] для получения дополнительной информации. +Обратитесь к extref:{handbook}ports/[Использование коллекции портов, ports-using] для получения дополнительной информации. [[startup]] == Загрузка системы -Многие дистрибутивы Linux(R) используют систему инициализации SysV, тогда -как FreeBSD использует традиционный BSD-стиль man:init[8]. В BSD-стиле -man:init[8] нет уровней запуска (run-levels), и файл -[.filename]#/etc/inittab# отсутствует. Вместо этого запуск системы -управляется сценариями man:rc[8]. При загрузке системы [.filename]#/etc/rc# -читает [.filename]#/etc/rc.conf# и [.filename]#/etc/defaults/rc.conf#, чтобы -определить, какие службы должны быть запущены. Указанные службы затем -запускаются путем выполнения соответствующих сценариев инициализации, -расположенных в [.filename]#/etc/rc.d/# и -[.filename]#/usr/local/etc/rc.d/#. Эти сценарии аналогичны сценариям, -расположенным в [.filename]#/etc/init.d/# в системах Linux(R). - -Скрипты, расположенные в [.filename]#/etc/rc.d/#, предназначены для -приложений, входящих в "базовую" систему, таких как man:cron[8], man:sshd[8] -и man:syslog[3]. Скрипты в [.filename]#/usr/local/etc/rc.d/# предназначены -для пользовательских приложений, таких как Apache и Squid. - -Поскольку FreeBSD разрабатывается как полноценная операционная система, -пользовательские приложения не считаются частью «базовой» -системы. Пользовательские приложения обычно устанавливаются с помощью -extref:{handbook}ports/[Пакетов или Портов, ports-using]. Чтобы отделить их -от базовой системы, пользовательские приложения устанавливаются в -[.filename]#/usr/local/#. Таким образом, исполняемые файлы пользовательских -приложений находятся в [.filename]#/usr/local/bin/#, конфигурационные файлы -— в [.filename]#/usr/local/etc/# и так далее. - -Сервисы включаются путем добавления соответствующей записи в файл -[.filename]#/etc/rc.conf#. Системные параметры по умолчанию находятся в -файле [.filename]#/etc/defaults/rc.conf#, а настройки по умолчанию -переопределяются параметрами из файла [.filename]#/etc/rc.conf#. Подробнее о -доступных параметрах можно узнать в man:rc.conf[5]. При установке -дополнительных приложений ознакомьтесь с сообщением установки, чтобы -определить, как включить связанные сервисы. - -Следующие записи в [.filename]#/etc/rc.conf# включают man:sshd[8], -активируют Apache 2.4 и указывают, что Apache должен запускаться с SSL. +Многие дистрибутивы Linux(R) используют систему инициализации SysV, тогда как FreeBSD использует традиционный BSD-стиль man:init[8]. В BSD-стиле man:init[8] нет уровней запуска (run-levels), и файл [.filename]#/etc/inittab# отсутствует. Вместо этого запуск системы управляется сценариями man:rc[8]. При загрузке системы [.filename]#/etc/rc# читает [.filename]#/etc/rc.conf# и [.filename]#/etc/defaults/rc.conf#, чтобы определить, какие службы должны быть запущены. Указанные службы затем запускаются путем выполнения соответствующих сценариев инициализации, расположенных в [.filename]#/etc/rc.d/# и [.filename]#/usr/local/etc/rc.d/#. Эти сценарии аналогичны сценариям, расположенным в [.filename]#/etc/init.d/# в системах Linux(R). + +Скрипты, расположенные в [.filename]#/etc/rc.d/#, предназначены для приложений, входящих в "базовую" систему, таких как man:cron[8], man:sshd[8] и man:syslog[3]. Скрипты в [.filename]#/usr/local/etc/rc.d/# предназначены для пользовательских приложений, таких как Apache и Squid. + +Поскольку FreeBSD разрабатывается как полноценная операционная система, пользовательские приложения не считаются частью «базовой» системы. Пользовательские приложения обычно устанавливаются с помощью extref:{handbook}ports/[Пакетов или Портов, ports-using]. Чтобы отделить их от базовой системы, пользовательские приложения устанавливаются в [.filename]#/usr/local/#. Таким образом, исполняемые файлы пользовательских приложений находятся в [.filename]#/usr/local/bin/#, конфигурационные файлы — в [.filename]#/usr/local/etc/# и так далее. + +Сервисы включаются путем добавления соответствующей записи в файл [.filename]#/etc/rc.conf#. Системные параметры по умолчанию находятся в файле [.filename]#/etc/defaults/rc.conf#, а настройки по умолчанию переопределяются параметрами из файла [.filename]#/etc/rc.conf#. Подробнее о доступных параметрах можно узнать в man:rc.conf[5]. При установке дополнительных приложений ознакомьтесь с сообщением установки, чтобы определить, как включить связанные сервисы. + +Следующие записи в [.filename]#/etc/rc.conf# включают man:sshd[8], активируют Apache 2.4 и указывают, что Apache должен запускаться с SSL. [.programlisting] .... @@ -213,8 +142,7 @@ apache24_enable="YES" apache24_flags="-DSSL" .... -После включения службы в [.filename]#/etc/rc.conf# её можно запустить без -перезагрузки системы: +После включения службы в [.filename]#/etc/rc.conf# её можно запустить без перезагрузки системы: [source, shell] .... @@ -222,8 +150,7 @@ apache24_flags="-DSSL" # service apache24 start .... -Если служба не была включена, её можно запустить из командной строки с -помощью `onestart`: +Если служба не была включена, её можно запустить из командной строки с помощью `onestart`: [source, shell] .... @@ -233,10 +160,7 @@ apache24_flags="-DSSL" [[network]] == Настройка сети -Вместо общего идентификатора _ethX_, который используется в Linux(R) для -обозначения сетевого интерфейса, FreeBSD использует имя драйвера с -последующим числом. Следующий вывод из man:ifconfig[8] показывает два -сетевых интерфейса Intel(R) Pro 1000 ([.filename]#em0# и [.filename]#em1#): +Вместо общего идентификатора _ethX_, который используется в Linux(R) для обозначения сетевого интерфейса, FreeBSD использует имя драйвера с последующим числом. Следующий вывод из man:ifconfig[8] показывает два сетевых интерфейса Intel(R) Pro 1000 ([.filename]#em0# и [.filename]#em1#): [source, shell] .... @@ -255,10 +179,7 @@ em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 status: active .... -IP-адрес может быть назначен интерфейсу с помощью man:ifconfig[8]. Чтобы -настройки сохранялись после перезагрузки, конфигурация IP должна быть -указана в [.filename]#/etc/rc.conf#. Следующие записи в -[.filename]#/etc/rc.conf# задают имя хоста, IP-адрес и шлюз по умолчанию: +IP-адрес может быть назначен интерфейсу с помощью man:ifconfig[8]. Чтобы настройки сохранялись после перезагрузки, конфигурация IP должна быть указана в [.filename]#/etc/rc.conf#. Следующие записи в [.filename]#/etc/rc.conf# задают имя хоста, IP-адрес и шлюз по умолчанию: [.programlisting] .... @@ -278,17 +199,13 @@ ifconfig_em0="DHCP" [[firewall]] == Firewall -FreeBSD не использует Linux(R) IPTABLES для своего межсетевого -экрана. Вместо этого FreeBSD предлагает выбор из трёх межсетевых экранов на -уровне ядра: +FreeBSD не использует Linux(R) IPTABLES для своего межсетевого экрана. Вместо этого FreeBSD предлагает выбор из трёх межсетевых экранов на уровне ядра: * extref:{handbook}[PF, firewalls-pf] * extref:{handbook}[IPFILTER, firewalls-ipf] * extref:{handbook}[IPFW, firewalls-ipfw] -PF разработан проектом OpenBSD и портирован в FreeBSD. PF был создан как -замена для IPFILTER, и его синтаксис схож с синтаксисом IPFILTER. PF может -использоваться совместно с man:altq[4] для обеспечения функций QoS. +PF разработан проектом OpenBSD и портирован в FreeBSD. PF был создан как замена для IPFILTER, и его синтаксис схож с синтаксисом IPFILTER. PF может использоваться совместно с man:altq[4] для обеспечения функций QoS. Этот пример записи PF разрешает входящий SSH: @@ -297,10 +214,7 @@ PF разработан проектом OpenBSD и портирован в Free pass in on $ext_if inet proto tcp from any to ($ext_if) port 22 .... -IPFILTER — это приложение для межсетевого экрана, разработанное Дарреном -Ридом. Оно не является специфичным для FreeBSD и было портировано на -несколько операционных систем, включая NetBSD, OpenBSD, SunOS, HP/UX и -Solaris. +IPFILTER — это приложение для межсетевого экрана, разработанное Дарреном Ридом. Оно не является специфичным для FreeBSD и было портировано на несколько операционных систем, включая NetBSD, OpenBSD, SunOS, HP/UX и Solaris. Синтаксис IPFILTER для разрешения входящего SSH: @@ -309,10 +223,7 @@ Solaris. pass in on $ext_if proto tcp from any to any port = 22 .... -IPFW — это межсетевой экран, разработанный и поддерживаемый FreeBSD. Он -может быть использован совместно с man:dummynet[4] для обеспечения -возможностей управления трафиком и имитации различных типов сетевых -соединений. +IPFW — это межсетевой экран, разработанный и поддерживаемый FreeBSD. Он может быть использован совместно с man:dummynet[4] для обеспечения возможностей управления трафиком и имитации различных типов сетевых соединений. Синтаксис IPFW для разрешения входящего SSH будет следующим: @@ -324,25 +235,15 @@ ipfw add allow tcp from any to me 22 in via $ext_if [[updates]] == Обновление FreeBSD -Существует два метода обновления системы FreeBSD: из исходного кода или -бинарные обновления. +Существует два метода обновления системы FreeBSD: из исходного кода или бинарные обновления. -Обновление из исходного кода — это наиболее сложный метод обновления, но он -предоставляет наибольшую гибкость. Процесс включает синхронизацию локальной -копии исходного кода FreeBSD с репозиторием FreeBSD Git. После того как -локальный исходный код обновлён, можно скомпилировать новую версию ядра и -пользовательского пространства. +Обновление из исходного кода — это наиболее сложный метод обновления, но он предоставляет наибольшую гибкость. Процесс включает синхронизацию локальной копии исходного кода FreeBSD с репозиторием FreeBSD Git. После того как локальный исходный код обновлён, можно скомпилировать новую версию ядра и пользовательского пространства. -Двоичные обновления аналогичны использованию `yum` или `apt-get` для -обновления системы Linux(R). В FreeBSD, man:freebsd-update[8] может быть -использован для получения и установки новых двоичных обновлений. Эти -обновления могут быть запланированы с помощью man:cron[8]. +Двоичные обновления аналогичны использованию `yum` или `apt-get` для обновления системы Linux(R). В FreeBSD, man:freebsd-update[8] может быть использован для получения и установки новых двоичных обновлений. Эти обновления могут быть запланированы с помощью man:cron[8]. [NOTE] ==== -При использовании man:cron[8] для планирования обновлений используйте -`freebsd-update cron` в man:crontab[1], чтобы снизить вероятность -одновременного скачивания обновлений большим количеством машин: +При использовании man:cron[8] для планирования обновлений используйте `freebsd-update cron` в man:crontab[1], чтобы снизить вероятность одновременного скачивания обновлений большим количеством машин: [.programlisting] .... @@ -351,20 +252,14 @@ ipfw add allow tcp from any to me 22 in via $ext_if ==== -Для получения дополнительной информации об обновлениях исходного кода и -бинарных обновлениях обратитесь к extref:{handbook}cutting-edge/[главе об -обновлениях, updating-upgrading-freebsdupdate] в Руководстве FreeBSD. +Для получения дополнительной информации об обновлениях исходного кода и бинарных обновлениях обратитесь к extref:{handbook}cutting-edge/[главе об обновлениях, updating-upgrading-freebsdupdate] в Руководстве FreeBSD. [[procfs]] == procfs: ушёл, но не забыт -В некоторых дистрибутивах Linux(R) можно посмотреть файл -[.filename]#/proc/sys/net/ipv4/ip_forward#, чтобы определить, включена ли -IP-маршрутизация. В FreeBSD вместо этого используется man:sysctl[8] для -просмотра этого и других системных параметров. +В некоторых дистрибутивах Linux(R) можно посмотреть файл [.filename]#/proc/sys/net/ipv4/ip_forward#, чтобы определить, включена ли IP-маршрутизация. В FreeBSD вместо этого используется man:sysctl[8] для просмотра этого и других системных параметров. -Например, используйте следующую команду, чтобы определить, включена ли -IP-переадресация в системе FreeBSD: +Например, используйте следующую команду, чтобы определить, включена ли IP-переадресация в системе FreeBSD: [source, shell] .... @@ -379,16 +274,14 @@ net.inet.ip.forwarding: 0 % sysctl -a | more .... -Если приложению требуется procfs, добавьте следующую запись в -[.filename]#/etc/fstab#: +Если приложению требуется procfs, добавьте следующую запись в [.filename]#/etc/fstab#: [source, shell] .... proc /proc procfs rw,noauto 0 0 .... -Добавление `noauto` предотвратит автоматическое монтирование -[.filename]#/proc# при загрузке. +Добавление `noauto` предотвратит автоматическое монтирование [.filename]#/proc# при загрузке. Чтобы подключить файловую систему без перезагрузки: @@ -441,6 +334,4 @@ proc /proc procfs rw,noauto 0 0 [[conclusion]] == Заключение -Этот документ предоставил обзор FreeBSD. Для более детального изучения этих -тем, а также многих других, не рассмотренных в данном документе, обратитесь -к extref:{handbook}[Руководству FreeBSD]. +Этот документ предоставил обзор FreeBSD. Для более детального изучения этих тем, а также многих других, не рассмотренных в данном документе, обратитесь к extref:{handbook}[Руководству FreeBSD]. |
