<Предыдущая | Содержание: | Следующая>
Получение исходного кода
Для нашего упражнения по компиляции мы собираемся скомпилировать программу из проекта GNU под названием дикция. Это небольшая удобная программа, которая проверяет текстовые файлы на качество и стиль написания. Как и все программы, он довольно маленький и его легко построить.
Следуя соглашению, мы сначала создадим каталог для нашего исходного кода с именем
src, а затем загрузите в него исходный код с помощью ftp:
[я @ linuxbox ~] $ мкдир источник [я @ linuxbox ~] $ компакт-диск источник [me @ linuxbox src] $ FTP ftp.gnu.org Подключен к ftp.gnu.org.
220 GNU FTP-сервер готов.
Имя (ftp.gnu.org:me): анонимный
230 Вход выполнен успешно. Тип удаленной системы - UNIX.
Использование двоичного режима для передачи файлов. ftp> cd gnu / diction
250 Каталог успешно изменен. ftp> ls
Команда 200 PORT выполнена успешно. Рассмотрите возможность использования PASV.
150 А вот и список каталогов.
-rw-r - r-- | 1 | 1003 | 65534 | 68940 | август | 28 | 1998 | дикция-0.7.tar.gz |
-rw-r - r-- | 1 | 1003 | 65534 | 90957 | Вт | 04 | 2002 | дикция-1.02.tar.gz |
-rw-r - r-- | 1 | 1003 | 65534 | 141062 | сен | 17 | 2007 | дикция-1.11.tar.gz |
226 Справочник отправил ОК.
ftp> получить diction-1.11.tar.gz
локальный: diction-1.11.tar.gz удаленный: diction-1.11.tar.gz
Команда 200 PORT выполнена успешно. Рассмотрите возможность использования PASV.
150 Открытие соединения для передачи данных в режиме ДВОИЧНЫЙ для diction-1.11.tar.gz (141062 байта).
226 Файл отправлен.
141062 байта получено за 0.16 секунды (847.4 кБ / с) ftp> до свидания
221 До свидания. [me @ linuxbox src] $ ls дикция-1.11.tar.gz
Примечание: Поскольку мы являемся «сопровождающим» этого исходного кода, пока мы его компилируем, мы будем хранить его в ~ / src. Исходный код, установленный вашим дистрибутивом, будет установлен в / USR / SRC, в то время как исходный код, который мы поддерживаем и предназначенный для использования несколькими пользователями, обычно устанавливается в / USR / местные / SRC.
Как мы видим, исходный код обычно предоставляется в виде сжатого tar-файла. Иногда называют тарбол, этот файл содержит исходное дерево, или иерархия каталогов и файлов, составляющих исходный код. Зайдя на ftp-сайт, мы изучаем список доступных tar-файлов и выбираем для загрузки самую новую версию. С помощью получить командовать внутри FTP, копируем файл с ftp-сервера на локальную машину.
После загрузки tar-файла его необходимо распаковать. Это делается с помощью деготь программа:
[me @ linuxbox src] $ tar xzf Diction-1.11.tar.gz
[me @ linuxbox src] $ tar xzf Diction-1.11.tar.gz
[me @ linuxbox src] $ ls
дикция-1.11 дикция-1.11.tar.gz
[me @ linuxbox src] $ ls
дикция-1.11 дикция-1.11.tar.gz
Наконечник: The дикция Программа, как и все программное обеспечение GNU Project, следует определенным стандартам для упаковки исходного кода. Большинство других исходных кодов, доступных в экосистеме Linux, также следует этому стандарту. Одним из элементов стандарта является то, что при распаковке tar-файла с исходным кодом создается каталог, содержащий дерево исходных текстов, и этот каталог будет называться проект-x.xx, таким образом, содержащий как название проекта, так и его номер версии. Эта схема позволяет легко установить несколько версий одной и той же программы. Однако часто бывает полезно изучить структуру дерева перед его распаковкой. Некоторые проекты не создают каталог, а вместо этого доставляют файлы прямо в текущий каталог. Это создаст беспорядок в вашем хорошо организованном SRC каталог. Чтобы избежать этого, используйте следующую команду для проверки содержимого tar-файла:
смола цвф файл обработан | голова