This document is not subject to copyright. See section 9 below.
Version 1.0: 13 November 1997


The GIS-GRASS mini-HOWTO

by David A. Hastings
U. S. Department of Commerce
National Oceanic and Atmospheric Administration
National Geophysical Data Center
Boulder CO 80303
dah@ngdc.noaa.gov

Русский перевод: Михаил Корепанов, SWSoft Pte Ltd.

Резюме: Этот документ рассказывает как можно приобрести, установить и настроить огромную научную библиотеку Географическую Информационную Систему (Geographic Information System (GIS)) и Вспомогательную Систему Анализа Географических Ресурсов (Geographic Resources Analysis Support System (GRASS)). Здесь имеются ссылки на другие источники о GRASS, GIS .

Этот документ так же рассказывает о перспективах применения этих программ для систем UNIX/Linux. ("When will Linux become bundled with public domain or Linux Public License 'killer aps'"?) Если вы заинтересовались этим вопросом, то прочтите главу 8.

Содержание

  1. Что такое GIS?
  2. Что такое GRASS?
  3. Краткая преыстория GRASS
    1. Доработка модели GRASS
    2. Дополнения включенные в GRASS
  4. Требования к системе при работе с GRASS
  5. Как приобрести GRASS
  6. Как "заставить" GRASS работать под Linux
  7. Поддержка для GRASS (и GIS) в сети
  8. Перспективы GRASS?
  9. Авторские права и замечания по поддержке этого документа
  10. Ссылки

Приложение A: Установка GRASS4.1.3
Appendix B: Установка GRASS4.1.5
Appendix C: Установка GRASS 4.1.x и исходники 4.2
Appendix D: Прочтите эту заметку, если вы собираетесь дополнять какую-либо часть GRASS!
Appendix E: Версии под Linux некоторых файлов GRASS.


1. Что такое GIS?

О Географической Информационной Системе можно сказать многое. Здесь приводятся три определения (сделанные David A. Hastings, 1992, в Geographic Information Systems: A Tool for Geoscience Analysis and Interpretation):

  1. (Минимальное определение): GIS это комплексная система аппаратного и программного обеспечения, предназначенная для хранения, управления и с (при помощи бумажных копий или графики) возможностью избирательного редактирования с учетом географических данных. Такого рода определение, в основном, используется продавцами и пользователями векторной версии GIS, чьи цели или увеличение количества продаж или использование GIS, как источника картографической информации.
  2. (Похожее определение):  GIS это совокупность программного и аппаратного обеспечения обработки и вывода информации. Но в отличии от обычных СУБД, вся информация  в GIS представлена в пространственном изображении, а не в плоских моделях. Распечатать можно не только карты, но и таблицы. и и числовые величины. Поэтому GIS можно рассматривать в качестве пространственной СУБД, как альтернативу обыкновенным СУБД. Однако это определение для человеку который использует обыкновенные СУБД .
  3. (Более конкретное определение):  GIS это совокупность программного и аппаратного обеспечения, которое делает возможным разработку, моделирование и вывод многослойной пространственной информации. Система может производить некоторые аналитические функции и этим самым помогает пользователю анализировать и интерпретировать информацию. GIS может смоделировать явление как функцию от других явлений, которые описаны пространственной и числовой информацией.
  4. Другие определения можно найти на http://www.geo.ed.ac.uk/home/research/whatisgis.html at the University of Edinburgh

2. Что такое GRASS?

GRASS (Geographic Resources Analysis Support System) это приложение на основе GIS, являющееся системой обработки изображений. Приложение было создано  управлением инженерных войск США(US Army Corps of Engineers), Исследовательским Институтом по разработке сооружений (Constriction Engineering Research Laboratory (USA/CERL)) и дополнена многими другими, это приложение часто используется в правительственных организациях, университетах и всевозможных коммерческих организациях по всему миру. оно написано в основном на C, для различных машин под UNIX. Linux является одной из наиболее удобных сред для его применения.

GRASS включает в себя более 40 программ для обработки изображений на мониторе и бумаге, более 60 программ растровой графики, более 30 программ обработки векторной графики, около 30 программ для обработки других видов графики, 16 программ для обработки числовой информации и 6 программ для работы с файлами.

GRASS не имеет узкой специализации и может использоваться в различных областях. Для тех кто пользуется первый раз этой программой, простой пользовательский интерфейс может послужить отличной базой. Используя исходные файлы, библиотеки с документацией и инструкции к самой программе, можно написать собственные приложения к этому пакету. 

Исходные файлы GRASS можно получить бесплатно. Некоторые программы которые можно скомпилировать для своей машины так же можно бесплатно скачать. Они могут работать под различными версиями UNIX.

