Резюме
Резюме главы¶
В этой главе рассматривались различные сетевые службы, которые можно реализовать в 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— включает или отключает очередь печати CUPScupsenable/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 в текстовом редакторе, указав, с какой системой следует синхронизировать время. Синтаксис:
При желании можно использовать серверный пул NTP. Домен pool.ntp.org применяет циклический DNS для случайного выбора из пула добровольных поставщиков времени.
Перед запуском демона ntpd необходимо выполнить быструю однократную синхронизацию с поставщиком NTP во избежание проблем с неадекватным временем. Для этого введите в командной строке ntpdate адрес_поставщика_времени. Это обеспечит начальную синхронизацию перед запуском демона. Возможно, команду придётся выполнить несколько раз, если расхождение между вашей системой и поставщиком времени очень велико. После этого можно запустить демон ntpd с помощью его сценария init в соответствующем каталоге сценариев init вашего дистрибутива.
После запуска демона NTP для отслеживания его работы можно использовать две команды:
ntpq –pntptrace
Разобравшись с 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 можно использовать следующие команды:
SELECTUPDATEDELETEINSERT INTOCREATE TABLEALTER TABLEDROP TABLE
Далее была рассмотрена реализация службы баз данных MySQL в Linux. После установки для управления данными на SQL-сервере можно использовать SQL-клиент. Клиент командной строки mysql запускается в командной строке оболочки. Синтаксис: mysql –h имя_хоста –u имя_пользователя –p. Были рассмотрены следующие команды внутри клиента mysql:
CREATE DATABASEUSESHOW TABLESCREATE TABLEDESCRIBESELECTFROMWHEREDELETEUPDATEJOIN
Ускоренное повторение¶
- Большинство дистрибутивов 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 –tcancellpoptions –dcupsaccept/cupsrejectcupsenable/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 можно использовать следующие команды:
SELECTUPDATEDELETEINSERT INTOCREATE TABLEALTER TABLEDROP TABLE
- Для подключения к базе данных MySQL можно использовать команду
mysqlв командной строке оболочки. - Синтаксис:
mysql –h имя_хоста –u имя_пользователя –p. - Внутри клиента
mysqlможно использовать следующие команды:CREATE DATABASEUSESHOW TABLESCREATE TABLEDESCRIBESELECTFROMWHEREDELETEUPDATEJOIN