Перейти к содержанию

Резюме

Резюме главы

В этой главе рассматривались различные сетевые службы, которые можно реализовать в Linux. Сначала мы изучили настройку печати с помощью CUPS. Служба CUPS предоставляется демоном cupsd. CUPS может объявлять о доступности своих принтеров в локальной сети. Другие Linux-системы могут прослушивать такие объявления, подключаться к службе CUPS и отправлять на её принтеры задания печати. Система CUPS состоит из следующих компонентов:

  • Планировщик CUPS
  • Фильтры CUPS
  • Серверные части CUPS
  • PPD-файлы
  • Веб-утилита настройки
  • Очередь печати (/var/spool/cups)

Служба CUPS настраивается с помощью файла /etc/cups/cupsd.conf. Одна из задач при настройке CUPS — создание администратора CUPS. Для этого введите в командной строке оболочки lppasswd –g sys –a имя_пользователя. После этого можно использовать веб-утилиту настройки для создания принтеров, открыв браузер и перейдя по адресу http://localhost:631.

После создания принтера задания печати можно отправлять, выбирая Файл | Печать в графических приложениях Linux. Задания печати также можно отправлять из командной строки оболочки с помощью команды lp. Для управления системой CUPS можно использовать следующие утилиты командной строки:

  • lpstat –t — отображает информацию о принтерах CUPS в системе
  • cancel — отменяет задание печати
  • lpoptions –d — устанавливает принтер по умолчанию для системы
  • cupsaccept/cupsreject — включает или отключает очередь печати CUPS
  • cupsenable/cupsdisable — включает или отключает принтер CUPS

Управлять печатью в Linux можно также с помощью демона строчного принтера (lpd). Команды lpd позволяют выполнять следующие операции:

  • lpr –P имя_принтера имя_файла — распечатать документ
  • lpc status — просмотреть состояние принтера
  • lpq — просмотреть ожидающие задания печати
  • lprm номер_задания — удалить ожидающее задание из очереди печати

Все эти команды работают также с принтерами и очередями печати CUPS. Кроме того, был рассмотрен стандартизированный процесс устранения неполадок печати и наиболее часто встречающиеся проблемы.

Далее мы перешли к управлению временем в Linux. Были рассмотрены различия между аппаратными часами и системным временем в Linux, а также использование команды hwclock для управления аппаратными часами.

Для синхронизации времени между Linux-системами в сети можно использовать команду netdate в командной строке оболочки. Синтаксис: netdate сервер_времени, где сервер_времени — IP-адрес или DNS-имя другой Linux-системы в сети, на которой запущена служба времени на UDP-порту 37. После синхронизации системного времени с помощью netdate рекомендуется синхронизировать системное время с аппаратными часами командой hwclock --systohc.

Команда netdate достаточно хорошо справляется с синхронизацией времени в сети. Однако более предпочтительный способ регулярной синхронизации времени — использование протокола NTP (Network Time Protocol — протокол сетевого времени). NTP управляет временем значительно точнее, чем netdate: если между поставщиком и потребителем времени (вашей локальной системой) есть расхождение, NTP постепенно корректирует время небольшими шагами до полной синхронизации. NTP также широко поддерживается большинством операционных систем.

Для синхронизации времени с другим поставщиком NTP в Linux используется демон ntpd. Система с запущенным ntpd может одновременно выступать как потребителем, так и поставщиком времени. Протокол NTP работает через IP-порт 123. Потребитель времени отправляет запрос синхронизации поставщику на порт 123. Поставщик передаёт своё время потребителю, и системное время на стороне потребителя корректируется в соответствии с алгоритмом NTP.

Ключевые концепции NTP, которые необходимо знать:

  • Страта
  • Пошаговая и плавная корректировка
  • Неадекватное время
  • Дрейф
  • Джиттер

После установки NTP на вашей системе можно редактировать файл /etc/ntp.conf в текстовом редакторе, указав, с какой системой следует синхронизировать время. Синтаксис:

server IP_адрес_или_DNS_имя_сервера_времени

При желании можно использовать серверный пул NTP. Домен pool.ntp.org применяет циклический DNS для случайного выбора из пула добровольных поставщиков времени.

Перед запуском демона ntpd необходимо выполнить быструю однократную синхронизацию с поставщиком NTP во избежание проблем с неадекватным временем. Для этого введите в командной строке ntpdate адрес_поставщика_времени. Это обеспечит начальную синхронизацию перед запуском демона. Возможно, команду придётся выполнить несколько раз, если расхождение между вашей системой и поставщиком времени очень велико. После этого можно запустить демон ntpd с помощью его сценария init в соответствующем каталоге сценариев init вашего дистрибутива.

После запуска демона NTP для отслеживания его работы можно использовать две команды:

  • ntpq –p
  • ntptrace

Разобравшись с NTP, мы рассмотрели управление MTA в Linux. Сначала была изучена схема работы электронной почты: роли MUA, MTA и MDA, а также демонов IMAP и POP3. Затем были рассмотрены несколько широко используемых MTA для Linux:

  • sendmail
  • postfix
  • qmail
  • Exim

