Linux программирование в примерах
Сайт TUHS физически расположен в Австралии, хотя имеются зеркала архива по всему миру — см.
. Эта страница также указывает, что архив доступен для зеркала черезhttp://www.tuhs.org/archive_sites.html. (Если у вас нетrsync, см.rsync: это стандартная утилита на системах GNU/Linux.)http://rsync.samba.org/Чтобы скопировать весь архив, потребуется примерно 2-3 гигабайта дискового пространства. Для копирования архива создайте пустой каталог, а в нем выполните следующие команды:
mkdir Applications 4BSD PDP-11 PDP-11/Trees VAX Otherrsync -avz minnie.tuhs.org::UA_Root .rsync -avz minnie.tuhs.org::UA_Applications Applicationsrsync -avz minnie.tuhs.org::UA_4BSD 4BSDrsync -avz minnie.tuhs.org::UA_PDP11 PDP-11rsync -avz minnie.tuhs.org::UA_PDP11_Trees PDP-11/Treesrsync -avz minnie.tuhs.org::UA_VAX VAXrsync -avz minnie.tuhs.org::UA_Other OtherВы можете пропустить копирование каталога
, который содержит извлечения из нескольких версий Unix и занимает на диске около 700 мегабайт.TreesВ рассылке TUHS можно также поинтересоваться, нет ли поблизости от вас кого-нибудь, кто мог бы предоставить вам архив на CD-ROM, чтобы избежать пересылки по Интернету такого большого количества данных.
Группа в Southern Storm Software, Pty. Ltd. в Австралии «модернизировала» часть кода уровня пользователя V7, так что его можно откомпилировать и запустить на современных системах, особенно на GNU/Linux. Этот код можно загрузить с их веб-сайта [10].
Интересно отметить, что код V7 не содержит в себе каких-либо уведомлений об авторских правах или разрешениях. Авторы писали код главным образом для себя и своего исследования, оставив проблемы разрешений отделу корпоративного лицензирования AT&T.
Код GNUЕсли вы используете GNU/Linux, ваш дистрибутив поступит с исходным кодом, предположительно в формате, используемом для упаковки (файлы RPM Red Hat, файлы DEB Debian, файлы
Slackware и т.д.) Многие примеры в книге взяты из GNU Coreutils, версия 5.0. Найдите соответствующий CD-ROM для своего дистрибутива GNU/Linux и используйте для извлечения кода соответствующий инструмент. Или следуйте для получения кода инструкциям в следующих нескольких абзацах..tar.gzЕсли вы предпочитаете самостоятельно получать файлы из ftp-сайта GNU, вы найдете его по адресу:
.ftp://ftp.gnu.org/gnu/coreutils/coreutils-5.0.tar.gzДля получения файла можно использовать утилиту
:wget$ <b>wget ftp://ftp.gnu.org/ena/coreutils/coreuitils-5.0.tar.gz</b>/* Получить дистрибутив *//* ... здесь при получении файла куча вывода ... */В качестве альтернативы можно использовать для получения файла старый добрый
:ftp$ <b>ftp ftp.gnu.org</b> /* Подключиться к ftp-сайту GNU */Connected to ftp.gnu.org (199.232.41.7).220 GNU FTP server ready.Name (ftp.gnu.org:arnold): <b>anonymous</b> /* Использовать анонимный 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 <[email protected]>.... /* Куча вывода опущена */230 Login successful. Have fun.Remote system type is UNIX.Using binary mode to transfer files.ftp> <b>cd /gnu/coreutils</b> /* Перейти в каталог Coreutils */250 Directory successfully changed.ftp> <b>bin</b>200 Switching to Binary mode.ftp> <b>hash</b> /* Выводить символы # по мере закачки */Hash mark printing on (1024 bytes/hash mark).ftp> <b>get coreutils-5.0.tar.gz</b> /* Retrieve file */local: coreutils-5.0.tar.gzremote: coreutils-5.0.tar.gz227 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> <b>quit</b> /* Закончить работу */221 Goodbye.Получив файл, извлеките его следующим образом:
$ <b>gzip -dc < coreutils-5.0.tar.gz | tar -xvpf -</b> /* Извлечь файлы *//* ... при извлечении файла куча вывода ... */Системы, использующие GNU tar, могут использовать следующее заклинание:
$ <b>tar -xvpzf coreutils-5.0.tar.gz</b> /* Извлечь файлы *//* ... при извлечении файла куча вывода ... */В соответствии с общедоступной лицензией GNU, вот сведения об авторских правах для всех GNU программ, процитированных в данной книге. Все программы являются «свободным программным обеспечением; вы можете распространять их и/или модифицировать на условиях общедоступной лицензии GNU в изданном Фондом бесплатных программ виде; либо версии 2 лицензии, либо (по вашему выбору) любой последующей версии». Текст общедоступной лицензии GNU см. в приложении С «Общедоступная лицензия GNU».
Файл Coreutils 5.0 Даты авторского права lib/safe-read.с© 1993-1994, 1998, 2002 lib/safe-write.c© 2002 lib/utime.c© 1998, 2001-2002 lib/xreadlink.с© 2001 src/du.c© 1988-1991, 1995-2003 src/env.с© 1986, 1991-2003 src/install.с© 1989-1991, 1995-2002 src/link.c© 2001-2002 src/ls.с© 1985, 1988, 1990, 1991, 1995-2003 src/pathchk.c© 1991-2003 src/sort.с© 1988, 1991-2002 src/sys2.h© 1997-2003 src/wc.с© 1985, 1991, 1995-2002 Файл Gawk 3.0.6 Даты авторского права eval.с© 1986, 1988, 1989, 1991-2000 Файл Gawk 3.1.3 Даты авторского права awk.h© 1986, 1988, 1989, 1991-2003 builtin.с© 1986, 1988, 1989, 1991-2003 eval.с© 1986, 1988, 1989, 1991-2003 io.c© 1986, 1988, 1989, 1991-2003 main.с© 1986, 1988, 1989, 1991-2003 posix/gawkmisc.с© 1986, 1988, 1989, 1991-1998, 2001-2003 Файл Gawk 3.1.4 Даты авторского права builtin.c© 1986, 1988, 1989, 1991-2004 Файл GLIBC 23.2 Даты авторского права locale/locale.h© 1991, 1992, 1995-2002 posix/unistd.h© 1991-2003 time/sys/time.h© 1991-1994, 1996-2003 Файл Make 3.80 Даты авторского права read.с© 1988-1997, 2002