Администрирование GNU Linux

Administrirovanie_GNU_Linux

Введение 1

История создания GNU/Linux 1

Что означает свобода распространения программного обеспечения? 4

Сертификация LPI 4

Для кого предназначена книга? 5

Благодарности 7

ЧАСТЬ I. НАЧАЛО РАБОТЫ В GNU/LINUX 9

Глава 1. Первый раз устанавливаем GNU/Linux 11

Предварительные требования для установки GNU/Linux. 11

Установка GNU/Linux 12

Глава 2. Работа в оболочке Bash 25

Учетные записи и вход в сеанс 25

Как вводить команды в shell?. 28

Смена пароля пользователя 29

Идентификация пользователя 30

Кто сейчас работает в системе? 31

Что такое оболочка? 32

Структура командной строки 32

Популярные оболочки GNU/Linux 35

Встроенные и системные команды 36

Редактирование и исполнение команд 37

Переменные оболочки и окружения 38

История команд 41

Автоматическое дополнение командной строки 43

Псевдонимы команд (aliases) 44

Командная подстановка 45

Вычисление арифметических выражений 47

Шаблоны подстановки и перечисление 48


Глава 3. Помощь и документация 51

Сообщения об ошибках 51

Встроенная помощь оболочки Bash 52

Страницы помощи man 52

Файлы страниц man 55

GNU Texinfo 57

Документация программ 58

Источники информации в Интернете 59

ЧАСТЬ II. ОСНОВЫ 61

Глава 4. Работа с файлами и каталогами 63

Система файлов и каталогов 63

Имена файлов и команда ls 65

Перемещение по файловой системе 68

Создание и удаление файлов и каталогов 68

Копирование, перемещение и переименование файлов 72

Поиск файлов 74

Быстрый поиск файлов locate 76

Определение содержимого файла 77

Устройство файловой системы 78

Использование жестких связей 80

Использование символических ссылок 84

Глава 5. Процессы 87

Процессы и задания 87

Фоновый режим выполнения заданий 91

Жизненный цикл процесса 93

Мониторинг процессов 95

Сигналы 101

Перехват и обработка сигналов в Bash 103

Управление приоритетом процессов 104

Глава 6. Права доступа и права владения 107

Права владения файлами 107

Права доступа, устанавливаемые на файлы 108

Права доступа к каталогам 110

Изменение прав владения 111

Установка прав доступа 114

Автоматическая установка прав доступа к вновь создаваемым файлам 118

Специальные биты прав доступа: SUID, SGID и sticky bit 119

ЧАСТЬ III. УТИЛИТЫ КОМАНДНОЙ СТРОКИ 125

Глава 7. Редактор vi 127

Запуск vi и режимы его работы 127

Перемещение курсора по тексту в vi 129

Команды vi редактирования текста 131

Команды поиска и замены строк 132

Команды режима двоеточия 135

Глава 8. Текстовые файлы и потоки 138

Перенаправление потоков ввода/вывода 138

Конвейеры и фильтры 142

Команда echo 144

Просмотр файлов с помощью more и less 145

Объединение файлов с помощью cat 146

Команды head и tail 147

Вырезание текста с помощью cut 148

Потоковый редактор sed 149

Потоковый редактор awk 152

Сравнение файлов и каталогов 154

Замена символов табуляции на пробелы 156

Простое форматирование текста 157

Подготовка текста к печати 157

Сортировка строк 158

Вывод неповторяющихся строк 159

Объединение строк двух файлов по общему полю 160

Подсчет количества и нумерация строк 160

Замена символов с помощью команды tr 161

Слияние строк 164

Получение дампа 165

Разделение файлов на части 166

Команда xargs 168

Глава 9. Регулярные выражения 169

Классификация регулярных выражений 169

Поиск текста с помощью grep 171

Использование обратных ссылок 175

Использование регулярных выражений с sed 177

Регулярные выражения в awk 179

Глава 10. Написание сценариев Bash 181

Сценарии оболочки 181

Использование переменных оболочки 183

Экранирование (quotation) 186

Интерактивная установка значений переменных 187

Позиционные параметры 188

Команда test 191

Условное исполнение команд 194

Команда case 198

Циклы 199

Функции 203

ЧАСТЬ IV. АДМИНИСТРИРОВАНИЕ 207

Глава 11. Работа с носителями информации 209