Эти MTA могут получать отправленные сообщения от MUA по протоколу SMTP. Однако они не могут доставлять сообщения в почтовые клиенты по POP3 или IMAP. Для этого необходимо установить на систему пакет imap.

Далее была рассмотрена утилита командной строки mail, с помощью которой можно читать электронную почту, хранящуюся в локальном MTA. Для отправки сообщения введите в командной строке оболочки mail адрес_получателя. Для просмотра списка непрочитанных сообщений в очереди почты введите mailq.

Можно также настраивать псевдонимы для MTA на вашей Linux-системе. Псевдонимы почты перенаправляют почту, адресованную одному пользователю, в учётную запись другого. Для настройки псевдонимов используется файл /etc/aliases. Каждая строка файла определяет один псевдоним. Определённый псевдоним должен указывать на существующий адрес электронной почты. Синтаксис файла:

псевдоним: список_реальных_адресов_электронной_почты

После завершения настройки псевдонимов необходимо выполнить от имени root команду newaliases в командной строке оболочки для их активации.

Для настройки пересылки можно также использовать файл ~/.forward в домашнем каталоге пользователя. Большинство MTA для Linux проверяют наличие этого файла в домашнем каталоге пользователя для настройки пересылки сообщений. Откройте или создайте файл в текстовом редакторе и введите адрес электронной почты, на который нужно пересылать почту.

В завершение мы обратились к управлению данными SQL. Сначала было рассмотрено, как базы данных хранят информацию. В Linux широко применяются две службы баз данных:

  • MySQL
  • PostgreSQL

SQL определяет операторы для выборки и обновления данных в базе — такие как SELECT, UPDATE, DELETE, INSERT и WHERE. Реляционная база данных организована с помощью полей, записей и таблиц. Поле — это единичная единица информации. Запись — полный набор полей, а таблица — набор записей. Каждая таблица идентифицируется именем, например Customers. Каждая таблица содержит записи (каждая — отдельная строка), которые содержат одно или несколько полей, хранящих непосредственно данные базы. Для управления данными в базе данных SQL можно использовать следующие команды:

  • SELECT
  • UPDATE
  • DELETE
  • INSERT INTO
  • CREATE TABLE
  • ALTER TABLE
  • DROP TABLE

Далее была рассмотрена реализация службы баз данных MySQL в Linux. После установки для управления данными на SQL-сервере можно использовать SQL-клиент. Клиент командной строки mysql запускается в командной строке оболочки. Синтаксис: mysql –h имя_хоста –u имя_пользователя –p. Были рассмотрены следующие команды внутри клиента mysql:

  • CREATE DATABASE
  • USE
  • SHOW TABLES
  • CREATE TABLE
  • DESCRIBE
  • SELECT
  • FROM
  • WHERE
  • DELETE
  • UPDATE
  • JOIN

