Авторы: Стивенс У., Раго С.
Более десяти лет профессиональные программисты, пишущие на языке C, полагались лишь на одну книгу, из которой они могли почерпнуть глубокие практические знания о программных интерфейсах UNIX и Linux: «Advanced Programming in the UNIX® Environment» Ричарда Стивенса. Теперь его коллега Стивен Раго полностью обновил классический труд с учетом последних технических достижений и добавил сведения об основных современных версиях UNIX и Linux.
Стивен Раго бережно сохранил дух и стиль книги, которые сделали ее классикой. Продолжая труд Стивенса, он начинает повествование с таких основ, как файлы, каталоги и процессы, тщательно подготавливая читателя к пониманию более сложных тем: обработка сигналов и терминальный ввод-вывод. Среди важных дополнений можно назвать главы, посвященные потокам и вопросам разработки многопоточных программ, использованию интерфейса сокетов для организации межпроцессного взаимодействия (IPC), а также широкий охват интерфейсов, добавленных в последней версии стандарта POSIX.1. Практически все примеры протестированы на четырех наиболее популярных сегодня платформах: FreeBSD 5.2.1, Linux 2.4.22, Solaris 9 и Darwin 7.4.0 (гибрид FreeBSD и Mach, который лег в основу Mac OS X 10.3 компании Apple). Описывается множество ловушек, о которых следует помнить при написании программ для различных реализаций UNIX, и показывается, как их избежать, опираясь на стандарты POSIX.1 и Single UNIX Specification. Как и в первом издании, обучение ведется на примерах, общий объем которых составляет более 10000 строк исходного кода на языке ANSI C. Краткие описания более чем 400 системных вызовов и функций завершаются примерами программ, которые наглядно демонстрируют правила их использования, аргументы и возвращаемые значения. Для закрепления полученных знаний в книге имеется несколько глав, посвященных рассмотрению конкретных примеров, каждый из которых был полностью переработан с учетом развития современных версий UNIX.
Книга «Advanced Programming in the UNIX® Environment» помогала целому поколению программистов создавать код, обладающий исключительной эффективностью и надежностью. Теперь, после обновлений, учитывающих уровень развития современных систем UNIX/Linux, это второе издание будет еще более востребованным.
Читать дальше
Июль, 2008
UNIX. Профессиональное программирование
UNIX. Руководство системного администратора. Для профессионалов
Хейн Т., Сибасс С., Снайдер Г., Немет Э.
Издательство: Питер
Третье издание уже ставшего классикой бестселлера. Эта книга — одна из немногих, предназначенных не для широкого круга пользователей, а для системных администраторов, работающих в среде UNIX. Изложенный материал будет полезен как профессионалам, так и тем, кто еще только постигает тонкости этой увлекательной и трудной работы. Другими словами, перед читателями исчерпывающее руководство, в котором подробно описаны многие используемые опытными администраторами приемы работы с разнообразными ресурсами системы UNIX. Как создать файлы конфигурации, повысить быстродействие и надежность системы, организовать работу в корпоративной сети, наладить обмен электронной почтой, подключить новые устройства, — ответы на эти и многие другие важные вопросы читатели найдут в данной книге. Кроме того, значительное внимание уделено обслуживанию технических средств, а также правилам работы администраторов и пользователей. Книга снабжена большим количеством примеров, взятых из реальной жизни и относящихся к популярнейшим версиям UNIX: Solaris, HP-UX, Red Hat Linux и FreeBSD.
Купить: 440 рублей В магазине Балеро
Купить: 613 рублей В магазине OZON
Содержание
Предисловие
Предисловие ко второму изданию
Предисловие к первому изданию
Введение Благодарности
Об авторах
Часть I. Основы администрирования
Глава 1. С чего начать
1.1. Что необходимо знать
1.2. Краткая история UNIX
1.3. Современные UNIX-продукты
Читать дальше
NetBSD 3.0 Современная и надежная операционная система
NetBSD – современная и надежная операционная система, способная работать на 57 различных аппаратных платформах, от повсеместно распространенных х86 до Sega Dreamcast. Причем версии системы для различных архитектур собираются из единого дерева исходных кодов. Таким образом, поддержка новых функций в NetBSD появляется одновременно на всех поддерживаемых платформах.
Разработчики не спешат добавлять в систему новые драйверы, если они тщательно не протестированы или нестабильны, поэтому NetBSD рекомендуется к установке на критичные серверы и рабочие станции.
Отдельного упоминания заслуживает механизм установки приложений pkgsrc, с точки зрения пользователя абсолютно идентичный системе портов FreeBSD. Главное отличие pkgsrc – кроссплатформенность: pkgsrc отлично работает не только в NetBSD, но и в Linux, FreeBSD, Solaris и MacOS X.
В новом релизе разработчики частично переписали сетевой стек, РАМ, а также добавили поддержку Хеn.
Основные компоненты:
- Apache 2.0.55, PHP 4.4.1/5.1.1.
- MySQL 5.0.16, PostgreSQL 8.0.4.
- KDE 3.5, Gnome 2.12.
- Mozilla Firefox 1.5, Gimp 2.3.4.
Язык интерфейса: английский.
Системные требования:
Linux;
Pentium/Athlon;
64 Мб оперативной памяти;
1 Гб свободного места на жестком диске;
Видеокарта;
Звуковая карта;
Устройство для чтения компакт-дисков;
Клавиатура;
Мышь.
Доступный UNIX: Linux, FreeBSD, DragonFlyBSD, NetBSD, OpenBSD
Книга посвящена описанию свободных UNIX-подобных операционных систем, представителями которых являются Linux, FreeBSD и другие члены BSD-семейства, а также их использованию в качестве универсальной платформы общего (в том чис-ле и домашнего) назначения. Материал книги не привязан к какой-либо конкретной ОС или дистрибутиву Linux, а содержит описание общих принципов установки, настройки и эксплуатации любого из представителей этого семейства. С позиции конечного пользователя рассмотрены вопросы идеологии и истории UNIX-подобных систем, изложены основные принципы, на которых они базируются, такие как понятия файлов, процессов, учетных записей пользователей, режимов и интерфейсов, даны приемы решения повседневных пользовательских задач.Книга поможет начинающим пользователям приступить к работе в одной из описанных ОС, а опытным – освоить универсальные приемы работы в любой из них.
С позиции конечного пользователя рассмотрены вопросы идеологии и истории UNIXподобных систем, изложены основные принципы, на которых они базируются, такие как понятия файлов, процессов, учетных записей пользователей, режимов и интерфейсов, даны приемы решения повседневных пользовательских задач.
Книга поможет начинающим пользователям приступить к работе в одной из описанных ОС, а опытным освоить универсальные приемы работы в любой из них.
Купить книгу 160 рублей
Глава 29. Драйверы консоли
Русский перевод: Михаил Сгибнев
Содержание
В версиях NetBSD ниже 1.4 пользователь мог выбрать между различными драйверами для клавиатуры и экрана. Это pccons (для платформ i386) и pcvt. Начиная с NetBSD 1.4 введен новый мультиплатформенный драйвер wscons, в настоящее время из старых поддерживается только pccons, поскольку требует меньше системных ресурсов и обладает скромными размерами. pccons используется в инсталляционных дискетах.
29.1. wscons
Wscons является стандартным драйвером консоли NetBSD. Он поддерживает виртуальные экраны для платформы i386, национальные раскладки, мышь и т.д. Возможности wscons отличаются в зависимости от платформы, больше всего возможностей у реализации для i386.
29.1.1. Виртуальные консоли
Количество предустановленых виртуальных консолей определяется следующей опцией.
options WSDISPLAY_DEFAULTSCREENS=4
Другие консоли можно добавить, прописывая соответствующие строки в файле /etc/wscons.conf: удалите знак комментария (#) перед строкой, начинающейся с «screen x». В примере ниже мы добавим пятый виртуальный терминал к четырем имеющимся:
# screens to create # idx screen emul #screen 0 - vt100 screen 1 - vt100 screen 2 - vt100 screen 3 - vt100 screen 4 - - #screen 4 80x25bf vt100 #screen 5 80x50 vt100
Скрипт rc.wscons транслирует каждую незакомментированную строку в команду wsconscfg: столбцы соответствуют параметрам вызова. Столбец idx соответствует опции index, screen – параметру -t type (определяющему число Читать дальше
Глава 28. Компиляция ядра
Русский перевод: Вадим Лопатюк
Содержание
- 28.1. Установка исходных текстов ядра
- 28.2. Требования и процедура
- 28.3. Создание конфигурационного файла ядра
- 28.4. Ручное конфигурирование ядра
- 28.5. Генерация зависимостей и ручная компиляция
- 28.6. Использование
build.sh - 28.7. Если что-то не так
У большинства пользователей NetBSD раньше или позже возникает желание скомпилировать собственное ядро, что предоставит Вам следующие плюсы:
- Вы можете значительно уменьшить размер ядра и, тем самым, занимаемую память (например, с 2.5 МБ до 1.2 МВ). В NetBSD 2.0, компиляция собственного ядра уменьшает размер с 7.5 МБ до 3.5 МБ.
- Вы можете улучшить производительность.
- Вы можете более тонко настроить систему.
- Вы можете решить проблемы определения/конфликтов периферийных устройств.
- Вы можете изменить некоторые опции (например, раскладку клавиатуры, смещение часов BIOS, …)
- Вы можете получить более глубокие познания о системе.
28.1. Установка исходных текстов ядра
Вы можете получить исходные тексты ядра с анонимного CVS (см. Глава 26, Obtaining sources by CVS), или из архива syssrc.tgz расположенного в каталоге source/sets/ используемой Вами версии системы. Если Вы используете второй способ, Вы можете распаковать архив из корня файловой системы:
Читать дальше
Глава 27. Использование утилиты build.sh
Русский перевод: Михаил Сгибнев
Содержание
- 27.1. Сборка инструментов
- 27.2. Кросс-платформенная сборка ядра
- 27.3. Сборка & релиза
- 27.4. Переменные окружения
NetBSD 1.6 и более поздние версии включают улучшенный набор инструментальных средств, для облегчения сборки дистрибутивов, ядра и прочих мелких нужд. В этой главе рассматривается утилита build.sh, применяемая для кросс-платформенной сборки ядра и компиляции релизов. Непосредственно сборка ядра рассмотрена в Глава 28, Компиляция ядра. Детальное описание структуры утилиты build.sh может быть найдено в документации Luke Mewburn и Matthew Green’s и их презентации на BSDCon 2003.
Перед любыми нашими действиями необходимо установить исходные тексты системы. Смотри Глава 26, Obtaining sources by CVS для получения более полной информации.
27.1. Сборка инструментов
Как только исходные тексты были получены, необходимо собрать инструменты, родные для используемой платформы. Это довольно просто сделать. Будем использовать каталоги по умолчанию:
#mkdir /usr/obj#cd /usr/src#./build.sh tools
Если инструменты уже были собраны, но нуждаются в модификации, то может быть спользована опция update, для пересборки только обновившихся утилит.
#./build.sh -u tools
Глава 26. Obtaining sources by CVS
Русский перевод: Михаил Сгибнев
Содержание
CVS (Concurrent Versions System) может быть использована для получения исходных текстов NetBSD, оперативного внесения изменений и обновления системы портов. Есть две ветви CVS, которые могут использоваться в повседневной жизни: ветка current используется разработчиками и тестерами, ветка release, в которую добавляются патчи, связанные с безопасностью, обновляются версии программного обеспечения – эта ветка является стабильной и предназначена для использования обычными пользователями. Для примера, в настоящее время существует возможность полностью удалить таблицу arp с помощью команды arp.
26.1. Получение исходных текстов системы и пользовательского окружения
Для установки CVS (если она еще у Вас не установлена) выполните:
%pkg_add ftp://ftp.NetBSD.org/pub/NetBSD/packages/OS Ver/arch/All/cvs-1.11nb2.tgz
Глава 25. Различные аспекты работы в сети
Русский перевод: Вадим Лопатюк
Содержание
- 25.1. Мост
- 25.2. Сетевая файловая система (Network File System – NFS)
- 25.3. Настройка NFS автомонтирования для
/netс amd(8) - 25.4. IPv6 соединения и переход сквозь 6to4
-
- 25.4.1. Поднятие 6to4 IPv6 и запуск
- 25.4.2. Получение адресного пространства IPv6 для 6to4
- 25.4.3. Как соединиться
- 25.4.4. Соображения безопасности
- 25.4.5. Данные, необходимые для установки 6to4
- 25.4.6. Подготовка ядра
- 25.4.7. Установка 6to4
- 25.4.8. Быстрый старт использования pkgsrc/net/hf6to4
- 25.4.9. Известные шлюзы 6to4
- 25.4.10. Туннелирование 6to4 через брандмауэр IPFilter
- 25.4.11. Выводы и рекомендуемая литература
25.1. Мост
Мост может использоваться для объединения различных физических сетей в логическую сеть, т.е. соединить их на 2 уровне модели ISO-OSI, а не через 3 уровень, как это должен делать маршрутизатор. Драйвер «моста» NetBSD предоставляет функциональность моста в системе NetBSD.
25.1.1. Пример моста
В этом примере две физических сети будут объединены в одну логическую сеть, 192.168.1.0, используя мост NetBSD. Машина NetBSD, которая выполняет функцию моста, имеет два сетевых интерфейса, ne0 и ne1, которые оба подключены в одну физическую сеть.
Первый шаг – убедитесь, что ядро скомпилировано с поддержкой «моста». Поддержка включена в ядре GENERIC.
Когда система готова к созданию моста, его можно создать с помощью команды brconfig(8). Первый из интерфейсов моста должен быть создан. Следующей командой ifconfig будет создан «bridge0»:
$ ifconfig bridge0 create
Пожалуйста убедитесь, что в этот момент оба интерфейса ne0 и ne1 подняты. Следующий шаг – добавление интерфейсов ne0 и ne1 к мосту.
$ brconfig bridge0 add ne0 add ne1 up
Глава 24. Почта и новости
Русский перевод: Михаил Сгибнев
Содержание
- 24.1. sendmail
- 24.2. fetchmail
- 24.3. Читайте и пишите письма в mutt
- 24.4. Получаем почты
- 24.5. Отправляем почту
- 24.6. Дополнительные инструменты управления почтой.
- 24.7. Чтение новостей с помощью tin
В этой главе описывается, как настроить NetBSD на работу с почтой и новостями. Рассматриваются наиболее общие вопросы, в частности мы рассмотрим пример соединения с Интернет через модем. Для получения общей информации о настройке сети вы можете обратиться к главе Глава 21, Практическая настройка TCP/IP в NetBSD. Даже такая «простая» конфигурация может вызвать затруднения когда вы не знаете с чего начать или читали до этого введение и техническую документацию. Вы увидите, что некоторые вопросы требуют очень пристального внимания, например когда вы будете транслировать внутренние сетевые имена на «реальные», то потребуются довольно глубокие знания sendmail. В рамках этого руководства не будут рассмотрены теоретические вопросы конфигурации почты и новостей, для этого обратитесь к одной из книг по администрированию Unix систем (список лучших из них можно найти на сайте NetBSD). На самом деле, проблемы, которые могут возникнуть, весьма многообразны из-за большого числа конфигураций.
Читать дальше