Физическая структура накопителя на жестких магнитных дисках 209

Имена жестких магнитных дисков 211

Создание разделов с использованием fdisk 213

Создание файловой системы 216

Проверка целостности файловой системы 219

Монтирование файловых систем 221

Работа с разделом подкачки 224

Файл информации о файловых системах /etc/fstab 227

Мониторинг дисковых ресурсов 229

Глава 12. Резервное копирование 231

Планирование резервного копирования 231

Команда dd 233

Утилиты для сжатия файлов 234

Команда tar 236

Команда cpio 239

Команда pax 241

Программы dump и restore 243

Глава 13. Запуск, останов GNU/Linux и уровни выполнения 246

Инициализация операционной системы и переход на заданный

уровень исполнения 246

Остановка и перезагрузка системы 251

Глава 14. Загрузчики 254

Последовательность процесса загрузки 254

Загрузчик GRUB 255

Загрузчик LILO 258

Глава 15. Отложенное и регулярное выполнение заданий 262

Отложенное выполнение заданий 262

Автоматизация выполнения регулярных задач 264

Глава 16. Системные журналы 267

Служба syslog 267

Служба ротации журналов 271

Глава 17. Управление пользователями 273

Хранение учетных записей пользователей 273

Регистрация, удаление и блокирование учетных записей пользователей 274

Управление паролями 279

Управление группами пользователей 280

Профили пользователей 282

Квотирование дискового пространства 285

Мониторинг активности пользователей 291

Глава 18. Управление программным обеспечением 293

В чем состоит управление программным обеспечением? 293

Сборка и установка программного обеспечения из пакетов

с исходным кодом 296

Управление библиотеками 299

Менеджер пакетов RPM 303

Система управления пакетами Debian 308

Глава 19. Установка аппаратного обеспечения 315

Установка нового оборудования 315

Работа с модулями ядра 316

Файлы устройств и udev 321

Устройства PCI 325

Установка SCSI-устройств 326

Установка сетевых адаптеров Ethernet. 327

Работа со звуковыми картами 329

Поддержка USB 330

Устройства PCMCIA 331

Сборка и установка ядра Linux 331

ЧАСТЬ V. СЕТИ 337

Глава 20. Сетевые средства GNU/Linux 339

TCP/IP 339

Адресация IPv4 341

Адресация IPv6 344

Настройка сетевого интерфейса Ethernet 346

Настройка маршрутизатора по умолчанию 347

Настройка разрешения имен 350

Поиск и устранение проблем с сетью 353

Глава 21. Сервисы сети 356

Идентификация служб сети 356

Запуск сетевых служб 358

Использование супердемона inetd и фильтра tcpd 359

Программа tcpd 360

Использование супердемона xinetd 362

Глава 22. Службы удаленного доступа 367

Служба telnet 367

Службы удаленного доступа (r-services). 370

Система SSH 373

Глава 23. Служба FTP 378

Как работает служба FTP 378

Настройка сервера vsftpd 379

Клиенты FTP 381

Глава 24. Файловая система NFS 384

Настройка сервера NFS 384

Использование сервера NFS 386

Отличия протокола NFSv4 388

Глава 25. SMB/CIFS-сервер SAMBA 390

Состав пакета SAMBA 390

Настройка SAMBA 391

Запуск и работа системы SAMBA 394

Монтирование файловых ресурсов SMB 397

Использование сетевых принтеров 398

Запуск SAMBA в режиме PDC 399

Сервер SAMBA в режиме члена домена 401

Программа winbind 402

Глава 26. DNS-сервер BIND. 404

Организация DNS 404

Конфигурационный файл BIND 407

Записи о ресурсах DNS 409

Запуск DNS-сервера BIND 416

Тестирование сервера DNS 417

Делегирование 419

Журналы DNS 420

Глава 27. Сервер DHCP 423

Работа DHCP 423

Настройка сервера DHCP 424

Глава 28. Web-сервер Apache 426

Конфигурационный файл Apache 426

Контейнеры 431

Запуск и управление Apache 433

Личные Web-страницы 434

Ограничение доступа к Web-ресурсу 436

Виртуальные узлы 438

Глава 29. Электронная почта 440

Организация электронной почты 440

Файл конфигурации программы Sendmail 442

Файл конфигурации sendmail.mc 446

Запуск Sendmail 450

