Предварительные условия
Пред.
След.

Предварительные условия

Это руководство предполагает, что читатель имеет достаточные знания для сборки из исходных кодов и установки программного обеспечения на дистрибутивах Linux. В этом руководстве активно используется интерфейс командной строки (Command Line Interface, CLI), то есть вы должны чувствовать себя комфортно при работе в терминале. Ниже собран небольшой обзор из того, что необходимо знать.

make

Описание:

GNU Make - это очень важный инструмент для сборки программного обеспечения. Он используеься для преобразования сложной задачи компиляции в тривиальную. Очень важно, чтобы вы знали, как его использовать, так как мы будем хранить большинство информации о процессе сборки пакетов в файлах Makefile.

Ссылки:

GNU Make имеет хорошо написанную man страницу, а также подробную info документацию. Документация также доступна на веб-сайте GNU

./configure

Описание:

Этот скрипт включен почти во все исходники Linux, в особенности для программ, написанных на компилируемых языках таких как C и C++. Он используется для генерации Makefile (файл, используемый утилитой make), который будет настроен под вашу систему. Стандартные инструменты работы с пакетами Debian используют его, поэтому важно понимать, что делает скрипт configure. Вам не надо знать как создать скрипт configure самостоятельно, если автор программы (или autoconf) сделали это. Однако, вам может понадобится настроить его, чтобы он смог корректно построить пакет Ubuntu.

Краткое Howto:

Во-первых, получите исходный код GNU Hello. Наберите в терминале:

wget http://ftp.gnu.org/gnu/hello/hello-2.1.1.tar.gz # получите пакет
tar -xzf hello-2.1.1.tar.gz # распакуйте его
cd hello-2.1.1/
			

Теперь командой ./configure вы можете запустить скрипт configure для генерации Makefile, совместимого с вашей системой.

Вы также можете выполнить команду ./configure с опциями командной строки. Например, по умолчанию GNU Hello установится в каталог /usr/local/. Однако вы можете установить его куда-нибудь еще (в личный каталог бинарных файлов, ~/programs/, например)

./configure --prefix="$HOME/programs/" # назначение каталога установки.

Вы можете увидеть все опции ./configure, выполнив ./configure --help.

Ссылки:

Информация по ./configure может быть найдена в документации make.

Apt/Dpkg

Помимо основного применения для установки программ, apt и dpkg имеют большое количество свойств полезных для сборки пакетов.

  • apt-cache dump - перечисляет все пакеты доступные в кэше. Эта команда особенно полезна в комбинации с grep, например как apt-cache dump | grep foo - для поиска пакетов чье имя или зависимости включают «foo».

  • apt-cache policy - перечисляет репозитории (main/restricted/universe/multiverse) в которых существует пакет.

  • apt-cache show - отображает информацию о бинарном пакете.

  • apt-cache showsrc - отображает информацию о пакете с исходными кодами.

  • apt-cache rdepends - показывает обратные зависимости пакета (т.е. каким пакетам необходим запрашиваемый пакет).

  • dpkg -S - перечисляет бинарные пакеты, в которые входит конкретный файл

  • dpkg -l - перечисляет установленные в данный момент пакеты. Действие этой команды подобно apt-cache dump, но только для установленных пакетов.

  • dpkg -c - показывает содержимое бинарного пакета. Полезна, чтобы удостовериться что файлы установлены в правильные каталоги.

  • dpkg -f - показывает файл управления для бинарного пакета. Это бывает полезно для обеспечения правильности зависимостей.

  • grep-dctrl - осуществляет поиск специализированной информации в пакете. Это специфическое использование пакета grep (но не установленное по-умолчанию)

diff и patch

Программа diff может быть использована для сравнения двух файлов и создания патчей. Типичным примером может служить diff -ruN file.old file.new > file.diff. Эта команда создаст diff (рекурсивно если используются каталоги) показывающий изменения или «delta», между двумя файлами.

Программа patch используется для применения патча (обычно создаваемого diff или другой похожей программой) для файла или каталога. Для того чтобы применить патч созданый ранее мы можем выполнить patch -p0 < file.diff. Опция -p сообщает приложению patch сколько необходимо стереть из путей для имен файлов в патче. -p0 означает что стирание не будет производиться или что пути останутся нетронутыми.

Пред.
След.
Начало