Данная книга представляет собой великолепное руководство по Linux, позволяющее получить наиболее полное представление об этой операционной системе. Книга состоит из трех частей, каждая из которых раскрывает один из трех основных аспектов работы с Linux: Linux для пользователя, сетевые технологии Linux (и методика настройки Linux-сервера), программирование Linux. В книге охвачен очень широкий круг вопросов, начиная с установки и использования Linux "в обычной жизни" (офисные пакеты, игры, видео, Интернет), и заканчивая описанием внутренних процессов Linux, секретами и трюками настройки, особенностями программирования под Linux, созданием сетевых приложений, оптимизацией ядра и др. Изложение материала ведется в основном на базе дистрибутивов Fedora Core (Red Hat) и Mandriva (Mandrake). Однако не оставлены без внимания и другие дистрибутивы SuSe, Slackware, Gentoo, Alt Linux, Knoppix. Дается их сравнительное описание, а по ходу изложения всего материала указываются их особенности. Книга написана известными специалистами и консультантами по использованию Linux, авторами многих статей и книг по Linux, заслуживших свое признание в самых широких Linux-кругах. Если вы желаете разобраться в особенностях Linux и познать ее внутренний мир, эта книга – ваш лучший выбор.
Название: LINUX: полное руководство Автор: Колисниченко Д. Н., Аллен Питер В. Издательство: Наука и Техника Год: 2006 Страниц: 781 Формат: PDF Размер: 93,2 МБ ISBN: 5-94387-139-Х Качество: Хорошее Серия или Выпуск: Полное руководство
Содержание:
Введение Об этой книге Почему Linux? Истории Linux Все началось с игры Становление UNIX как операционной системы Бурное развитие UNIX Какие бывают UNIX'ы? Происхождение Linux Операционная система Minix Линус Торвальдс Линус недоволен Mfnix При чем здесь пингвины? Путь к первой версии (1.0) Они создавали Linux Первые дистрибутивы «Размножение дистрибутивов» Выбор дистрибутива Fedora Core 3 Slackware Linux Mandrake 10.1 Разное ASP Linux ALT Linux SuSE Linux Knoppix Debian Глава 1. Установка операционной системы 1.1. Подготовка жесткого диска 1.1.1. Рекомендуемая схема разбиения диска 1.1.2. Имена разделов в ОС Linux 1.1.3. Разделы и точки монтирований 1.2. Загрузка программы устаноаки 1.2.1. С использованием загрузочного компакт-диска 1.2.2. С использованием загрузочной дискеты 1.2.3. С использованием жесткого диска 1.2.4. Установка по сети 1.3. Установка Fedora Core 1.3.1. Описание дистрибутива Версии Fedora Core - 1, 2, 3 и 4. Системные требования Специальная технология разграничения доступа SELinux 1.3.2. Особенности установки различных версий Fedora Core Fedora Core 2; подготовка к совместной жизни с Windows Особенности и преимущества процесса установки Fedora Core 4 1.3.3. Установка загрузчика 1.3.4. Продолжение установки 1.4. Особенности установки Mandrake 10.0 1.5. Проблемы при установке 1.5.1. Конфликты Fedora Core 1 и 2 с различным оборудованием Материнские платы ASUS LCD-мониторы Ноутбуки SONY Не работает мышь 1.5.2. Fedora Core: не удается войти в систему как root в графическом режиме 1.5.3. Ошибка Signal 11 1.5.4. Не определяется мышь 1.5.5. Проблемы с переходом в графический режим 1.5.6. Проблемы при загрузке 1.5.7. Проблемы с графическим экраном загрузчика 1.5.8. Не загружается система X Window 1.5.9. Я забыл пароль пользователя root 1.5.10. У меня больше оперативной памяти! 1.5.11. Не работают принтер или звуковая плата 1.6. Как удалить Linux 1.7. Системы с двойной загрузкой 1.7.1. Установка Windows 9х и Linux 1.7.2. Установка Windows 9x, Windows NT/2000/XP и Linux Первый способ Второй способ Использование loadlin 1.8. Первый запуск Linux 1.9. Стандартные сервисы Linux 1.10. Справочная система Глава 2. Файловая система Linux 2.1. Видимая сторона файловой системы 2.1.1. Имена файлов и каталогов 2.1.2. Назначение основных системных каталогов 2.1.3. Типы файлов Обычные файлы и каталоги Файлы физических устройств Жесткие и символические ссылки Именованные каналы Гнезда 2.1.4. Команды работы с файлами и каталогами Текущий каталог Просмотр содержимого каталога Создание и удаление файла Копирование и перемещение файла Просмотр текстовых файлов Редактирование текстовых файлов Поиск файлов Изменение прав доступа к файлу 2.2. Изнанка файловой системы 2.2.1. Файловая система ext2fs - предшественница ext3fs 2.2.2. Журналируемые файловые системы ReiserFS XFS JFS Ext3fs 2.3. Создание и монтирование файловых систем Создание файловой системы «вручную». Команда mkfs Настройка автоматического монтирования при загрузке компьютера. Команда mount Глава 3. Работаем в командной строке 3.1. Как устроен Linux: ядро и процессы 3.2. Жизнь процесса Таблица процессов Системные вызовы tork {) и ехес () или как размножаются процессы Снимок протекающих в системе процессов - команда ps Динамика процессов - команда тор Категории процессов 3.3. Взаимодействие процессов 3.3.1. Конвейер (pipe) 3.3.2. Сигналы 3.4. Командная оболочка. Bash 3.4.1. Встроенные команды 3.4.2. История команд 3.4.3. Переменные Описание и использование переменных Переменные окружения Быстрая смена каталога Настройка командной строки. Утилита tput 3.4.4. Подстановка переменных и команд 3.4.5. Шаблоны имен файлов 3.4.6. Потоки ввода-вывода 3.4.7. Группировка команд 3.4.8. Инициализационные файлы bash Глава 4. Рабочее место пользователя 4.1. Графическая системах Window 4.2. Оконная среда KDE 4.2.1. Рабочий стол КОЕ 4.2.2. Запуск программ и переключение между ними 4.2.3. Файловый менеджер Konqueror Основные возможности Konqueror - не только файловый менеджер 4.2.4. Центр управления КОЕ 4.2.5. Работа со съемными носителями в KDE 4.2.6. Добавление собственных команд в контекстное меню КОЕ 4.2.7. Новое в КОЕ 3.4 4.3. Оконная среда GNOME 4.3.1. Общее описание и методика работы Что за зверь эта GNOME Файловый менеджер Nautilus Расширенная система управления MIME-типами Поддержка службы DNS-Based Service Discovery Особенности последних версий 4.3.2. Добавление собственных команде контекстное меню GNOME 4.3.3. Автоматическая смена обоев 4.4. Офисные пакеты Open ОН ice и К Office Уменьшение времени запуска Open Office Новое в Open Office 2.0 4.5. Издательские системы Язык разметки ТеХ Текстовый процессор LyX Издательская система Scribus 4.6. Графика в Linux 4.6.1. Графические редакторы Редактор растровой графики GIMP - обрабатываем фото KPaint KIconEdrt - редактор иконок 4.6.2. Программы - просмотрщики изображений GQView Electric Eyes KuickShow KView Kooka XSane 4.6.3. Как сделать снимок экрана KSnapShot ImageMagick 4.7. Полезные трюки Просмотр в консоли документов MS Word и PDF Глава 5. Звук и видео в Linux 5.1. Почему воспроизведение аудио в Linux лучше, чем в Windows 5.2. Прослушивание музыки mpg123 Xmms Другие программы Сравнение Xmms и NoAtun 5.3. «Ограбление» Audio-CD 5.4. Программы для просмотра видео Обзор программ Программа Xine Просмотр DVD Смотрим телепередачи под Linux 5.5. Воспроизведение неподдерживаемых форматов Глава 6. Сеть и Интернет 6.1. Основные сетевые понятия 6.1.1. Протокол и интерфейс 6.1.2. Уровни взаимодействия OSI Физический уровень (Physical Layer) Канальный уровень (Data link Layer} Сетевой уровень (Network Layer) Транспортный уровень (Transport Layer) Сеансовый уровень (Session Layer) Представительный уровень (Presentation Layer) Прикладной уровень (Application Layer) Интернет и модель OSI Основные протоколы 6.1.3. Протокол TCP/IP и IP-адресация 6.1.4. DNS - система доменных имен 6.1.5. Порты 6.1.6. Динамическое выделение адреса 6.2. Подключение к локальной сети 6.2.1. Настройка сети в Linux Mandrake 6.2.2. Настройка сети в Linux Red Hat 6.2.3. Настройка сети в Fedora Core 6.2.4. Проверка работы сетевого интерфейса 6.2.5. Настройка сети в старых дистрибутивах 6.3. Подключение KWindows-сети 6.4. Подключение к Интернету 6.4.1. Настройка модема 6.4.2. Подготовка к выходу в Интернет 6.4.3. Специальные возможности браузеров Konqueror Galeon Epiphany Netscape FireFox 6.4.4. Текстовые браузеры 6.4.5. Полезный трюк: Что делать, если браузер «подвисает» на какой-то странице 6.4.6. Набор программ для работы в Интернете Болталка ICQ Менеджер закачки файлов Downloader for X FTP-клиенты Глава 7. Основы администрирования системы 7.1. Что понимается под администрированием системы 7.2. Конфигураторы Linux 7.3. Пользователи и квоты 7.3.1. Учетные записи пользователей Файл /etc/passwd - информация о пользователях Информация о группах пользователей. Файл /etc/group 7.3.2. Создание и удаление пользователей и групп 7.3.3. Квотирование Что такое квотирование. Особенности квотирования в Linux Ядро и поддержка квотирования Назначение и активация квот 7.4. Подключение и конфигурирование аппаратных устройств 7.4.1. Ядро и поддержка устройств 7.4.2. Утилиты для работы с модулями 7.4.3. Kudzu - утилита для автоматического определения устройств 7.4.4. Настройка установленных устройств 7.5. Установка программного обеспечения 7.5.1. Установка из исходных текстов 7.5.2. Установка из бинарных пакетов Как это делается и что для этого нужно Менеджер пакетов rpm Графические менеджеры пакетов Apt: Debian-совместимый менеджер пакетов 7.5.3. Установка из пакетов, содержащих исходный код 7.6. Клонирование и восстановление системы Глава 8. Язык командного интерпретатора 8.1. Параметры 8.2. Подстановки 8.3. Массивы 8.4. Управляющие структуры 8.4.1. Условные операторы Условный оператор if Оператор test и условные выражения 8.4.2. Операторы цикла Оператор цикла с перечислением for Оператор цикла с условием while Оператор цикла с инверсным условием until Оператор цикла с выбором select 8.5. Условная подстановка параметров 8.6. Функции 8.7. Обработка сигналов и протоколирование Глава 9. Управление процессами 9.1. Как загружается Linux 9.1.1. Начальная загрузка: LILO и GRUB Общие механизмы Загрузчик LILO Загрузчик GRUB Как установить графический фон загрузчика GRUB 9.1.2. Продолжение загрузки Демон init Уровни выполнения Конфигурационный файл /etc/inittab Инициализация в стиле BSD Инициализация в стиле System V 9.2. Команды управления процессами 9.2.1. Иерархия процессов: ps и pstree 9.2.2. Информация о ресурсах системы; команды free, df, du 9.2.3. Процессы в реальном времени: команда top 9.2.4. Приоритет процесса: команды nice и renice 9.2.5. Фоновый режим: команды jobs, fg, bg 9.3. Протоколирование системы 9.3.1. Конфигурационный файл /etc/syslog. coni 9.3.2. Сетевое протоколирование 9.3.3. Протоколирование ядра. Демон klogd и команда dmesg 9.3.4. Что делать с протоколами дальше? Утилита logrotate 9.4. Выполнение заданий по расписанию 9.4.1. Запуск задания а назначенное время: команда at 9.4.2. Диспетчер расписаний - демон cron Управление файлами расписаний Формат файла расписания Глава 10. Резервное копирование и восстановление данных 10.1. Восстановление удаленного файла 10.1.1. Midnight Commander 10.1.2. Утилита debugs 10.2. Стратегия резервного копирования 10.3. Оборудование для резервного копирования 10.3.1. Стример Подключение стримера с интерфейсом SCSI Подключение стримера с интерфейсом FDC 10.3.2. Магнитооптический диск 10.4. Программное обеспечение для резервного копирования 10.4.1. Простое резервное копирование по сети 10.4.2. Управление стримером 10.4.3. Команды dump и restore 10.4.4. Архиватор cpio 10.4.5. Программа AMANDA 10.5. Дублирование данных: введение в RAID 10.6. Как найти, спрятать и безвозвратно уничтожить данные Глава 11. Базовое конфигурирование сервера 11.1. Серверные технологии Linux 11.2. Организация и состав Linux-сервера 11.3. Суперсервер xinetd 11.3.1. Установка суперсервера xinetd 11.3.2. Настройка суперсервера xinetd 11.3.3. Запуск xinetd 11.3.3.1. Защита xinetd 11.3.3.2. Пример файла конфигурации /etc/xinetd 11.4. Удаленный доступ: ssh и telnet 11.4.1. Использование telnet 11.4.2. Настройка и использование SSH Что такое SSH Настройка SSH на сервере Запуск демона sshd Использование SSH-клиента Аутентификация средствами SSH Глава 12. Разделение ресурсов: NFS и Samba 12.1. NFS - сетевая файловая система 12.1.1. Клиент NFS: монтирование сетевого каталога 12.1.2. Настройка сервера NFS 12.2. Samba: Lin их-сервер для Windows-клиентов 12.2.1. Samba на сервере 12.2.2. Настройка Samba Секция [global] Секция [homes] Секция [public] 12.2.3. Практические примеры настройки 12.2.4. Доступ к принтеру Linux для Windows-машин 12.2.5. Доступ к Windows-принтеру с компьютера, работающего под Linux 12.2.6. Конфигуратор SWAT 12.2.7. Samba и безопасность 12.2.8. Оптимизация Samba 12.3. Совместное использование каталогов в Unux Mandrake 12.4. Программа Lin Neighborhood - правильный выбор Глава 13. DNS - служба имен 13.1. Введение в DNS 13.2. Настройка клиента DNS 13.3. Настройка сервера DNS 13.3.1. Обновление корневого кэша 13.4. Кэширующий сервер DNS 13.4.1. Настройка кэширования на DNS-cepeepe 13.4.2. Возможные проблемы и их решение 13.5. Вторичный сервер DNS 13.6. Просмотр DNS-зоны. Утилита nslookup 13.7. Оптимизация настроек сервера 0NS 13.8. Защита сервера DNS 13.8.1. Настройка и запуск DNS-сервера в сhroot-окружении 13.9. Использование подписей транзакций. Механизм TSIG Глава 14. Почтовый сервер 14.1. Установка и настройка sendmail 14.1.1. Базовая настройка sendmail 14.1.2. Редактирование конфигурационных файлов 14.2. Аутентификация в sendmail 14.2.1. Установка и настройка SASL 14.2.2. Настройка sendmaii+SASL 14.2.3. Настройка почтовых клиентов с использованием аутентификации 14.3. Агент доступа - fetchmail 14.4. Автоматическая сортировка входящей почты - программа procmait 14.5. Создание списка рассылки 14.6. Защита программы sendmail. Программа smrsh Глава 15. Настройка сервера FTP 15.1. Сервер WU-FTPD 15.1.1. Настройка WU-FTPD. Конфигурационные файлы Основной файл ftpaccess. Директивы сервера WU-FTPD Файл ftphosts - параметры доступа для пользователей с указанных узлов Файл ttpusers - список локальных пользователей, которым запрещено пользоваться WU-FTPD Файл ftpservers - разные настройки ftp-сервера для различных узлов Файл ftp conversions - форматы сжатия Файл xferlog - журнал FTP-сервера 15.2. Сервер ProFTP 15.2.1. Установка и запуск ProFTPD 15.2.2. Настройка ProFTPD, Файл /etc/proftpd. conl 15.2.3. Разграничение доступа к серверу ProFTP Организация анонимного FTP-cepsepa 15.3. Утилиты обслуживания РТР-сервера 15.4. Виртуальный узел FTP 15.5. Защита FTP Глава 16. HTTP-сервер Apache 16.1. Установка Apache 16.2. Настройка Apache. Файлы конфигурации 16.3. Основные настройки. Файл httpd. cortf (httpd2. conf) 16.3.1. Общие директивы 16.3.2. Директивы протоколирования 16.3.3. Директивы управления производительностью 16.3.4. Директивы обеспечения постоянного соединения с клиентом 16.3.5. Директивы создания виртуальных узлов 16.3.6. Директивы настройки отображения каталогов 16.3.7. Директивы обработки MtME-типов 16.3.8. Директивы для работы с многоязычными документами 16.3.9. Директивы перенаправления 16.3.10. Директивы обработки ошибок 16.3.11. Директивы управления доступом к отдельным каталогам Блок директив Limit Блок директив Location 16.4. Файл ротации журналов /etc/Iogrotate. d/httpd 16.5. Системный файл конфигурации /etc/sysconfig/httpd 16.6. Сценарий запуска сервера Apache /etc/init. d/httpd 16.7. Графические конфигураторы Apache 16.8. Каталоги пользователей 16.9. Виртуальный HTTP-сервер 16.9.1. Виртуальные серверы с идентификацией по имени 16.9.2. Виртуальные серверы с идентификацией по IP-адресу 16.10. SSL и Apache 16.10.1. Установка SSL 16.10.2. Подключение SSL к Apache 16.10.3. Генерирование сертификатов 16.11. Пример файла httpd. conf 16.12. Перекодирование русскоязычных документов «на лету» 16.12.1. Russian Apache: установка, настройка, использование 16.12.2. Настройка перекодировки русскоязычных документов 16.13. Защита сервера Apache 16.14. Сервер kHTTPd - веб-сервер уровня ядра Настройка ЧНТТРЬ Глава 17. Установка и настройка MySQL. Связка Apache+PHP+MySQL 17.1. Установка MySQL 17.1.1. Назначение пароля суперпользователя 17.1.2. Автозапуск сервера MySQL 17.1.3. Пользователи сервера MySQL и их права 17.2. Клиентская часть MySQL 17.3. Установка РНР и настройка связки Apache+PHP+MySQL 17.3.1. Первый способ; из пакетов RPM 17.3.2. Тестируем созданную конфигурацию 17.3.3. Второй способ: из исходных текстов 17.4. Защита сервера MySQL 17.5. Введение в «зык SQL 17.5.1. Общие понятия 17.5.2. Краткий практический курс SQL Глава 18. Прокси-серверы. SQUID и SOCKS 18.1. Что такое прокси-сервер? 18.2. Установка SQUID 18.3. Настройка SQUID 18.4. Запуск SQUID 18.5. Расширенные настройки SQUID. Конфигурационный файл squid.conf 18.5.1. Параметры сети 18.5.2. Параметры соседей 18.5.3. Управление кэшем 18.5.4. Протоколирование 18.5.5. Параметры внешних программ 18.5.6. Параметры администрирования 18.6. Списки ACL 18.6.1. Параметры доступа 18.7. Отказ от рекламы. Баннерный фильтр 18.8. Разделение канала с помощью SQUID 18.9. Настройка поддержки прокси у клиентов 18.10. Технология SOCKS5, или как использовать асысу из локальной сети 18.10.1. Введение в SOCKS. Прокси-сервер SOCKS5 18.10.2. Настройка сервера SOCKS5 16.10.3. Запуск сервера socksS 18.10.4. Dante - еще один сервер SOCKS5 18.10.5. Настройка клиентов SOCKS5 (ICQ и licq) Глава 19. Маршрутизация и межсетевые экраны 19.1. Введение в маршрутизацию 19.2. Программы маршрутизации в Linux 19.2.1. Демон routed 19.2.2. Демон gated - правильный выбор 19.3. Расширенные средства маршрутизации. Комплекс iproute2 19.3.1. Пакет iproute2 19.3.2. Утилита ip 19.3.3. Просмотр параметров сетевого устройства 19.3.4. Операции над адресами: команда ip address 19.3.5. Управление таблицей маршрутизации 19.3.6. Динамическая маршрутизация 19.3.7. Управление правилами маршрутизации 19.4. Что такое брандмауэр 19.5. Цепочки правил 19.6. IPTables - пакетный фильтр для ядер 2.4.x. и 2.6.x 19.6.1. Что изменилось в IPTables no сравнению с IPChains 19.6.2. Настройка ядра Linux для поддержки IPTables 19.6.3. Первичная настройка IPTables. Задание политики по умолчанию 19.6.4. Действия над цепочками 19.6.5. Правила фильтрации 19.6.6. Фильтрация по отдельным пользователям Глава 20. Настройка ядра 20.1. Многообразие ядер Linux 2.6.x 2.4.x 2.6.х.у 2.6.x-mm 2.6.x-mm-jedi 2.6.х-pre и 2.6.х-rc 2.6.x-tiny 2.6.х-ac Прочие 20.2. Зачем настраивать ядро? 20.3. Динамические параметры ядра 20.4. Загрузочные параметры ядра 20.4.1. Параметры корневой файловой1 системы 20.4.2. Объем памяти 20.4.3. Управление RAMDISK 20.4.4. Управление планировщиком ввода/аывода 20.4.5. Другие параметры ядра 20.5. Компиляция ядра 20.5.1. Зачем обновлять ядро? 20.5.2. Конфигурирование ядра 20.5.2.1. Code maturity level options 20.5.2.2. General setup 20.5.2.3. Loadable module support 20.5.2.4. Processor type and features 20.5.2.5. Power Management Options 20.5.2.6. Bus Options 20.5.2.7. Executable tile formats 20.5.2.8. Device drivers 20.5.2.9. Filesystems 20.5.2.10. Kernel hacking 20.5.2.11. Cryptographic options 20.5.3. Сборка ядра Глава 21. Создаем консольное приложение 21.1. Компилятор gcc 21.1.1. Вызов gcc 21.1.2. Общие опции 21.1.3. Опции языка 21.1.4. Опции препроцессора 21.1.5. Опции компоновщика 21.1.6. Опции каталогов 21.1.7. Опции отладки 21.1.8. Опции оптимизации 21.2. Сборочная утилита make 21.3. Пакет binutits и другие полезные программы 21.3.1. ansi2knr 21.3.2. as 21.3.3. bison 21.3.4. flex 21.3.5. gprof 21.3.6. strip 21.4. Пример программы на C Глава 22. Отладка, трассировка и оптимизация программ 22.1. Ошибки и отладка 22.2. Отладчик gdb 22.3. Пример отладки программы 22.4. Трассировка системных вызовов 22.5. Оптимизация про грамм. Профайлер gprot 22.5.1. Использование профайлера 22.5.2. Как оптимизировать программу Глава 23. Разработка графического приложения: библиотека GTK+ 23.1. Введение в GTK+ 23.2. Библиотека Glib 23.2.1. Стандартные типы данных библиотеки Glib 23.2.2. Функции для работы с памятью 23.2.3. Строки и Glib 23.4.4. Списки 23.2.4. Таймеры в Glib 23.3. Первая программа на GTK+ 23.3.1. Виджиты 23.3.2. Окна 23.3.3. Изменение размеров окна 23.3.4. Обработка сигналов 23.3.5. Виджит событий - EventBox 23.4. Виджиты 23.4.1. Рождение, смерть и состояния виджита 23.4.2. Упаковка виджитов. поля ввода и кнопки Нет файла 23.4.3. Переключатели 23.4.4. Список 23.4.5. Выбор файлов 23.4.6. Диалог завершения работы 23.4.7. Меню 23.4.8. Иерархия виджитов Глава 24. Студия Glade 24.1. Что такое Glade? 24.2. Знакомство с Glade 24.3. Работа с проектом 24.4. Создание меню 24.5. Интересные виджиты Глава 25. Пакет Dialog 25.1. Что такое Dialog? 25.2. Сообщения 25.3. Виджит Yes-no 25.4. Окно ввода текста 25.5. Зависимые и независимые переключатели 25.6. Организация меню 25.7. Календарь 25.8. Шкала прогресса Глава 26. Взаимодействие процессов в Linux 26.1. Способы взаимодействия 26.2. Полудуплексные каналы 26.3. Каналы типа FIFO 26.4. Основные принципы System V IPC 26.5. Очереди сообщений 26.5.1. Основные структуры ядра для работы с очередями 26.5.2. Создание очереди сообщений 26.5.3. Постановка сообщения в очередь 26.5.4. Получение сообщений очереди 26.5.5. Проверка наличия сообщения в очереди 26.5.6. Тотальный контроль 26.6. Семафоры 26.6.1. Создание множества семафоров 26.6.2. Выполнение операций над семафорами 26.6.3. Контроль семафора 26.7. Разделяемые сегменты памяти Глава 27. Создание сетевого приложения в Linux 27.1. Протокол TCP/IP 27.1.1. Многоуровневая архитектура стека TCP/IP 27.1.1.1. Уровень сетевого интерфейса 27.1.1.2. Межсетевой уровень 27.1.1.3. Транспортный (основной) уровень 27.1.1.4. Уровень приложений 27.1.2. Структура пакетов IP и TCP 27.2. Протокол ICMP 27.2.1. Для чего используется протокол ICMP 27.2.2. Структура ICMP-пакета 27.2.3. Тип и код ICMP-сообщения 27.2.4. Функции для работы с протоколом ICMP Технические подробности 27.3. Программирование сокетов 27.3.1. Что такое сокет? 27.3.2. Создание и связывание сокета 27.3.3. Установление связи с удаленным компьютером Функция listenf) Функция connect () Функция accept () 27.3.4. Функция gethostbyname () 27.3.5. Функции сетевого ввода/вывода Обмен данными в режиме SOCKSTREAM Обмен данными в режиме SOCKDGRAM 27.3.6. Завершение сеанса связи 27.3.7. Программа-сервер 27.3.8. Программа-клиент 27.3.9. Установка опций сокета 27.3.10. Сигналы и сокеты 27.3.11. Мультиплексирование 27.3.12. Неблокирующие операции Глава 28. Программирование ядра 28.1. Каркас модуля 28.2. Компиляция модуля 28.3. Работа с устройствами 28.4. Операции над устройством. Поиск устройств Приложение. Таблицы соответствия Windows- и Linux-программ Работа в Интернет Работа с файлами Прикладные и системные программы Офисные приложения Мультимедиа Разработка программного обеспечения СУБД Математические пакеты Игры