Почтовые псевдонимы 452

Очередь почтовых сообщений 454

Тестирование Sendmail 455

Преимущества использования Postfix 458

Конфигурационные файлы Postfix 462

Виртуальный хостинг 465

POP3/IMAP-сервер Dovecot 466

Глава 30. Печать в GNU/Linux 471

Система печати CUPS 471

Команды CUPS 473

Управление принтерами в CUPS 475

Управление очередью печати 477

Глава 31. Сервер NTP 480

Сервис синхронизации времени 480

Утилита ntpdate 481

Пакет ntp 482

Глава 32. Система X Window 484

Организация X Window 484

Конфигурирование X Window 486

Сервер шрифтов 491

Запуск X-сервера из командной строки 493

Менеджер X-сеанса xdm 497

X-приложения 499

Шрифты 500

Ресурсы X-приложений 502

Удаленный запуск X-приложений 504

Использование xdm для удаленного входа в сеанс 507

ПРИЛОЖЕНИЯ 511

Приложение 1. Работа с VMWare Workstation и Sun VirtualBox 513

Создание виртуальной машины в Sun VirtualBox 513

Создание виртуальной машины в VMWare Workstation 518

Приложение 2. Примеры использования текстовых утилит GNU 523

Копирование с помощью команды tee 523

Нумерация строк с помощью команды cat 524

Нумерация строк с помощью команды nl 525

Команда csplit 525

Команда sed 527

Команда tac 527

Команда awk 528

Команды expand и unexpand 528

Команда pr 529

Команды sort и uniq 530

Команда wc 530

Команда tr 530

Команда grep 531

Приложение 3. Пример использования telnet

для тестирования MTA 532

Приложение 4. Пример файлов конфигурации и описания зон

сервера DNS BIND 533

Конфигурация named 533

Зона указателей на корневые серверы 535

Зона localhost 538

Обратная зона для 127.0.0 538

Зона class.edu 539

Обратная зона для 192.168.0 539

Приложение 5. Сложные варианты установки GNU/Linux 540

Требования к аппаратному обеспечению для установки GNU/Linux

на платформе x86/64 540

Подготовка к установке GNU/Linux на компьютерах

с архитектурой x86/64 542

Установка GNU/Linux 548

Приложение 6. Описание компакт-диска 550

Предметный указатель 551


Введение

Во введении приведены некоторые исторические данные о GNU/Linux, а также обсуждается, что такое свободное программное обеспечение, и пере- числяются основные виды свободных лицензий. Читатель узнает о том, что такое LPI и какие виды профессиональной сертификации доступны для GNU/Linux. Здесь описано, как читать эту книгу и, конечно, приведены бла- годарности автора.

История создания GNU/Linux

Операционная система GNU/Linux относится к классу UNIX-подобных опе- рационных систем, наследуя от UNIX множество черт. Операционная систе- ма UNIX была создана Кеном Томпсоном и его коллегами в Bell Laboratories фирмы AT&T в 1969 г. Для тех лет это была одна из самых передовых опера- ционных систем, обеспечивающих многозадачность и возможность одновре- менной работы многих пользователей. В настоящее время имеются две основ- ные ветви UNIX-систем: UNIX System V (продолжение разработок AT&T) и BSD (Berkeley Software Distribution, которая ранее разрабатывалась в уни- верситете Berkeley). То есть все современные UNIX-системы можно отнести к первой или второй ветви. Так, операционная система Sun Solaris 10 является представителем ветви UNIX System V (кратко SVR4 — System V Release 4), а FreeBSD 8.0 — наследницей BSD.

Операционная система GNU/Linux не является прямой наследницей какой- либо из этих двух ветвей UNIX-систем. Она сочетает в себе черты, присущие обеим ветвям, поскольку ее разрабатывает множество людей, имеющих, ес- тественно, различные предпочтения. В отличие от команды разработчиков FreeBSD, разработку GNU/Linux в целом, как единой операционной системы, никто не координирует. Поэтому имеется множество различных наборов программного обеспечения (дистрибутивов), являющихся, несмотря на со- вершенную несхожесть друг с другом, GNU/Linux.


