<Попередній | зміст | Наступна>
Отримання вихідного коду
Для нашої вправи зі компіляції ми збираємося зібрати програму з проекту GNU під назвою дикція. Це зручна невелика програма, яка перевіряє текстові файли на якість і стиль написання. Що стосується програм, то вони досить маленькі і їх легко створити.
Дотримуючись умовності, ми спочатку створимо каталог для нашого вихідного коду з назвою
src, а потім завантажте в нього вихідний код за допомогою ftp:
[me@linuxbox ~]$ mkdir src [me@linuxbox ~]$ CD src [me@linuxbox src]$ FTP ftp.gnu.org Підключено до ftp.gnu.org.
220 GNU FTP-сервер готовий.
Ім'я (ftp.gnu.org:me): анонімний
230 Вхід успішний. Тип віддаленої системи — UNIX.
Використання двійкового режиму для передачі файлів. ftp> cd gnu/дикція
250 Каталог успішно змінено. ftp> ls
200 Команда PORT успішно виконана. Розгляньте можливість використання PASV.
150 Ось список каталогу.
-рв-р--р-- | 1 | 1003 | 65534 | 68940 | серпня | 28 | 1998 | дикція-0.7.tar.gz |
-рв-р--р-- | 1 | 1003 | 65534 | 90957 | березня | 04 | 2002 | дикція-1.02.tar.gz |
-рв-р--р-- | 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 Відкриття з’єднання даних у режимі BINARY для diction-1.11.tar.gz (141062 байт).
226 Файл надіслати OK.
141062 байт отримано за 0.16 секунд (847.4 кБ/с) ftp> до побачення
221 До побачення. [me@linuxbox src]$ ls дикція-1.11.tar.gz
Примітка: Оскільки ми є «підтримувачем» цього вихідного коду під час його компіляції, ми збережемо його ~/src. Вихідний код, встановлений вашим дистрибутивом, буде встановлено / usr / src, тоді як вихідний код, як ми вважаємо, призначений для використання кількома користувачами, зазвичай встановлюється /usr/local/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
Порада: Команда дикція Програма, як і все програмне забезпечення GNU Project, дотримується певних стандартів для упаковки вихідного коду. Більшість інших вихідних кодів, доступних в екосистемі Linux, також відповідають цьому стандарту. Одним із елементів стандарту є те, що коли файл tar вихідного коду буде розпаковано, буде створено каталог, який містить дерево джерел, і цей каталог буде названо проект-x.xx, що містить як назву проекту, так і номер його версії. Ця схема дозволяє легко встановити кілька версій однієї програми. Однак часто доцільно вивчити макет дерева, перш ніж розпаковувати його. Деякі проекти не створюватимуть каталог, а натомість доставлять файли безпосередньо в поточний каталог. Це створить безлад у вашій інакше добре організованій SRC каталог. Щоб уникнути цього, скористайтеся такою командою, щоб перевірити вміст файлу tar:
tar tzvf tarfile | голова