(Выдержка из описания проекта Intro to GRASS:http://www.geog.le.ac.uk/assist/grass)

3. Краткая история GRASS

В начале 1980-ых  U. S. Army Corps of Engineers и Construction Engineering Research Laboratory (USA/CERL) в Champaign, Illinois, начали исследовать возможности Geographic Information Systems для проведения исследований, анализа и мониторинга ландшафта и коррекции карт, по зданию  министерства обороны США (U. S. Department of Defense). Одной из мотиваций было следование указу о национальной доктрине об окружающей среде (National Environmental Policy Act) принятого в конце 1970-ых.

Bill Goran из USA/CERL просмотрел все возможные версии GIS, рассматривая их с точки зрения возможности проводить анализ ландшафта, для того чтобы рекомендовать одну или несколько версий CERL. Но он не смог найти ни одной версии GIS которая бы подходила к этим требованиям. Таким образом, то что началось как поиск превратилось в разработку нового GIS.

USA/CERL наняли несколько программистов и начали с того, что написали растрово-векторный GIS для VAX UNIX. И это была первая команда которая занялась серьезной разработкой GIS под UNIX. До сих пор эта система подходит под использование различными версиями UNIX, потому что они разработали процедуры кодировки в ANSI для стандартного UNIX, не используя ничего, что являлось бы уникальным и различалось в версиях UNIX.

Стиль программирования GRASS характеризуется:

За разработкой GRASS следили три комитета различных уровней. USA/CERL несло основную ответственность за GRASS. Они и проводили все основные мероприятия по разработке  и тестированию GRASS.

Многие университеты стали использовать GRASS как среду для обучения и разработки. Ввели небольшие курсы по его изучению в свое штатное расписание. Примерами в этом случае могут послужить Central Washington University, The University of Arkansas, Texas A & M University, The University of California at Berkeley, и Rutgers University.

В 1996 USA/CERL, до начала тестирования бета-версии GRASS 5.0, заявило, что отныне они не будут поддерживать GRASS. USA/CERL рассказало, что они подписали соглашения с некоторыми разработчиками коммерческих GIS, и в дальнейшем GRASS будет коммерческим продуктом. Один из результатов такого решения GRASSLANDS:http://www.las.com/grassland/, адаптированная версия GRASS (коммерческая). В результате многие пользователи GRASS перешли на другие бесплатные GIS. Но, так или иначе, ftp-сайт GRASS содержит множество дополнений к последней версии GRASS. 

 

4. Требования к системе при работе с GRASS

Минимальные требования к системе:


GRASS работает под Linux с ядром старше чем 1.2.13 (более точная информация в приложениях).
GRASS будет работать в текстовом режиме. Так или иначе, для вывода графических данных вам понадобится X. 

Если вы найдете требования к программному и аппаратному обеспечению, которые надо обязательно упомянуть, дайте мне знать!

5. Как приобрести GRASS

GRASS можно приобрести на ленте у нескольких компаний которые подписали договор с USA/CERL о распространении. Эти компании поставляют, в основном, версии для работы на других платформах, таких как Masscomp, Sun, DEC, Hewlett Packard и т.д..

Самый простой способ получить GRASS - это скачать его с ftp:

1. Новая страничка на Baylor University:http://www.baylor.edu/~grass

На день написания этого mini-HOWTO, Baylor разместил на этой страничке исходники GRASS версий 4.1 и 4.2, а так же версию, скомпилированную для Sun Solaris. Также на этом сайте можно найти Blackland GRASS для Windows 95/NT. Используя информацию в этом mini-HOWTO, вы сможете скомпилировать этот исходник для своей машины под Linux.

2. Основной сайт USA/CERL:http://www.cecer.army.mil/grass, или зеркала USA/CERL:

адрес ftp:

moon.cecer.army.mil

Приложение A описывает, как скачать и установить GRASS 4.13 с USA/CERL. (Перед установкой прочтите главу 6!)

Приложение Б описывает, как скачать и установить GRASS 4.15 с USA/CERL.  (Перед установкой прочтите главу 6!)

Приложение В описывает, как скачать и установить исходники GRASS 4.14 и GRASS 4.15 с USA/CERL, и исходник  GRASS 4.2 скачаный с Baylor University. (Перед установкой прочтите главу 6!)

Разработчики дистрибутивов Linux! Быть может вы заинтересуетесь включением GRASS в ваши дистрибутивы? Помните,  что исходные файлы GRASS общедоступны. Ваш дистрибутив будет более весомым, если вы добавите туда исходники и/или собранную версию GRASS.

6. Как "заставить" GRASS работать под Linux.

Приложения А, Б и В описывают, как приобрести и установить GRASS. До того, как вы начали установку, вам надо решить где будут размещены три части системы:

  1. Проограммы приложения к GRASS, исходники (если вы их устанавливаете), инструкции, документация, и тому подобное. Многие размещают это в /usr/local (например /usr/local/grass/bin, /usr/local/grass/src).
  2. Исполняемые программы  GRASS и утилиты gmake. Некоторые скидывают это в /usr/local (например /usr/local/grass/grass4.1 и gmake4.1 или /usr/local/bin/grass4.1 и gmake4.1).
  3. Каталоги информации GRASS. Это можно записать, куда угодно, если они описаны в файлах конфигурации.

    Но я так не поступаю. Исходники и программы GRASS используются только этой программой, и мне не хотелось бы распихивать их в разные места, поэтому я создаю отдельный каталог, назовем его /user, и складываю туда все, что связано с GRASS. Например:

    /user/grass4.1/bin   (сюда обычно я складываю grass4.1 и gmake4.1)
                  /data
                  /dev  
                  /etc
                  /man
                  /src
                  /src.alpha
                  /src.contrib
    

    сейчас я создаю сайт GRASS5.0, архитектура которого выглядит примерно так:

    /user/grass5/bin
                /data   (формат некоторых данных GRASS5 изменен...)
                /dev
                /etc
    

    Прочтение инструкция к установке GRASS (описанная в главе 10 и приложении В) необходимо для правильной работы GRASS, даже в том случае если вы следовали всем указаниям описанным в приложениях А и Б. не забудьте важную деталь: обычно при инсталляции GRASS права пользователя и администратора разделяются. Для того чтобы избежать проблем связанных с этим вы должны создать пользователя "grass" (эти советы не обязательны) на своей машине. Весь процесс установки и конфигурирования должны производится под правами этого пользователя. Разархивируйте и отредактируйте файлы настройки под правами "grass." После этого желательно редко запускать GRASS с правами "grass." (я так поступаю только когда мне требуется создать архивы карт в основной базе карт). Это делается по той же причине, что и использование прав отличных от "root". ВЫ МОЖЕТЕ СЛИШКОМ МНОГО НАТВОРИТЬ,  КАК СУПЕРПОЛЬЗОВАТЕЛЬ "grass"!

    Кроме выполнения советов и инструкций описанных здесь и в приложениях, вам придется выполнить дополнительную работу по наработке информационной базы. Вы можете скачать примерные базы с USA/CERL (каталог pub/grass/grass4.1/data на сервере "ftp moon.cecer.army.mil"), прочтите советы по этому в GRASS Programmer's Manual.

    Я лично, вам бы посоветовал обратиться к базам Spearfish и Global, размещенных на USA/CERL:

    1. База Spearfish содержит две карты со сторонами в 7,5 минут в Черных Горах (Black Hills of South Dakota, USA). Они выполнены в Universal Transverse Mercator Projection (UTM). База была создана Larry Batten (сейчас работает в Environmental Systems Research Institute в Boulder, Colorado). Эта база была дополнена USA/CERL. Она очень удобна в использовании (там есть много материалов для обучения работе с GRASS). 
    2. База Global была разработана Bob Lozar из USA/CERL для воспроизведения плоско-параллельной проекции в GRASS с целью изучения окружающей среды.

    Начиная с этих примеров, вы можете создать ваши собственные базы в UTM и плоско-параллельных координатах. 

    7. Поддержка для GRASS (и GIS) в сети

    Поддержка всем доступной программы? Все говорят нет! Хотя как пользователи Linux, вы об этом хорошо знаете.

    Сначала GRASS поддерживался только GRASS Information Office в USA/CERL, также были очень активные пользователи вне этого офиса, которые оказывали посильную помощь. Пользователи GRASS встречались и обсуждали проблемы, существовал сервер для пользователей и разработчиков, компании вносили свою лепту на контрактной или платной основе.

    Выпускались книги и обучающие материалы по GRASS, некоторые университеты проводили курсы по изучению GRASS. Их насчитывалось довольно много. Если они вас интересуют, то спросите дополнительную информацию в конференции comp.infosystems.gis

    в ссылках есть некоторые, выложенные в Internet, книги (Глава 10).

    Материалы по обучению в World Wide Web можно найти на CyberInstute Short Course in GIS:http://www.ngdc.noaa.gov/seg/tools/gis/referenc.html  

    Одна из лучших программ в этой области - это Project Assist's - Intro to GRASS:http://www.geog.le.ac.uk/assist/grass

    Есть и другие неплохие сайты:

    Central Washington University was an early GRASS user and training facility:http://www.csu.edu/~gishome/grass.htm

    "Starting the hunt for mostly free spatial data" by Stephan Pollard:http://cast.uark.edu/local/hunt основан University of Arkansas, одним из первых кто занялся обучением этой программе.

    Purdue University has several GRASS features:http://pasture.ecn.purdue.edu/~aggrass

    USA/CERL's online GRASS manual:http://www.cecer.army.mil/grass/userman/main-alpha.html

    Rutgers University's GRASS Information Center:http://deathstar.rutgers.edu/grassinfo.html

    The REGIS project:http://www.regis/berkeley.edu  Это сайт University of California at Berkeley, он предлагает Linux версию GRASS, которую можно скачать с ftp, а так же есть Web-версия названная, GRASSLINKS.

    Но после того, как вы прочтете книги и пройдете курсы, к кому вы обратитесь за советом???

    На настоящий момент, лучшим источником такой информации является конференция comp.infosystems.gis . Если вы не пользовались до этого конференциями, то спросите вашего администратора или провайдера о такой возможности. comp.infosystems.gis в основном обсуждает следующие проблемы

    GRASS это самая популярная из GIS в этой конференции. Темы обсуждаются только когда они созреют. Как правило, вы сможете найти ответы на различные вопросы в этой конференции. Также вы можете провести поиск по вашей проблеме на DejaNews:http://www.dejanews.com, где хранятся старые темы конференции.

  1. 8. Каково будущее GRASS?

    Прекрасный вопрос! Существует несколько ответов на него:

    1. USA/CERL объявило, что последующие версии GRASS будут использоваться только для внутреннего применения, а сайты перестанут поддерживаться. Возможно, будет подписан корпоративный договор со следующими компаниями: (1) Environmental Sciences Research Institute (ESRI), (2) Intergraph, и (3) Logiciels et Applications Scientifiques (L.A.S.) Inc. Два первых договора предусматривают превращение GRASS в коммерческий продукт, принадлежащий ESRI и Intergraph. Последний предусматривает полную переделку GRASS на низком уровне и получение нового коммерческого GIS. L.A.S. также предлагает поддержку общественно доступного сайта GRASS, который и дальше будет существовать как отдельная система и источник идей для L.A.S. GRASSLAND. Один наблюдатель заметил, что первые два договора будут, сродни продаже ОС Linux компании Microsoft. А третий договор, отмечает он же, был бы очень интересным экспериментом по сохранению коммерческой и бесплатной версии программы GRASS.
    2. Некоторые думают, что GRASS может существовать и без поддержки со стороны USA/CERL. Другие утверждают, что Открытый Консорциум Гео-Информационных систем сможет все сделать лучше, и от этого выиграют разработчики и пользователи. Есть и еще одна точка зрения, которая противоположна предыдущей, ее сторонники утверждают, что Открытый Консорциум приведет к появлению множества похожих, но не взаимосовместимых стандартов, насаждаемых различными разработчиками.  
    3. Есть люди которые считают, что университеты, которые занимаются GRASS, могут самостоятельно его поддерживать некоторое время. Но это уже будет нестандартная версия.....
    4. Многие надеются на то, что модель развития GRASS, использованная USA/CERL устарела и будет изменена. Возможно:
      1. Под управлением другого хозяина, такого как NASA (нуждающиеся в мощной научной системе GIS совмещенной с системой обработки изображений для их Системы Наблюдения за Землей).
      2. На распространенную модель....что-то похожее на Linux?
      3. Что-то напоминающее гибрид? Возможно, усилия по поддержке в сети приведут к образованию конференций, например:
        • comp.infosystems.gis.grass, включающая в себя:
        • comp.infosystems.gis.grass.academics
        • comp.infosystems.gis.grass.publicservice
        • comp.infosystems.gis.grass.commercialvalueadded
        • comp.infosystems.gis.grass.commercialdistributors
        • comp.infosystems.gis.grass.programming
        • comp.infosystems.gis.grass.users
        • comp.infosystems.gis.grass.centralcommittee
        Конечно, название конференций могут звучать и по другому. При такой модели центральный комитет (включающий в себя представителей университетов, общественных организаций, коммерческих распространителей, разработчиков, программистов и пользователей) может производить разработку и тестирование. Каждая группа представителей будет отстаивать свои интересы. Представители университетов, например, будут настаивать на включении в программу обучающих пакетов и т.д.

    GRASS имеет потенциальные возможности в следующих областях:

    Есть и еще один немаловажный вопрос... кто сможет послужить эквивалентом Linus Torvelds в этой модели управления? Скорее всего, не какая-то личность. Поэтому я оперирую понятием, центральный комитет. Все ваши предложения и замечания по этой главе я внимательно изучу.

    9. Авторские права и поддержка этого документа

    Авторские права:

    Этот документ был создан федеральным служащим для помощи в работе (в свободное время). Авторские права на этот документ не могут принадлежать никому.

    Поддержка документа:

    Я надеюсь, здесь все доступно объяснено. Если вы используете этот документ, то надеюсь понимаете, что всякое руководство не застраховано от ошибок.

    Я буду очень благодарен, если вы исправите мои ошибки. Я был ограничен во времени при создании этого документа, и поэтому любая ваша помощь поможет мне сделать его более целенаправленным и полезным. Заранее благодарен за все ваши замечания и предложения.

    10. Ссылки

     Если вам понадобится хорошая техническая информация по GIS, посмотрите в хорошем магазине технической литературы или по следующему адресу CyberInstitute Short Course on Geographic Information Systems:hQfttp://www.ngdc.noaa.gov/seg/tools/gis/referenc.html  

    Так же можно посмотреть
    Baylor University's growing GRASS Home Page:http://www.baylor.edu/~grass
    USA/CERL's GRASS Home Page:http://www.cecer.army.mil/grass

    На USA/CERL есть хорошая коллекция ссылок по GRASS, для ее просмотра скачайте ее следующим образом :

    
      ftp moon.cecer.army.mil
      login: anonymous
      password: your email address
      cd pub/grass/grass4.1/outgoing
      image
      get grassman.ps.Z  (or grassman.txt.Z, or grassman.wp.Z)
      cd ../documents/programmer/postscript
      image
      get progman.ps.Z    
      cd ../../user/postscript
      image
      get refman.ps.Z
      cd ../..
      image
      get installGuide.ps.Z
      bye
    
      uncompress grassman.ps.Z
      uncompress progman.ps.Z
      uncompress refman.ps.Z
      uncompress installGuide.ps.Z
    
      lpr *.ps   (или то, что соответствует вашему окружению)
    

    installGuide => Руководство к установке GRASS (это вам потребуется для компиляции исходников GRASS)
    grassman => Руководство для начинающих (введение в GRASS)
    refman => Руководство для пользователя GRASS (инструкции к доступным функциям)
    progman => Руководство для программиста GRASS (это руководство и для администратора, содержит информацию о возможных форматах информации и т.д.)

    Если вас интересуют какие-то дополнительные сведения, то поищите их на вышеуказанном сайте. Там, в каталоге pub/grass/grass4.1/documents, есть обучающий материал по дополнительным функциям GRASS, таким как r.mapcalc, r.combine и r.weight и др. 

    если вам необходим немецкий вариант, то проверьте его наличие здесь: The University of Hannover's site:http://www.laum.uni-hannover.de/iln/grass/handbuch


    Приложение A: Приобретение/Установка GRASS4.13 

    В этом предложении рассказывается о том, как приобрести и установить GRASS4.13 под Linux (третье обновление к последнему релизу GRASS, версии 4.1).

    Как это скачать:

    
      ftp moon.cecer.army.mil
      login: anonymous
      password: your email address
      cd pub/grass/grass4.1/release/binaries/linux
      image
      mget grassa*
      bye
    
    Руководство к установке:
    ********************************************************************
    * GRASS 4.1 обновление 3 для Linux
    *
    * Этот пакет содержит только программы GRASS, в нем *НЕТ* никаких данных для GIS
    * Данные для примера можно получить по адресу
    * moon.cecer.army.mil
    *
    * Скомпилировано: Andy Burnett - burnett@zorro.cecer.army.mil
    * Дата: April 7, 1994
    
    ********************************************************************
    Требования к системе:
    
            35 Mб свободного места на диске для установки пакета
    
    Требования к библиотекам системы:
    
            libc4.5.21 или выше
    
            libX.so.3.1.0 или выше
    
    Если вы используете библиотеки, которые старше вышеперечисленных, то этот релиз 
    *НЕ* будет работать на вашей системе.
    
    --------------------------------------------------------------------------
    Файлы, находящиеся в релизе:
    
            README_4.1.3            то, что вы сейчас читаете,
            ginstall                простой скрипт установки grass
            grassaa --------|
            grassab         |
            grassac         |
            grassad         |
            grassae         |--     программы linux GRASS
            grassaf         |
            grassag         |
            grassah         |
            grassai         |
            grassaj         |
            grassak --------|
    
    УСТАНОВКА:
    
            Для установки этих программ под linux, вы можете просто запустить  
    скрипт ginstall или вы можете разархивировать файлы вручную. 
    Я рекомендую использовать скрипт ginstall ... он очень простой и  
    надежный.  Для запуска скрипта ginstall, вам понадобится  
    gawk (gnu awk), установленный на вашей машине, и он должен находиться в одном из стандартных 
    каталогов, перечисленных в переменной PATH.
    
    Если вы все же решили сделать это собственноручно, то вам следует:  
    
    
    o  создать домашний каталог(/usr/grass, /usr/local/grass,
       или, на ваше усмотрение, любой другой) который мы назовем условно GISBASE.
    
    ********************* ВНИМАНИЕ **************************************
    с этого момента, заменяйте $GISBASE именем каталога, который вы только 
    что создали
    ********************* ВНИМАНИЕ **************************************
    
    o  cat grassa? | gzip -d | (cd $GISBASE; tar xvf -)
       Эта команда разархивирует все в каталог $GISBASE
    
    o  скопируйте $GISBASE/etc/moncap.sample в $GISBASE/etc/monitorcap и отредактируйте его.
    o  смените все совпадения с GBASE на $GISBASE
    o  скопируйте $GISBASE/etc/grass4.1 в доступный каталог (я рекомендую
       /usr/bin)
    o  отредактируйте копию которую только что сделали: 
       смените все совпадения с GBASE на $GISBASE
    

    Приложение B: Приобретение/Установка GRASS4.1.5

    В этом предложении рассказывается о том, как скачать и установить GRASS4.15 для Linux  (5-ое последнее обновление к последнему релизу GRASS, версии 4.1).

    Как скачать эти файлы:

    
    ftp moon.cecer.army.mil
    login: anonymous
    password: your email address
    cd pub/grass/grass4.1/release/binaries/linux
    image
    mget linuxa*
    bye
    
    Руководство к установке:
    * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
    Файлы в этом релизе:
            README_4.1.5            то, что вы сейчас читаете,
            install.sh                простой скрипт установки grass
            linuxaa --------|
            linuxab         |
            linuxac         |
            linuxad         |
            linuxae         |--   программы GRASS, версии 4.1.5 для Linux
            linuxaf         |
            linuxag         |
            linuxah         |
            linuxai --------|
    
    * * * * * * * * * * *** * * * * * * * * * * * * * * * * * * * * * * * 
    * 
    
    GRASS4.15 был скомпилирован под Linux на моей машине со следующей конфигурацией: 
            Slackware 3.0
            ядро 1.2.13
            gcc 2.7.0
            libc 5.0.9
            flex 3.5.2
    
    ~ ~ ~ ~ ~ ~ ~
    ~ ВАЖНО:    ~
    ~ ~ ~ ~ ~ ~ ~ 
    LINUX GRASS 4.15 РАБОТАЕТ ТОЛЬКО ПОД LINUX С ПОДДЕРЖКОЙ ELF.   
    ПРОГРАММА МОЖЕТ И НЕ РАБОТАТЬ С БОЛЕЕ РАННИМИ ВЕРСИЯМИ ЯДРА И/ИЛИ GCC И FLEX.
    
    Программа заархивирована программами tar и gzip, затем разбита на 9 (приблизительно 1.3 Mб 
    - 1200 x 1K блоков) файлов, названных с linuxg.aa по linuxg.ai.
    
    Вам следует скачать, используя протокол ftp в двоичном режиме передачи, все файлы linuxg.a*,  
    а так же этот файл readme и скрипт установки - install.sh.  Желательно скопировать их в  
    в корневой каталог.
    
    В корневом каталоге в режиме командной строки UNIX, напечатайте
            sh ./install.sh full_path_to_the_destination_directory
    
    и эта команда автоматически разархивирует файлы linuxg.a* в указанный каталог 
    (destination directory), и отредактирует некоторые специфические файлы.  
    Вам понадобится для этого около 26 Mб места на диске.
    
    В указанном каталоге (destination directory), вы найдете скрипт grass4.1.  Он 
    должен быть отредактирован в зависимости от каталога, в который вы хотите установить программу.  
    Теперь или переместите/скопируйте файл grass4.1 в каталог, указанный в переменной PATH или 
    создайте символьную ссылку следующим образом:
            cd /usr/local/bin
            ln -s destination_directory/etc/grass4.1 grass4.1
    
    Теперь вы можете запустить GRASS командой grass4.1, если знаете, как с ним управляться дальше. 
    
    В каталоге destination_directory/etc есть каталог readme. В нем есть несколько  
    файлов readme с описанием некоторых команд. Все скомпилированные команды можно найти в  
    файле commands.readme. Я не могу утверждать, что все из них работают, но большинство из них я проверил.  
    Если вы найдете неработающие, то пошлите сообщение в конференцию пользователей grass 
    и, возможно, сообща, мы сможем решить эту проблему.
    
    Yung-Tsung Kang,
    Michigan State University
    

    Приложение C: приобретение/Компиляция исходников GRASS

    Если GRASS работает под Linux, то почему бы не использовать и исходники?

    Давайте попробуем ответить на  вопрос: "Почему я не могу получить исходники для своей GIS, так я бы смог посмотреть, как она работает, и исправить некоторые вещи?" 

    Если вы хотите:

    1. Добавить некоторые функции GRASS.
    2. Понять, как работают некоторые функции (понять, что влияет на функцию. Могу ли я что-нибудь туда добавить?)
    3. Изменить программу (если вы намерены это сделать, то прочтите  Приложение D!),
    4. Если вы пробуете скомпилировать несколько десятков мегабайт исходников.

    Сначала вам потребуется скачать исходники и руководство к установке GRASS. Возможно, вам понадобится руководство для программиста GRASS и руководство для пользователя. Для этого выполните следующее:

    
    ftp moon.cecer.army.mil
    login: anonymous
    password: your email address
    cd pub/grass/grass4.1/release/source
    get README.4
    get README.5
    image
    mget s4* (or s5*, your choice)
    cd ../../documents
    get installGuide.ps.Z
    cd /manuals/programmer/postscript
    get progman.ps.Z
    cd ../../user/postscript
    get refman.ps.Z
    bye
    

    Не забывайте про этот сайт. Там, в каталоге pub/grass/grass4.1/document, есть несколько обучающих программ по GRASS. Там есть две версии исходников (я расскажу только о GRASS 4.14, хотя там есть и версия 4.15). В каталоге pub/grass/outgoing есть много функций, в основном дополнительных (и множество других вещей, не вошедших в основную версию).

    Следуйте инструкциям приведенными в файле README.4, для установки исходников GRASS 4.14 (иногда называется версией 4.1.4). И, соответственно, в файле README.5 описана установка исходников GRASS 4.15 (она иногда называется версией 4.1.5).

    После установки исходников разархивируйте и распечатайте installGuide.ps.Z (или troff-версию, если это вам больше по вкусу). Скорее всего, вам понадобится то же самое сделать с файлами refman.ps.Z и progman.ps.Z. Напомню, что программа progman.ps.Z - это руководство для программиста, которое содержит много информации по форматам информации и структуре каталогов. Продвинутые пользователи, возможно, захотят разобраться и с системными утилитами GRASS, даже если не будут ими пользоваться.

    Теперь, для того, чтобы успешно установить GRASS, изучите руководство по установке (файл installGuide.ps.Z). Не пугайтесь того, что этот документ выглядит большим. Если вы устанавливали Linux самостоятельно, то установка GRASS у вас не вызовет затруднений. Не тушуйтесь, если функция или две у вас не скомпилировались. У меня такое случилось с двумя. К счастью, это были малоупотребительные функции... когда-нибудь я до них доберусь и откомпилирую.

    По этому адресу вы можете найти руководство к установке самой новой версии  GRASS 4.2 from Baylor University:http://www.baylor.edu/~grass Этот документ был написан Baylor, я не успел его просмотреть и откорректировать, так как вышел он несколько дней назад. Но, в целом, процедура установки почти не изменилась.

    Быстрый запуск GRASS 4.2
    Руководство по установке

    ВНИМАНИЕ: Это руководство для быстрой установки  GRASS 4.2. Настоятельно рекомендуем прочесть полное руководство.

    $GIS/src - каталог содержащий файлы и скрипты для компиляции GRASS. При запуске этих скриптов вы скомпилируете GRASS для своей системы.

    Вы можете загрузить диск с исходниками GRASS на различных типах машин и откомпилировать их, не делая копий исходников. Следуйте инструкциям для каждого типа машин.

    ВНИМАНИЕ: Это руководство подразумевает, что вы хорошо знакомы с UNIX, C, make, и скриптами shell. GRASS подвержен воздействию законов Murphy, и единственной защитой от этого может послужить ваше знание данных вещей.

    ВНИМАНИЕ: Эти инструкции и скрипты использовались при компилировании GRASS на различных типах машин. Пожалуйста, сообщите мне результаты компилирования на своей системе по адресу:

    grass@baylor.edu

    СОДЕРЖАНИЕ КАТАЛОГОВ

        GISGEN      скрипт, который компилирует GRASS
    
        MAKELINKS   скрипт, который используется после GISGEN для создания исполняемых программ
     
        VERSION     версия и дата релиза GRASS
    
        generic/    дополнительные независимые файлы, требующиеся gmake
                      gmake     скрипт shell, который выполняет компиляцию
                      make.def  создает переменные(командой make)
                      make.tail пояснения по make
    
        head/       файлы заголовков gmake для этого сайта.  Заголовки файлов
                      создаются запуском команды utils/setup.
    
        lists/      список программ, подлежащих компиляции
                      GRASS     стандартные программы GRASS
                      local     специфические программы сайта GRASS
                      ...       архитектурно зависимые программы GRASS
    
        next_step/  файлы, используемые GISGEN для отслеживания статуса 
                    компиляции. Используются GISGEN для перезапуска 
                     (после ошибки) компиляции с того места, где она прекратилась.
    
        utils/      содержит скрипт 'setup' и все вспомогательные скрипты
                    и файлы, используемые 'setup'
    
    

    ОБЩИЙ ОБЗОР ЭТАПОВ КОМПИЛЯЦИИ

     (1)  Создайте файл содержащий информацию по местонахождению make,
        и другую специфическую информацию об этой программе.
    
     (2) Отредактируйте файлы, содержащие список файлов, которые должны быть 
         скомпилированы 
     (3) Запустите скрип компилирования GRASS
    
     (4) Запустите скрипт, создающий ссылки
    
     (5) Отредактируйте конфигурационные файлы драйверов
    
     (6) Скомпилируйте тестовые программы GRASS.
    
     (7) Скомпилируйте гибридные программы и программы, относящиеся к GRASS.
    

    ЭТАПЫ КОМПИЛЯЦИИ (ПОДРОБНО)

    (1) Создайте  makefile

    GRASS должен быть скомпилирован с отображением различных:

     

    Запустите "utils/setup" и ответьте на вопросы. Запускаемый скрипт, который производит компиляцию находится в каталоге (по умолчанию) /usr/local/bin.

    Просмотрите вновь созданный файл на предмет ошибок. Ниже приведено краткое описание для переменных:

      
      ARCH            = ключевое имя, указывающее на архитектуру машины, на которой
                        производится компиляция GRASS.
      GISBASE         = Название каталога, в котором будет находится скомпилированный GRASS
      UNIX_BIN        = Название каталога, в котором будут храниться программа запуска GRASS 
                        и gmake
      
      DEFAULT_DATABASE= Название каталога, в котором будут расположены базы GRASS
      DEFAULT_LOCATION= Базы GRASS, которые устанавливаются по умолчанию
      
      COMPILE_FLAGS   = Флаги компиляции
      LDFLAGS         = Флаги загрузки
      
      TERMLIB         = Системные библиотеки, включающие движение курсора на низком уровне
      CURSES          = Системная библиотека, поддерживающая управление курсором
      MATHLIB         = Системная математическая библиотека
      LIBRULE         = Методы библиотек архивирования и случайных чисел
      
      USE_TERMIO      = Использовать ли библиотеку termio, если она есть
      USE_MTIO        = Использовать ли библиотеку mtio, если она есть
      CAN_CLEAR       = Флаг, указывающий на возможность очистки экрана терминала
      DIGITFLAGS      = Флаги установки пользователя и приоритетов программы v.digit
    

    (2) Отредактируйте файлы, содержащие список путей и имен файлов программ, специфичных для этой машины

    Каталог lists/ содержит файлы со списком каталогов, которые будут компилироваться. Имена каталогов задаются относительно каталога src исходных текстов GRASS. Файл lists/GRASS содержит список всех базовых программ GRASS, которые собираются на всех сайтах. Файлы lists/local и lists/$ARCH.

        -----------------------------------------------------------------
        $ARCH - это название архитектуры, которое вы задали при запуске скрипта
        utils/setup.  Вы можете узнать его, запустив:
            gmake4.2 -sh | grep ARCH
        -----------------------------------------------------------------
    
    Файла lists/$ARCH может и не быть, но вы можете создать его самостоятельно, добавив в него список тех программ, которые вы бы хотели собрать именно для своей машины. Это список, который позволяет собрать из исходных текстов, подключенных через NFS, несколько разных наборов готовых программ для разных архитектур. Все машины, использующие одни и те же исходные тексты, подключенные через NFS, откомпилируют каталоги, заданные в lists/local.

    Все списках могут быть и строки комментариев - они задаются символом # в начале строки. Файл lists/local содержит список всех драйверов дигитайзеров, графических устройств, графопостроителей и т.п.. Все машинно-зависимые устройства закомментированы - вам надо раскомментировать только те, которые есть у вас. Вы также можете перенести драйвера графики в соответствующий файл lists/$ARCH.

    (3) Запустите программу сборки GRASS

    Скрипт GISGEN управляет процессом компиляции. Если все идет удачно, то вы можете просто дать команду GISGEN и подождать. Весь процесс сборки занимает, около получаса на быстрых машинах и до 8 часов на медленных.

    GISGEN берет имена каталогов, заданные в файлах lists/GRASS lists/$ARCH и lists/local, и запускает gmake4.2 в каждом каталоге. На экран выдаются сообщения как от GISGEN, так и от программы make. Ошибка на любом шаге сборки остановит компиляцию. В случае ошибки вы можете:

      1 - Исправить ошибку компиляции, подправив код в каталоге, который привел к
          ошибке.  После внесения изменений, войдите в этот каталог и запустите
          GISGEN. Компиляция продолжится с каталога, в котором была ошибка
          и продолжится далее по списку.
    
      2 - Перезапустить GISGEN.  Если ошибка связана с уже откомпилированным кодом,
          или с опциями сборки, заданными в шаге 1, то вы должны удалить
          файл следующий_шаг/$ARCH (или следующий_шаг/следующий_шаг ,если имя
          архитектуры не было задано в шаге 2). Теперь вы можете
          Перезапустить GISGEN.
    
      3 - Пропустить каталог с ошибкой. В этом случае, вам надо просмотреть
          содержимое файлов list/GRASS lists/$ARCH и lists/local для определения имени
          каталога,следующего за ошибочным.  Откройте файл
          next_step/$ARCH, который содержит имя каталога с ошибкой. Замените это имя
          на имя следующего за ошибочным каталога и перезапустите GISGEN
    

    После окончания процесса сборки, GISGEN поместит слово DONE в файл next_step и выведет на экран фразу "DONE generating GIS binary code".

    (4) Запустите скрипт линковки GRASS

    GISGEN производит процесс компиляции таким образом, что программы GRASS находятся в своих каталогах, оставаясь недоступными пользователю. Многие команды пользователя при этом работают с одной программой под названием "front.end". Для каждой настоящей программы GRASS должны быть созданы ссылки на эту программу. Это делается ПОСЛЕ окончания работы GISGEN. Для того, чтобы создать (или обновить) ссылки во всех пользовательских программах, запустите скрипт MAKELINKS.

    (5) Отредактируйте файлы конфигурации драйверов

    Вашей откомпилированной системе могут потребоваться различные драйвера графических устройств, графопостроителей, дигитайзеров и т.п. Для более подробных инструкций читайте Руководство по установке GRASS.

    ЗАМЕЧАНИЕ: Если у вас возникли проблемы при сборке графического драйвера, то зайдите в каталог $GIS/src/display/devices и соберите необходимые драйвера вручную, при помощи gmake4.2.

    (6) Сборка предварительных и альфа-версий программ GRASS.

    Программы GRASS делятся на 3 категории:

    MAIN - Программы, собранные на шаге 3. Они все проверены временем, и их можно назвать надежными.

    ALPHA - Альфа-программы, которые, скорее всего, перейдут в категорию MAIN в следующем выпуске программы.

    CONTRIB - На многих сайтах имеется большое количество специализированных GRASS-программ, которые служат разным целям, но они еще не откорректированы и не проверены настолько хорошо, чтобы войти в категорию альфа-программ.

    ALPHA-программы находятся в каталоге src.alpha. Вы, как установщик, можете зайти в каталоги этих программ и собрать те, которые вам необходимы. В каталогах, в которых есть файлы Gmakefile, просто дайте команду: gmake4.2

    CONTRIB-программы находятся в каталоге src.contrib. Состояние этих программ варьируется. Некоторые программы можно собрать при помощи gmake4.2; другие можно использовать в качестве шаблона при написании новых программ.

    (7) Сборка программ, связанных с GRASS, а также гибридных программ.

    Сообщество пользователей GRASS обнаружило, что некоторые известные программы могут использоваться в связке с GRASS. Эти программы находятся в каталоге src.related. Собирайте эти программы в соответствии с инструкциями (или их отсутствием) в отдельных каталогах.

    Гибридные программы используют как свойства GRASS, так и свойства одной или нескольких "связанных" программ. Они находятся в каталоге src.garden. Им требуется успешная сборка "связанных" программ. И, обычно, компилируются при помощи gmake4.2 и включают в себя файлы Gmakefile.


    Остальная часть процесса сборки может занять некоторое время. Если вы уже установили готовые программы GRASS binaries, то вам лучше сделать резервную копию вашей системы (или, как минимум, работающих собранных программ) чтобы не повредить их процессом компиляции.

    Удачи! Вы можете чувствовать себя спокойно - если у вас не получится собрать программы, воспользутесь уже собранными.


    Приложение D: Если вы хотите переделать какую-либо часть GRASS, сначала прочтите это!

    GRASS был разработан, как программа для некоммерческого использования. Поэтому многие коммерческие разработчики были против этого проекта, но потом извлекли из него свою выгоду, взяв из него самое лучшее.  Благодаря этой системе, другие  GIS получили толчок в развитии. Некоторые компании основали свой бизнес на создании сайтов, посвященных  GRASS, и дополнительных приложений и баз данных. 

    На данный момент USA/CERL больше не поддерживает бесплатную версию GRASS и пользователи, в свою очередь, используют то, что есть. 

    Существует коммерческая версия GRASS:http://www.las.com/grassland, сделанная на основе бесплатной компанией Logiciels et Applications Scientifiques (L.A.S) Inc. Монреаль. Позже они выполнили версии GRASSLAND для Sun, Linux и Windows NT. LAS пытается возродить сайт с бесплатной версией, как источник идей для дальнейших разработок.

    Приложение E: Пример некоторых важных файлов Linux GRASS.

    Это приложение содержит примеры некоторых файлов GRASS. В действительности, здесь приведены несколько вариантов одного файла. Но, так или иначе, это самый важный файл для конфигурирования! Позднее здесь будут приведены примеры конфигурационных файлов баз данных (напр. DEFAULT_WIND) и прочие.

    В Руководстве по установке (параграфы 10-11) вы сможете найти значение файла [header] в директории $GIS/src/CMD/header. В руководстве предпочтение отдается системам Sun, потому что они были использованы при разработке GRASS4. Ниже приводятся примеры для linux 


    Первая версия:

    CC                  = gcc
    ARCH                =
    
    GISBASE             = /user/grass4.1
    UNIX_BIN            = /user/grass4.1/bin
    
    DEFAULT_DATABASE    = /user/grass4.1/data
    DEFAULT_LOCATION    = china
    
    COMPILE_FLAGS       = -O2
    LDFLAGS             = -s
    
    XCFLAGS             = -D_NO_PROTO -DXM_1_1_BC
    XLDFLAGS            =
    XINCPATH            =
    XMINCPATH           =
    XLIBPATH            =
    XTLIBPATH           = -L/usr/lib
    XMLIBPATH           = -L/usr/lib
    XLIB                = -lX11
    XTLIB               = -lXt
    XMLIB               = -lXm
    XEXTRALIBS          =
    
    TERMLIB             =
    CURSES              = -lcurses $(TERMLIB)
    MATHLIB             = -lm
    
    #                   LIBRULE = ar ruv $@ $?
    #                   LIBRULE = ar ruv $@ $?; ranlib $@
    #                   LIBRULE = ar ruv $@ $?; ar ts $@
    #                   LIBRULE = ar rc $@ `lorder $(OBJ) | tsort`
    LIBRULE             = ar ruv $@ $?
    
    USE_TERMIO          = -DUSE_TERMIO
    USE_MTIO            = -DUSE_MTIO
    USE_FTIME           = -DUSE_FTIME
    DIGITFLAGS          = -DUSE_SETREUID -DUSE_SETPRIORITY
    VECTLIBFLAGS        =
    GETHOSTNAME         = -DGETHOSTNAME_OK
    

    Вторая версия:
    #CC                  = gcc 
    #CC                  = gcc -ggdb -traditional 
    CC                  = gcc -traditional
    #CC                  = gcc -static
    
    ARCH                = linux
    
    GISBASE             = /usr2/local/grass/grass4.1
    UNIX_BIN            = /usr/local/bin
    
    DEFAULT_DATABASE    = /usr2/local/grass
    DEFAULT_LOCATION    = grass4.1
    
    COMPILE_FLAGS       =
    #COMPILE_FLAGS       = -O 
    LDFLAGS             = -s
    
    XCFLAGS             = -D_NO_PROTO
    XLDFLAGS            =
    XINCPATH            = -I$GISBASE/xgrass
    #XINCPATH            = 
    XMINCPATH           =
    XLIBPATH            = -L/usr/lib
    XTLIBPATH           = -L/usr/lib
    XMLIBPATH           = -L/usr/lib
    XLIB                = -lX11
    XTLIB               = -lXt
    XMLIB               = -lXm
    XEXTRALIBS          =
    
    TERMLIB             = 
    CURSES              = -lcurses $(TERMLIB)
    MATHLIB             = -lm
    
    #                   LIBRULE = ar ruv $@ $?
    #                   LIBRULE = ar ruv $@ $?; ranlib $@
    
    #                   LIBRULE = ar ruv $@ $?; ar ts $@
    #                   LIBRULE = ar rc $@ `lorder $(OBJ) | tsort`
    LIBRULE             = ar ruv $@ $?; ranlib $@
    
    USE_TERMIO          = -DUSE_TERMIO
    USE_MTIO            = -DUSE_MTIO
    USE_FTIME           = -DUSE_FTIME
    DIGITFLAGS          = -DUSE_SETREUID -DUSE_SETPRIORITY
    VECTLIBFLAGS        =
    GETHOSTNAME         = -DGETHOSTNAME_OK
    

    Третья версия:

    #CC                  = gcc -traditional -ggdb
    CC                  = gcc -traditional -m486
    #CC                  = gcc
    ARCH                = linux
    
    GISBASE             = /usr/local/grass/grass4.1
    UNIX_BIN            = /usr/local/bin
    
    DEFAULT_DATABASE    = /usr/local/grass
    DEFAULT_LOCATION    = grass4.1
    
    COMPILE_FLAGS       = -O2
    LDFLAGS             = -s
    
    XCFLAGS             = -D_NO_PROTO -DXM_1_1_BC
    XLDFLAGS            = 
    XINCPATH            =
    XMINCPATH           =
    XLIBPATH            = -L/usr/lib
    XTLIBPATH           = -L/usr/lib
    XMLIBPATH           = -L/usr/lib
    XLIB                = -lX11
    XTLIB               = -lXt
    XMLIB               = -lXm
    XEXTRALIBS          = -lXmu
    
    TERMLIB             = 
    CURSES              = -lcurses $(TERMLIB) 
    MATHLIB             = -lm
    
    #                   LIBRULE = ar ruv $@ $?
    #                   LIBRULE = ar ruv $@ $?; ranlib $@
    #                   LIBRULE = ar ruv $@ $?; ar ts $@
    #                   LIBRULE = ar rc $@ `lorder $(OBJ) | tsort`
    LIBRULE             = ar ruv $@ $?; ranlib $@
    
    #USE_TERMIO          = #-DUSE_TERMIO
    USE_TERMIO          = -DUSE_TERMIO
    USE_MTIO            = -DUSE_MTIO
    USE_FTIME           = -DUSE_FTIME
    DIGITFLAGS          = -DUSE_SETREUID -DUSE_SETPRIORITY
    VECTLIBFLAGS        =
    GETHOSTNAME         = -DGETHOSTNAME_OK
    

    И еще одна версия:

    CC                  = cc
    ARCH                = linux
     
    GISBASE             = /usr/local/grass4.15/linux
    UNIX_BIN            = /usr/local/grass4.15/linux
     
    DEFAULT_DATABASE    = /data/grassdata
    DEFAULT_LOCATION    = 
     
    # -fwritable-strings - for ps.map only
    #COMPILE_FLAGS       = -O -m486 -fwritable-strings
    COMPILE_FLAGS       = -O -m486
    LDFLAGS             = -s
     
    XCFLAGS             = -D_NO_PROTO
    XLDFLAGS            =
    XINCPATH            =
    XMINCPATH           =
    XLIBPATH            = -L/usr/X11R6/lib
    XTLIBPATH           = -L/usr/lib
    XMLIBPATH           = -L/usr/lib
    XLIB                = -lX11
    XTLIB               = -lXt
    XMLIB               = -lXm
    XEXTRALIBS          =
     
    TERMLIB             =
    CURSES              = -lcurses $(TERMLIB)
    MATHLIB             = -lm
     
    #                   LIBRULE = ar ruv $@ $?
    #                   LIBRULE = ar ruv $@ $?; ranlib $@
    #                   LIBRULE = ar ruv $@ $?; ar ts $@
    #                   LIBRULE = ar rc $@ `lorder $(OBJ) | tsort`
    LIBRULE             = ar ruv $@ $?
     
    USE_TERMIO          = -DUSE_TERMIO
    USE_MTIO            = -DUSE_MTIO
    USE_FTIME           = -DUSE_FTIME
    DIGITFLAGS          = -DUSE_SETREUID -DUSE_SETPRIORITY
    VECTLIBFLAGS        = -DPORTABLE_3
    GETHOSTNAME         = -DGETHOSTNAME_OK
    
 

Авторские права

Авторские права на русский перевод этого текста принадлежат © 2000 SWSoft Pte Ltd. Все права зарезервированы.

Этот документ является частью проекта Linux HOWTO.

Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не указано иное. Документы Linux HOWTO, а также их переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но так или иначе автор текста и автор перевода желали бы знать о таких дистрибутивах.

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

Мы бы хотели распространить эту информацию по всем возможным каналам. Но при этом сохранить авторские права и быть уведомленными о всех планах распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь к координатору проекта Linux HOWTO по электронной почте: <linux-howto@metalab.unc.edu>, или к координатору русского перевода Linux HOWTO компании SWSoft Pte Ltd. по адресу <linux-howto@asplinux.ru>

 

Используются технологии uCoz