Что же такое GNU/Linux? Название Linux является зарегистрированной тор- говой маркой Линуса Бенедикта Торвальдса, а GNU — наименование проек- та "GNU is not UNIX" (рекурсивный акроним, который можно расшифровы- вать бесконечно). Проект GNU основал в 1984 г. Ричард Столлмэн в FSF (Free Software Foundation). Линус Торвальдс, будучи в 1991 г. студентом, экспериментировал с операционной системой MINIX (она была разработана профессором Эндрью Танненбаумом в учебных целях) и ассемблером про- цессора i386.

25 августа 1991 г. Линус Торвальдс распространил в группе новостей comp.os.minix.usenet сообщение о том, что он разработал на основе MINIX новую операционную систему для AT-совместимых компьютеров, и пригла- сил всех заинтересованных лиц участвовать в ее разработке. В своем сооб- щении он специально указал, что его эксперименты не более чем хобби, и он "... не является таким профессионалом, как специалисты из GNU...".

Действительно, детище Линуса так и осталось бы, вероятно, только экспери- ментом, но его сообщением заинтересовался Ричард Столлмэн — основатель FSF. К тому моменту в FSF уже семь лет проводились работы в рамках про- екта GNU, целью которого было создание свободно распространяемой по лицензии GPL Copy Left совместимой c SVR4 операционной системы (суть лицензии GPL будет пояснена позже).

В FSF к 1991 г. было создано огромное количество широко используемого программного обеспечения, например, оболочка Bash (Bourne again shell), компилятор gcc и пр. Однако для реализации проекта GNU не хватало ста- бильно работающего ядра операционной системы. Исходно проект GNU был ориентирован на ядро HURD, но работа по созданию этого ядра до сих пор далека от завершения, поэтому тандем — ядро от Линуса Торвальдса плюс утилиты, библиотеки, компилятор, оболочка и прочее от GNU — был отлич- ной альтернативой GNU/HURD.

В течение 1991—1992 гг. проект GNU/Linux активно развивался, и в 1993 г. появился первый дистрибутив GNU/Linux, собранный в компании Red Hat — ныне ведущим поставщиком GNU/Linux-дистрибутивов. Первые дистрибу- тивы вряд ли можно было рекомендовать для промышленного использова- ния, но они повлекли массовый интерес к новой операционной системе со стороны широких масс разработчиков и производителей аппаратного обеспе- чения. К середине 90-х гг. прошлого века появились вполне стабильные и надежные дистрибутивы, в которых поставлялось большое количество пор- тированного в GNU/Linux программного обеспечения.

Залогом успеха GNU/Linux явились два аспекта: бесплатность и свобода рас- пространения дистрибутивов и достаточная для промышленного использова-


ния стабильность множества серверных приложений. Эти две особенности GNU/Linux позволяли строить "малобюджетные" серверы для небольших и средних приложений.

С переносом на GNU/Linux офисных приложений дело обстояло существен- но хуже вплоть до конца девяностых годов. Однако на сегодняшний момент имеются отличные графические оболочки: GNOME и KDE, обилие оконных менеджеров, средства офисной работы, редакторы и электронные таблицы. В настоящее время уже есть прецеденты массового перевода на GNU/Linux компьютерных систем крупных фирм и даже муниципальных структур очень больших городов, что доказывает зрелость операционной системы GNU/Linux.

В настоящее время в России пользуются наибольшим распространением сле- дующие дистрибутивы GNU/Linux:

  • Red Hat и Fedora — простые в установке и настройке дистрибутивы (Fedora

ориентирована на свободное распространение);

  • SlackWare — очень популярный в России дистрибутив, предназначенный для профессионалов и требующий существенных усилий для настройки;
  • Mandriva — дистрибутив, изготавливаемый существенной переделкой ди- стрибутивов Red Hat. Этот дистрибутив обладает массой полезных и удобных утилит, облегчающих работу для обычных пользователей на- стольных рабочих станций;
  • Debian — дистрибутив с очень большим количеством программных паке- тов. Команда разработки этого дистрибутива гарантирует свободу его распространения;
  • Ubuntu — дистрибутив, стабильно занимающий первую строку в рейтинге популярности, базирующийся на Debian;
  • Novell SUSE и Open SUSE — исключительно популярные дистрибутивы. Отличаются энциклопедической подборкой программного обеспечения, высокой надежностью, удобством и качественной документацией;
  • Gentoo — проект, по методам установки программ тяготеющий к

