Этап 2. Установка пакета исходных текстов PostgreSQL.
После получения исходных текстов PostgreSQL скопируйте пакет во временный каталог, из которого будет производиться компиляция и настройка PostgreSQL. Распакуйте файл архива с расширением.tar.gz и переходите к установке.
Учтите, что этот каталог не будет использоваться для хранения файлов базы данных после установки, это лишь временное хранилище для настройки и компиляции исходного пакета. Если пакет PostgreSQL был загружен из Интернета, скорее всего, его не окажется в каталоге компиляции (если не сохранить его там специально). Обычно для построения программ в системах Linux/Unix используется каталог /usr/local/src. Вероятно, для обращения к этому каталогу вам понадобятся права root. По этой причине в остальных примерах этой главы, если не оговорено обратное, подразумеваются права root.
Внимание
Если вы работаете в коммерческой поставке Linux, мы настоятельно рекомендуем проверить, не был ли пакет PostgreSQL установлен по умолчанию. В RPM-системах (например, SuSe, Mandrake и Red Hat) для этого можно воспользоваться командой rpm – qa | grep – i postgres. Если пакет PostgreSQL установлен, не исключено, что он уже устарел. В этом случае следует загрузить и установить обновленную версию PostgreSQL. В процессе установки PostgreSQL под управлением RPM некоторые сценарии и программы (такие, как postmaster и psql) иногда копируются в общедоступные каталоги. Это может стать причиной конфликтов с версиями, откомпилированными из исходных текстов, поэтому перед установкой новой версии обязательно удалите старый пакет командой rpm – e <имя_пакета>.
Чтобы распаковать исходные тексты PostgreSQL в системе Linux, сначала переместите или скопируйте с компакт-диска сжатый файл в каталог /usr/local/src (многие пользователи перемещают исходные тексты в этот каталог, чтобы отделить их от своего домашнего каталога и/или других каталогов, в которых могут храниться загруженные файлы). Когда файл окажется в нужном каталоге файловой системы, распакуйте его утилитой tar. Команды для выполнения этих операций приведены в листинге 2.6.
Листинг 2.6. Распаковка исходных текстов PostgreSQL.
[root@host root]# cp postgresql-7.1.3.tar.gz /usr/local/src [root@host root]# cd /usr/local/src [root@host src]# tar – xzvf postgresql-7.1.3.tar.gz postgresql-7.1.3/ postgresql-7.1.3/ChangeLogs/ postgresql-7.1.3/ChangeLogs/ChangeLog-7.1-7.1.1 postgresql-7.1.3/ChangeLogs/ChangeLog-7.lRCl-to-7.1RC2 postgresql-7.1.3/ChangeLogs/ChangeLog-7.lRC2-to-7.1RC3 postgresql-7.1.3/ChangeLogs/ChangeLog-7.lRC3-to-7.Irc4 postgresql-7.1.3/ChangeLogs/ChangeLog-7.lbetal-to-7.Ibeta3 postgresql-7.1.3/ChangeLogs/ChangeLog-7.lbeta3-to-7.Ibeta4 postgresql – 7.1.3/ChangeLogs/ChangeLog-7.lbeta4-to-7.IbetaS postgresql-7.1.3/ChangeLogs/ChangeLog-7.lbeta5-to-7.Ibeta6 postgresql-7.1.3/ChangeLogs/ChangeLog-7.lbeta6-7.1RC1 postgresql-7.1.3/ChangeLogs/ChangeLog-7.Irc4-7.1 postgresql – 7.1.3/ChangeLogs/ChangeLog-7.1.1-7.1.2 postgresql-7.1.3/ChangeLogs/ChangeLog-7.1.2-7.1.3 postgresql-7.1.3/Copyright […] [root@host root]# chown – R postgres.postgres postgresql-7.1.3
Обратите внимание на последнюю команду в листинге 2.6:
chown – R postgres.postgres postgresql-7.1.3
Команда назначает владельцем иерархии исходных текстов PostgreSQL пользователя postgres, поэтому компиляция PostgreSQL должна осуществляться пользователем postgres. Если после распаковки архива и смены владельца вы откомпилируете PostgreSQL как пользователь postgres, то этот пользователь автоматически станет владельцем всех откомпилированных файлов.
Ниже перечислены флаги утилиты tar, используемые при распаковке архива исходных текстов PostgreSQL.
- х (eXtract). Утилита tar распаковывает файл с переданным именем (вместо того, чтобы создавать новый архив).
- v (Verbose). Утилита tar выводит расширенную информацию в процессе распаковки.
- z (Zipped). Исходный файл распаковывается утилитой gunzip. Флаг существует в GNU-версии; другие версии tar могут не поддерживать его. Если вы не используете инструментарий GNU, перед распаковкой пакета утилитой tar вам придется вручную восстановить сжатые файлы утилитой gunzip.
- f (File). Имя файла, распаковываемого утилитой tar, указывается после параметра f. В приведенном примере используется файл с именем postgres-7.1.3.tar.gz.
После распаковки файлов войдите в систему под именем postgres и перейдите в созданный каталог (например, /usr/local/src/postgres-7.1.3). Остальные этапы установки будут выполняться в этом каталоге.