Ускоренное повторение

  • Большинство дистрибутивов Linux используют CUPS для обеспечения локальной и сетевой печати.
  • Служба CUPS предоставляется демоном cupsd.
  • CUPS может объявлять о доступности своих принтеров в локальной сети.
  • Другие Linux-системы могут прослушивать эти объявления, подключаться к службе CUPS и отправлять на её принтеры задания печати.
  • Система CUPS состоит из планировщика CUPS, фильтров CUPS, серверных частей CUPS, PPD-файлов, веб-утилиты настройки и очереди печати (/var/spool/cups).
  • Служба CUPS настраивается с помощью файла /etc/cups/cupsd.conf.
  • Чтобы другие Linux-системы могли печатать через ваши принтеры CUPS, необходимо раскомментировать директиву BrowseAddress в файле /etc/cups/cupsd.conf.
  • Для создания административного пользователя CUPS введите в командной строке оболочки команду lppasswd –g sys –a имя_пользователя.
  • Для настройки принтеров используется веб-утилита настройки. Доступ к ней осуществляется по адресу http://localhost:631.
  • После создания принтера CUPS задания печати можно отправлять, выбирая Файл | Печать в графическом приложении Linux.
  • Задания печати можно отправлять из командной строки оболочки с помощью команды lp.
  • Для управления системой CUPS можно использовать следующие утилиты командной строки:
    • lpstat –t
    • cancel
    • lpoptions –d
    • cupsaccept/cupsreject
    • cupsenable/cupsdisable
  • Управлять печатью в Linux можно также с помощью демона строчного принтера (lpd).
  • Команды lpd позволяют выполнять следующие операции:
    • lpr –P имя_принтера имя_файла — распечатать документ
    • lpc status — просмотреть состояние принтера
    • lpq — просмотреть ожидающие задания печати
    • lprm номер_задания — удалить ожидающее задание из очереди печати
  • Для устранения неполадок печати следует использовать стандартизированный процесс.
  • Для помощи в устранении неполадок рекомендуется документировать процесс прохождения заданий печати.
  • Часто встречающиеся проблемы печати:
    • Нет бумаги в принтере?
    • Принтер включён?
    • Если это сетевой принтер, подключён ли он к сети?
    • Сеть работает?
    • Можно ли пинговать принтер с рабочей станции пользователя?
    • Пользователь выбрал правильный принтер при отправке задания?
    • Для принтера настроен правильный драйвер?
  • Для управления аппаратными часами можно использовать команду hwclock.
  • Для синхронизации времени между Linux-системами в сети можно использовать команду netdate в командной строке оболочки.
  • Синтаксис: netdate сервер_времени, где сервер_времени — IP-адрес или DNS-имя другой Linux-системы в сети, работающей со службой времени на UDP-порту 37.
  • После синхронизации системного времени с помощью netdate рекомендуется синхронизировать системное время с аппаратными часами командой hwclock --systohc.
  • Более предпочтительный способ регулярной синхронизации времени — использование протокола NTP.
  • NTP управляет временем значительно точнее, чем netdate.
  • Если между поставщиком и потребителем времени (вашей локальной системой) есть расхождение, NTP постепенно корректирует время небольшими шагами до полной синхронизации.
  • NTP широко поддерживается большинством операционных систем.
  • Система с запущенным ntpd может одновременно выступать как потребителем, так и поставщиком времени.
  • Протокол NTP работает через IP-порт 123. Потребитель времени отправляет запрос синхронизации поставщику на порт 123.
  • Поставщик передаёт своё время потребителю, и системное время на стороне потребителя корректируется в соответствии с алгоритмом NTP.
  • Ключевые концепции NTP, которые необходимо знать:
    • Страта
    • Пошаговая и плавная корректировка
    • Неадекватное время
    • Дрейф
    • Джиттер
  • Файл /etc/ntp.conf можно редактировать в текстовом редакторе, чтобы указать, с какой системой следует синхронизировать время.
  • Домен pool.ntp.org применяет циклический DNS для случайного выбора из пула добровольных поставщиков времени.
  • Перед запуском демона ntpd необходимо выполнить быструю однократную синхронизацию с поставщиком NTP во избежание проблем с неадекватным временем: введите ntpdate адрес_поставщика_времени в командной строке оболочки.
  • Демон ntpd можно запустить с помощью его сценария init в соответствующем каталоге сценариев init вашего дистрибутива.
  • Сообщения электронной почты создаются и передаются с использованием MUA, MTA и MDA, а также демонов IMAP или POP3.
  • Широко используемые MTA для Linux:
    • sendmail
    • postfix
    • qmail
    • Exim
  • MTA не могут доставлять сообщения в почтовые клиенты по POP3 или IMAP.
  • Для этого необходимо установить на систему пакет imap.
  • Для чтения электронной почты, хранящейся в локальном MTA, можно использовать утилиту командной строки mail.
  • Для отправки сообщения введите в командной строке оболочки mail адрес_получателя.
  • Для просмотра списка непрочитанных сообщений в очереди почты введите mailq.
  • Можно настраивать псевдонимы для MTA на вашей Linux-системе.
  • Псевдонимы почты перенаправляют почту, адресованную одному пользователю, в учётную запись другого.
  • Для настройки псевдонимов используется файл /etc/aliases.
  • В каждой строке файла определяется один псевдоним.
  • Определённый псевдоним должен указывать на существующий адрес электронной почты.
  • После завершения настройки псевдонимов необходимо выполнить от имени root команду newaliases в командной строке оболочки для их активации.
  • Для настройки пересылки можно также использовать файл ~/.forward в домашнем каталоге пользователя.
  • Большинство MTA для Linux проверяют наличие этого файла в домашнем каталоге пользователя для настройки пересылки сообщений.
  • Откройте или создайте файл в текстовом редакторе и введите адрес электронной почты, на который нужно пересылать почту.
  • В Linux широко применяются две службы баз данных:
    • MySQL
    • PostgreSQL
  • SQL определяет операторы для выборки и обновления данных в базе, такие как SELECT, UPDATE, DELETE, INSERT и WHERE.
  • Реляционная база данных организована с помощью полей, записей и таблиц.
  • Поле — это единичная единица информации.
  • Запись — полный набор полей, а таблица — набор записей.
  • Каждая таблица идентифицируется именем, например Customers.
  • Каждая таблица содержит записи (каждая — отдельная строка), которые содержат одно или несколько полей, хранящих непосредственно данные базы.
  • Для управления данными в базе данных SQL можно использовать следующие команды:
    • SELECT
    • UPDATE
    • DELETE
    • INSERT INTO
    • CREATE TABLE
    • ALTER TABLE
    • DROP TABLE
  • Для подключения к базе данных MySQL можно использовать команду mysql в командной строке оболочки.
  • Синтаксис: mysql –h имя_хоста –u имя_пользователя –p.
  • Внутри клиента mysql можно использовать следующие команды:
    • CREATE DATABASE
    • USE
    • SHOW TABLES
    • CREATE TABLE
    • DESCRIBE
    • SELECT
    • FROM
    • WHERE
    • DELETE
    • UPDATE
    • JOIN