FreeBSD;

  • ASP — российский дистрибутив, разработчики которого декларируют вы- сокую совместимость с Red Hat. Отличается простотой и ясностью уста- новки и высоким качеством русификации;
  • ALT — отличный российский дистрибутив, разработчики которого ста- раются обеспечить его высочайшую защищенность и надежность.


Что означает свобода распространения программного обеспечения?

Чаще всего программное обеспечение, распространяемое в рамках свобод- ных лицензий, таких как GPL или BSD, доступно совершенно бесплатно. Од- нако свобода программного обеспечения вовсе не подразумевает обязатель- ную бесплатность. Некоторые дистрибутивы GNU/Linux предоставляются за деньги. Основная идея свободы программного обеспечения заключается в свободе его модификации и использования. По определению FSF про- граммное обеспечение является свободным, если:

  • программа может выполняться с любой целью без ограничения (свобода 0);
  • имеется возможность изучения и модификации исходного кода программ- ного обеспечения в соответствии со своими потребностями (свобода 1);
  • разрешается свободно распространять копии программы (свобода 2);
  • имеется возможность улучшать программное обеспечение и публиковать улучшения для всеобщего блага (свобода 3).

Следует отметить, что программное обеспечение, доступное в рамках GPL, не является общественной собственностью (Public Domain). Программа явля- ется собственностью ее авторов.

Сертификация LPI

Очень часто приходится слышать мнение о том, что наличие профессиональ- ного сертификата в какой-либо IT-области ровным счетом ничего не значит. Позволю себе не согласиться. Почему? Все очень просто: еще совсем недавно я считал, что многое понимаю в UNIX- и GNU/Linux-системах, я искренне полагал, что являюсь хорошим системным администратором. И это несмотря на то, что я не понимал, что значит право 750, установленное на каталог.

Мои иллюзии быстро развеялись с подачи Сергея Третьякова, сыгравшего огромную роль в появлении этой книги. Он предложил мне познакомиться с сертификационными требованиями LPI — Linux Professional Institute. Посетив www.lpi.org, я стал читать требования к администраторам GNU/Linux-систем. Каково же было мое удивление, когда я увидел, что не способен ответить на 90% вопросов, которые в качестве примеров предла- гались на сайте!

Это был поворотный момент в моей жизни: от иллюзий я перешел к мето- дичной проработке экзаменационных вопросов, и для меня стал открываться


волшебный мир GNU/Linux. На подготовку к моей первой сертификации LPI-I я потратил год, через год я получил следующий сертификат LPI-II. Фактиче- ски первый вариант этой книги был написан в 2001 г. Теперь, почти через 10 лет после этого, я считаю, что знаю примерно 1,5% от того объема, кото- рый мне хотелось бы знать о GNU/Linux.

Дорогие коллеги! Можно сколь угодно высоко ценить себя, как профессио- нала и настоящего системного администратора, но наличие сертификата дает вам реальное ощущение своего профессионализма, т. к. без должных знаний и умений экзамен сдать невозможно. В то же время наличие сертификата во- все не заставляет остановиться в своем развитии. Чем больше вы знаете о GNU/Linux, тем больше хочется им заниматься и углублять свои знания. И не только в нем — ведь рядом есть такие замечательные вещи, как FreeBSD и Open Solaris!

Почему я предпочел сертификацию LPI, а не Red Hat или Novell SUSE? Все очень просто — сертификация LPI не привязана к конкретному дистрибутиву GNU/Linux, она требует знания GNU/Linux вообще. В то же время любые виды сертификаций, разработанные в коммерческих фирмах, слишком много внимания уделяют частным аспектам, связанным лишь с их дистрибутивом. Это не значит, что они хуже. Но в мире свободного программного обеспече- ния огромную роль играет широта охвата информации. Нельзя ограничивать- ся знанием единственной разновидности GNU/Linux. Именно эта широта ох- вата и важна для успешной сдачи экзаменов LPI.

Эта книга написана так, чтобы вы могли, должным образом попрактиковав- шись, сдать экзамены LPI-101 и LPI-102, необходимые для получения серти- фиката LPI-I. Конечно, материал книги поможет вам подготовиться и к дру- гим экзаменам, например, для сертификации по Red Hat или Novell SUSE.

Для кого предназначена книга?

