Linux программирование в примерах - [5]

Шрифт
Интервал

(1), printf(3)[9].

Где получить исходные коды Unix и GNU

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

Код Unix

Архивы различных «древних» версий Unix поддерживаются Обществом наследства UNIX (The UNIX Heritage Society — TUHS), >http://www.tuhs.org.

Наибольший интерес представляет возможность просматривать архив старых исходных кодов Unix через веб. Начните с >http://minnie.tuhs.org/UnixTree/. Все примеры кода в данной книге из седьмого издания исследовательской системы UNIX, известной также как «V7».

Сайт TUHS физически расположен в Австралии, хотя имеются зеркала архива по всему миру — см. >http://www.tuhs.org/archive_sites.html. Эта страница также указывает, что архив доступен для зеркала через >rsync. (Если у вас нет >rsync, см. >http://rsync.samba.org/: это стандартная утилита на системах GNU/Linux.)

Чтобы скопировать весь архив, потребуется примерно 2-3 гигабайта дискового пространства. Для копирования архива создайте пустой каталог, а в нем выполните следующие команды:

>mkdir Applications 4BSD PDP-11 PDP-11/Trees VAX Other

>rsync -avz minnie.tuhs.org::UA_Root .

>rsync -avz minnie.tuhs.org::UA_Applications Applications

>rsync -avz minnie.tuhs.org::UA_4BSD 4BSD

>rsync -avz minnie.tuhs.org::UA_PDP11 PDP-11

>rsync -avz minnie.tuhs.org::UA_PDP11_Trees PDP-11/Trees

>rsync -avz minnie.tuhs.org::UA_VAX VAX

>rsync -avz minnie.tuhs.org::UA_Other Other

Вы можете пропустить копирование каталога >Trees, который содержит извлечения из нескольких версий Unix и занимает на диске около 700 мегабайт.

В рассылке TUHS можно также поинтересоваться, нет ли поблизости от вас кого-нибудь, кто мог бы предоставить вам архив на CD-ROM, чтобы избежать пересылки по Интернету такого большого количества данных.

Группа в Southern Storm Software, Pty. Ltd. в Австралии «модернизировала» часть кода уровня пользователя V7, так что его можно откомпилировать и запустить на современных системах, особенно на GNU/Linux. Этот код можно загрузить с их веб-сайта[10].

Интересно отметить, что код V7 не содержит в себе каких-либо уведомлений об авторских правах или разрешениях. Авторы писали код главным образом для себя и своего исследования, оставив проблемы разрешений отделу корпоративного лицензирования AT&T.

Код GNU

Если вы используете GNU/Linux, ваш дистрибутив поступит с исходным кодом, предположительно в формате, используемом для упаковки (файлы RPM Red Hat, файлы DEB Debian, файлы >.tar.gz Slackware и т.д.) Многие примеры в книге взяты из GNU Coreutils, версия 5.0. Найдите соответствующий CD-ROM для своего дистрибутива GNU/Linux и используйте для извлечения кода соответствующий инструмент. Или следуйте для получения кода инструкциям в следующих нескольких абзацах.

Если вы предпочитаете самостоятельно получать файлы из ftp-сайта GNU, вы найдете его по адресу: >ftp://ftp.gnu.org/gnu/coreutils/coreutils-5.0.tar.gz.

Для получения файла можно использовать утилиту >wget:

>$ wget ftp://ftp.gnu.org/ena/coreutils/coreuitils-5.0.tar.gz

>/* Получить дистрибутив */

>/* ... здесь при получении файла куча вывода ... */

В качестве альтернативы можно использовать для получения файла старый добрый >ftp:

>$ ftp ftp.gnu.org /* Подключиться к ftp-сайту GNU */

>Connected to ftp.gnu.org (199.232.41.7).

>220 GNU FTP server ready.

>Name (ftp.gnu.org:arnold): anonymous /* Использовать анонимный ftp */

>331 Please specify the password.

>Password: /* Пароль на экране не отображается */

>230-If you have any problems with the GNU software or its downloading,

>230-please refer your questions to .

>... /* Куча вывода опущена */

>230 Login successful. Have fun.

>Remote system type is UNIX.

>Using binary mode to transfer files.

>ftp> cd /gnu/coreutils /* Перейти в каталог Coreutils */

>250 Directory successfully changed.

>ftp> bin

>200 Switching to Binary mode.

>ftp> hash /* Выводить символы # по мере закачки */

>Hash mark printing on (1024 bytes/hash mark).

>ftp> get coreutils-5.0.tar.gz /* Retrieve file */

>local: coreutils-5.0.tar.gz

>remote: coreutils-5.0.tar.gz

