aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/ru/articles/linux-users/_index.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/content/ru/articles/linux-users/_index.adoc')
-rw-r--r--documentation/content/ru/articles/linux-users/_index.adoc446
1 files changed, 446 insertions, 0 deletions
diff --git a/documentation/content/ru/articles/linux-users/_index.adoc b/documentation/content/ru/articles/linux-users/_index.adoc
new file mode 100644
index 0000000000..26b7765144
--- /dev/null
+++ b/documentation/content/ru/articles/linux-users/_index.adoc
@@ -0,0 +1,446 @@
+---
+authors:
+ -
+ author: 'John Ferrell'
+copyright: '2008 The FreeBSD Documentation Project'
+description: 'Этот документ предназначен для быстрого ознакомления с основами FreeBSD пользователей Linux® среднего и продвинутого уровня.'
+tags: ["Quickstart", "guide", "Linux", "FreeBSD"]
+title: 'Быстрое руководство по FreeBSD для пользователей Linux®'
+trademarks: ["freebsd", "intel", "redhat", "linux", "unix", "general"]
+---
+
+= Быстрое руководство по FreeBSD для пользователей Linux(R)
+:doctype: article
+:toc: macro
+:toclevels: 1
+:icons: font
+:sectnums:
+:sectnumlevels: 6
+:source-highlighter: rouge
+:experimental:
+:images-path: articles/linux-users/
+
+ifdef::env-beastie[]
+ifdef::backend-html5[]
+include::shared/authors.adoc[]
+include::shared/mirrors.adoc[]
+include::shared/releases.adoc[]
+include::shared/attributes/attributes-{{% lang %}}.adoc[]
+include::shared/{{% lang %}}/teams.adoc[]
+include::shared/{{% lang %}}/mailing-lists.adoc[]
+include::shared/{{% lang %}}/urls.adoc[]
+:imagesdir: ../../../images/{images-path}
+endif::[]
+ifdef::backend-pdf,backend-epub3[]
+include::../../../../shared/asciidoctor.adoc[]
+endif::[]
+endif::[]
+
+ifndef::env-beastie[]
+include::../../../../../shared/asciidoctor.adoc[]
+endif::[]
+
+[.abstract-title]
+Аннотация
+
+Этот документ предназначен для быстрого ознакомления с основами FreeBSD
+пользователей Linux(R) среднего и продвинутого уровня.
+
+'''
+
+toc::[]
+
+[[intro]]
+== Введение
+
+В этом документе освещаются некоторые технические различия между FreeBSD и
+Linux(R), чтобы пользователи Linux(R) среднего и продвинутого уровней могли
+быстро ознакомиться с основами 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` не будет доступа к своей оболочке по умолчанию, что помешает ему
+войти в систему и устранить проблему.
+
+[[software]]
+== Пакеты и порты: установка программ в FreeBSD
+
+FreeBSD предоставляет два метода установки приложений: бинарные пакеты и
+скомпилированные порты. Каждый метод имеет свои преимущества:
+
+.Бинарные пакеты
+* Быстрая установка по сравнению с компиляцией крупных приложений.
+* Не требует понимания того, как компилировать программное обеспечение.
+* Нет необходимости устанавливать компилятор.
+
+.Порты
+* Возможность настройки параметров установки.
+* Могут быть применены пользовательские патчи.
+
+Если установка приложения не требует дополнительной собственной настройки,
+достаточно установить пакет. Собирайте порт, если приложению требуется
+изменение параметров, заданных в пакетах по умолчанию. При необходимости
+собственный пакет можно собрать из портов с помощью `make package`.
+
+Полный список всех доступных портов и пакетов можно найти
+https://ports.freebsd.org[здесь].
+
+[[packages]]
+=== Пакеты
+
+Пакеты — это предварительно скомпилированные приложения, эквиваленты файлов
+[.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].
+
+[[ports]]
+=== Порты
+
+Коллекция портов FreeBSD — это набор [.filename]#Makefile# и патчей,
+специально адаптированных для установки приложений из исходного кода в
+FreeBSD. При установке порта система загрузит исходный код, применит
+необходимые патчи, скомпилирует код и установит приложение вместе с
+требуемыми зависимостями.
+
+Коллекция портов, иногда называемая деревом портов, может быть установлена в
+[.filename]#/usr/ports# с помощью
+link:{handbook}mirrors/#git[Git]. Подробные инструкции по установке
+Коллекции портов можно найти в extref:{handbook}ports/[разделе 4.5.1,
+ports-using-installation-methods] Руководства FreeBSD.
+
+Для сборки порта перейдите в его каталог и запустите процесс сборки. В
+следующем примере устанавливается Apache 2.4 из коллекции портов:
+
+[source, shell]
+....
+# cd /usr/ports/www/apache24
+# make install clean
+....
+
+Преимущество использования портов для установки программного обеспечения
+заключается в возможности настройки параметров установки. В этом примере
+указано, что также должен быть установлен модуль mod_ldap:
+
+[source, shell]
+....
+# cd /usr/ports/www/apache24
+# make WITH_LDAP="YES" install clean
+....
+
+Обратитесь к 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.
+
+[.programlisting]
+....
+# enable SSHD
+sshd_enable="YES"
+# enable Apache with SSL
+apache24_enable="YES"
+apache24_flags="-DSSL"
+....
+
+После включения службы в [.filename]#/etc/rc.conf# её можно запустить без
+перезагрузки системы:
+
+[source, shell]
+....
+# service sshd start
+# service apache24 start
+....
+
+Если служба не была включена, её можно запустить из командной строки с
+помощью `onestart`:
+
+[source, shell]
+....
+# service sshd onestart
+....
+
+[[network]]
+== Настройка сети
+
+Вместо общего идентификатора _ethX_, который используется в Linux(R) для
+обозначения сетевого интерфейса, FreeBSD использует имя драйвера с
+последующим числом. Следующий вывод из man:ifconfig[8] показывает два
+сетевых интерфейса Intel(R) Pro 1000 ([.filename]#em0# и [.filename]#em1#):
+
+[source, shell]
+....
+% ifconfig
+em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
+ options=b<RXCSUM,TXCSUM,VLAN_MTU>
+ inet 10.10.10.100 netmask 0xffffff00 broadcast 10.10.10.255
+ ether 00:50:56:a7:70:b2
+ media: Ethernet autoselect (1000baseTX <full-duplex>)
+ status: active
+em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
+ options=b<RXCSUM,TXCSUM,VLAN_MTU>
+ inet 192.168.10.222 netmask 0xffffff00 broadcast 192.168.10.255
+ ether 00:50:56:a7:03:2b
+ media: Ethernet autoselect (1000baseTX <full-duplex>)
+ status: active
+....
+
+IP-адрес может быть назначен интерфейсу с помощью man:ifconfig[8]. Чтобы
+настройки сохранялись после перезагрузки, конфигурация IP должна быть
+указана в [.filename]#/etc/rc.conf#. Следующие записи в
+[.filename]#/etc/rc.conf# задают имя хоста, IP-адрес и шлюз по умолчанию:
+
+[.programlisting]
+....
+hostname="server1.example.com"
+ifconfig_em0="inet 10.10.10.100 netmask 255.255.255.0"
+defaultrouter="10.10.10.1"
+....
+
+Используйте следующие записи для настройки интерфейса через DHCP:
+
+[.programlisting]
+....
+hostname="server1.example.com"
+ifconfig_em0="DHCP"
+....
+
+[[firewall]]
+== Firewall
+
+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 разрешает входящий SSH:
+
+[.programlisting]
+....
+pass in on $ext_if inet proto tcp from any to ($ext_if) port 22
+....
+
+IPFILTER — это приложение для межсетевого экрана, разработанное Дарреном
+Ридом. Оно не является специфичным для FreeBSD и было портировано на
+несколько операционных систем, включая NetBSD, OpenBSD, SunOS, HP/UX и
+Solaris.
+
+Синтаксис IPFILTER для разрешения входящего SSH:
+
+[.programlisting]
+....
+pass in on $ext_if proto tcp from any to any port = 22
+....
+
+IPFW — это межсетевой экран, разработанный и поддерживаемый FreeBSD. Он
+может быть использован совместно с man:dummynet[4] для обеспечения
+возможностей управления трафиком и имитации различных типов сетевых
+соединений.
+
+Синтаксис IPFW для разрешения входящего SSH будет следующим:
+
+[.programlisting]
+....
+ipfw add allow tcp from any to me 22 in via $ext_if
+....
+
+[[updates]]
+== Обновление FreeBSD
+
+Существует два метода обновления системы FreeBSD: из исходного кода или
+бинарные обновления.
+
+Обновление из исходного кода — это наиболее сложный метод обновления, но он
+предоставляет наибольшую гибкость. Процесс включает синхронизацию локальной
+копии исходного кода FreeBSD с репозиторием FreeBSD Git. После того как
+локальный исходный код обновлён, можно скомпилировать новую версию ядра и
+пользовательского пространства.
+
+Двоичные обновления аналогичны использованию `yum` или `apt-get` для
+обновления системы Linux(R). В FreeBSD, man:freebsd-update[8] может быть
+использован для получения и установки новых двоичных обновлений. Эти
+обновления могут быть запланированы с помощью man:cron[8].
+
+[NOTE]
+====
+При использовании man:cron[8] для планирования обновлений используйте
+`freebsd-update cron` в man:crontab[1], чтобы снизить вероятность
+одновременного скачивания обновлений большим количеством машин:
+
+[.programlisting]
+....
+0 3 * * * root /usr/sbin/freebsd-update cron
+....
+
+====
+
+Для получения дополнительной информации об обновлениях исходного кода и
+бинарных обновлениях обратитесь к extref:{handbook}cutting-edge/[главе об
+обновлениях, updating-upgrading-freebsdupdate] в Руководстве FreeBSD.
+
+[[procfs]]
+== procfs: ушёл, но не забыт
+
+В некоторых дистрибутивах Linux(R) можно посмотреть файл
+[.filename]#/proc/sys/net/ipv4/ip_forward#, чтобы определить, включена ли
+IP-маршрутизация. В FreeBSD вместо этого используется man:sysctl[8] для
+просмотра этого и других системных параметров.
+
+Например, используйте следующую команду, чтобы определить, включена ли
+IP-переадресация в системе FreeBSD:
+
+[source, shell]
+....
+% sysctl net.inet.ip.forwarding
+net.inet.ip.forwarding: 0
+....
+
+Используйте `-a` для вывода всех системных настроек:
+
+[source, shell]
+....
+% sysctl -a | more
+....
+
+Если приложению требуется procfs, добавьте следующую запись в
+[.filename]#/etc/fstab#:
+
+[source, shell]
+....
+proc /proc procfs rw,noauto 0 0
+....
+
+Добавление `noauto` предотвратит автоматическое монтирование
+[.filename]#/proc# при загрузке.
+
+Чтобы подключить файловую систему без перезагрузки:
+
+[source, shell]
+....
+# mount /proc
+....
+
+[[commands]]
+== Распространенные команды
+
+Некоторые эквиваленты распространённых команд приведены ниже:
+
+[.informaltable]
+[cols="1,1,1", frame="none", options="header"]
+|===
+| Команда Linux(R) (Red Hat/Debian)
+| Эквивалент FreeBSD
+| Назначение
+
+|`yum install _package_` / `apt-get install _package_`
+|`pkg install _package_`
+|Установить пакет из удалённого репозитория
+
+|`rpm -ivh _package_` / `dpkg -i _package_`
+|`pkg add _package_`
+|Установить локальный пакет
+
+|`rpm -qa` / `dpkg -l`
+|`pkg info`
+|Список установленных пакетов
+
+|`lspci`
+|`pciconf`
+|Перечислить устройства PCI
+
+|`lsmod`
+|`kldstat`
+|Перечислить загруженные модули ядра
+
+|`modprobe`
+|`kldload` / `kldunload`
+|Загрузка/выгрузка модулей ядра
+
+|`strace`
+|`truss`
+|Трассировка системных вызовов
+|===
+
+[[conclusion]]
+== Заключение
+
+Этот документ предоставил обзор FreeBSD. Для более детального изучения этих
+тем, а также многих других, не рассмотренных в данном документе, обратитесь
+к extref:{handbook}[Руководству FreeBSD].