Этой книгой могут с успехом воспользоваться не только специалисты, гото- вящиеся к сдаче сертификационных экзаменов по GNU/Linux, но и все, кому интересен GNU/Linux и кто хочет углубить свои знания о нем. Книга не тре- бует значительной предварительной подготовки. По материалам, которые легли в основу этой книги, обучилось множество людей с разным уровнем подготовки и опытом: студенты, опытные инженеры, прекрасные дамы и со- лидные джентльмены.

Для людей, которые еще не работали с GNU/Linux, эта книга предоставит базовые знания, которые обеспечат им вхождение в мир свободного про-


граммного обеспечения. Опытные специалисты, не первый год работающие с GNU/Linux, найдут в книге много нового для себя. И тех, и других я очень прошу уделить особое внимание первым главам книги. Они дают базисные знания, без которых развитие специалиста становится похожим на броунов- ское движение. А опытный администратор без знаний текстовых утилит и работы в оболочке — это все равно, что орел с одним крылом.

Вы можете ненавидеть редактор vi, но тогда вы должны обеспечить себе иное средство редактирования текстовых файлов, которое будет у вас под рукой в момент аварии системы. Поэтому желательно изучать главы подряд — их последовательность выверена годами. Но вы также можете читать их в произвольном порядке.

В мире свободы никто не волен диктовать вам свои предпочтения. Здесь можно только советовать и помогать друг к другу. Если вы нашли досадную ошибку в программе, не спешите ругать ее автора — напишите ему письмо с предложением помощи, а лучше — сразу направьте ему исправления в про- грамме. Если к вам обращается начинающий коллега с вопросом, который кажется вам глупым — не смейтесь над ним, лучше помогите ему, вспомнив себя в его годы.

Изучение GNU/Linux требует большой настойчивости и регулярной практи- ческой работы. Эта книга не подходит для прочтения вдали от компьютера. Поэтому самое важное, что вам нужно для работы с этой книгой, — компью- тер с GNU/Linux под рукой. Какой дистрибутив вы используете — это ваше дело. Большая часть примеров пригодна к использованию в любых дистри- бутивах GNU/Linux. В то же время предостерегаю вас от механического ко- пирования примеров. Все, что здесь написано, требует осмысления, сравнения с действительностью и практической проверки. Я давно отучил себя говорить в GNU/Linux слова "никогда" и "всегда". В мире свободного ПО действи- тельность не является черно-белой, здесь есть полутона, да еще и цвета раз- нообразные. Именно за то, что GNU/Linux постоянно заставляет думать, его так ценю я и многие другие люди. Жаль, конечно, что я сам не могу загля- нуть к вам в экран и помочь советом.

В тексте используется несложное типографское соглашение: если текст вы- делен шрифтом Courier, значит, это либо имя команды, либо исполняемого файла, либо пользователя, либо процесса. Иногда, казалось бы, одни и те же строки напечатаны разными шрифтами. Например, Bash и bash. Все просто: Bash — имя собственное (Bourne Again Shell), а bash — имя команды. Наде- юсь, что запутаться здесь сложно.


Благодарности

В детстве я не подавал особых надежд, и моим родителям стоило больших усилий заставить меня работать. Теперь, когда у меня взрослая дочь, я вижу, какого труда стоило родителям мое воспитание. Поэтому книга посвящена моим родителям.

Я уже упоминал Сергея Третьякова, который в свое время и предложил мне написать эту книгу. Без его вдумчивых советов и корректировок у меня вряд ли что-либо получилось. Исключительную важность для меня всегда имели критические замечания и дружеские комментарии Юрия Белякова, Дмитрия Вострецова, Анатолия Анохина и Евгения Сафонова. Их комментарии всегда отличались высоким профессионализмом и энциклопедической широтой. Кроме них мне всегда оказывает любую помощь Алексей Залецкий. Его зна- ния в области сетевых технологий совершенно необъятны.

Я хотел бы перечислить здесь еще сотню имен, но лучше выражу им свою признательность за всестороннюю помощь лично. Жаль, что не могу выра- зить свою благодарность всему свободному сообществу, GNU/Linux, BSD и других направлений, за их титанический труд. Не будь их усилий, мне не о чем бы было писать в этой книге.

Одно я знаю точно: если бы не многолетняя поддержка, любовь и ласка важ- нейшего человека в моей жизни — Татьяны, я ничего не добился бы в жизни!


ЧАСТЬ I