>227 Entering Passive Mode (199,232,41,7,86,107)

>150 Opening BINARY mode data connection for coreutils-5.0.tar.gz (6020616 bytes)

>######################################################################

>######################################################################

>...

>226 File send OK.

>6020616 bytes received in 2.03e+03 secs (2.9 Kbytes/sec)

>ftp> quit /* Закончить работу */

>221 Goodbye.

Получив файл, извлеките его следующим образом:

>$ gzip -dc < coreutils-5.0.tar.gz | tar -xvpf - /* Извлечь файлы */

>/* ... при извлечении файла куча вывода ... */

Системы, использующие GNU tar, могут использовать следующее заклинание:

>$ tar -xvpzf coreutils-5.0.tar.gz /* Извлечь файлы */

>/* ... при извлечении файла куча вывода ... */

В соответствии с общедоступной лицензией GNU, вот сведения об авторских правах для всех GNU программ, процитированных в данной книге. Все программы являются «свободным программным обеспечением; вы можете распространять их и/или модифицировать на условиях общедоступной лицензии GNU в изданном Фондом бесплатных программ виде; либо версии 2 лицензии, либо (по вашему выбору) любой последующей версии». Текст общедоступной лицензии GNU см. в приложении С «Общедоступная лицензия GNU».


Рекомендуем почитать
UNIX — универсальная среда программирования

В книге американских авторов — разработчиков операционной системы UNIX — блестяще решена проблема автоматизации деятельности программиста, системной поддержки его творчества, выходящей за рамки языков программирования. Профессионалам открыт богатый "встроенный" арсенал системы UNIX. Многочисленными примерами иллюстрировано использование языка управления заданиями shell.Для программистов-пользователей операционной системы UNIX.


Полное руководство по Microsoft Windows XP

В книге известного американского автора описывается среда ОС Windows XP и принципы ее функционирования, приведен сравнительный анализ Windows XP с предшествующими версиями операционной системы Windows. Рассматриваются вопросы применения и модификации нового интерфейса с целью получения прямого доступа ко всем функциям Windows XP обсуждаются варианты подключения к компьютерным сетям. Несколько разделов посвящены работе с реестром и конфигурационными файлами, мультимедийным функциям и разнообразным системным службам, а также методам решения проблем с программным обеспечением и оборудованием.


Ubuntu 10. Краткое руководство пользователя

Книга ориентирована на домашнего и офисного начинающего Linux-пользователя и поможет ему самостоятельно настроить операционную систему Ubuntu Linux. Материал ориентирован на последние версии дистрибутива Ubuntu: 10.04 и 10.10. Описана установка дистрибутива, установка кодеков, настройка и специальные возможности загрузчика GRUB2. Рассмотрены вопросы, возникающие при ежедневной работе в Linux: установка и удаление программ, работа с файловой системой, настройка сети и Интернета, настройка приложений для работы в Интернете, работа с периферийными устройствами, использование офисных и мультимедийных приложений.


QNX/UNIX: Анатомия параллелизма

Книга адресована программистам, работающим в самых разнообразных ОС UNIX. Авторы предлагают шире взглянуть на возможности параллельной организации вычислительного процесса в традиционном программировании. Особый акцент делается на потоках (threads), а именно на тех возможностях и сложностях, которые были привнесены в технику параллельных вычислений этой относительно новой парадигмой программирования. На примерах реальных кодов показываются приемы и преимущества параллельной организации вычислительного процесса.


Виртуальные  машины: несколько компьютеров в  одном

Применение виртуальных машин дает различным категориям пользователей — от начинающих до IT-специалистов — множество преимуществ. Это и повышенная безопасность работы, и простота развертывания новых платформ, и снижение стоимости владения. И потому не случайно сегодня виртуальные машины переживают второе рождение.В книге рассмотрены три наиболее популярных на сегодняшний день инструмента, предназначенных для создания виртуальных машин и управления ими: Virtual PC 2004 компании Microsoft, VMware Workstation от компании VMware и относительно «свежий» продукт — Parallels Workstation, созданный в компании Parallels.


Недокументированные и малоизвестные возможности Windows XP

Книга содержит подробные сведения о таких недокументированных или малоизвестных возможностях Windows XP, как принципы работы с программами rundll32.exe и regsvr32.exe, написание скриптов сервера сценариев Windows и создание INF-файлов. В ней приведено описание оснасток, изложены принципы работы с консолью управления mmc.exe и параметрами реестра, которые изменяются с ее помощью. Кроме того, рассмотрено большое количество средств, позволяющих выполнить тонкую настройку Windows XP.Эта книга предназначена для опытных пользователей и администраторов, которым интересно узнать о нестандартных возможностях Windows.