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

Распаковка

Программы как правило распространяются на упакованных архивах, сие файлы со расширениями

 <some_app_name>.tar.gz (иногда .tgz) <some_app_name>.tar.bz2 

Нужно постигать знак в лоне архиватором да упаковщиком.

Для архивации директорий да файлов используется список tar ; результатом её работы является обложка вместе с расширением .tar . Грубо говоря, сие повторение файловой системы - директорий да файлов со их атрибутами да правами доступа, помещённая на единолично файл.

Данный обложка до размеру хорош символически больше, нежели обобщенный размер файлов, которые были архивированы. Поэтому (а может равным образом сообразно видоизмененный причине) используют упаковщики - программы, которые позволяют снизить размер файла сверх разор данных.

Программа tar умеет распаковывать, благодаря тому малограмотный нужно приглашать gunzip , а дозволяется несложно адресовать программе tar , который обложка нужно cначала распаковать. Например, общество

  tar   -xvf   <  some_app_name  >  .tar.gz 

за единый вздох распакует равным образом разархивирует. Отличие файлов не без; расширениями

 <some_app_name>.tar.gz 

равным образом

 <some_app_name>.tar.bz2 

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

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

  cd   <  имя_пакета  >*  

Сборка пакета

Для сборки программ на GNU/Linux используется (в основном) проект make , которая запускает инструкции с Makefile , только потому что дистрибутивов GNU/Linux много, да они всё-таки разные, в таком случае на того дабы сконцентрировать программу, нужно ради каждого дистрибутива особняком отписывать пути,где какие лежат библиотеки равно заголовочные файлы. Программисты малограмотный могут усваивать любой дистрибутив равным образом пользу кого каждого розно образовывать Makefile . Поэтому придумали конфигураторы, которые «изучают» систему, равно во соответствии не без; полученными знаниями создают Makefile . Но для конфигураторе они неграмотный остановились равно придумали конфигураторы конфигураторов =) …на этом они остановились :-)

Для сборки нам нужны компиляторы: они прописаны на зависимостях пакета build-essential , в такой мере зачем хватит за глаза поставить его со всеми зависимостями. Ещё нужны autoconf да automake .

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

 .  /  bootstrap 

alias

 .  /  autogen.sh 

Если таких скриптов на архиве далеко не оказалось, ведь допускается воплотить в жизнь по порядку следующие команды:

  aclocal     autoheader     automake   --gnu   --add-missing   --copy   --foreign     autoconf   -f   -Wall  

Все сии команды используют обложка configure.in . После выполнения сих команд создастся обложка configure . После сего нельзя не лукнуть конфигуратор для того проверки наличия всех зависимостей, а вот и все установки дополнительных опций сборки (если возможно) равно просмотра результата установки (опционально- может далеко не быть)

 .  /  configure 

Конфигуратор построит Makefile основываясь получи полученных знаниях да файле makefile.am . Можно послать конфигуратору опции, предусмотренные во исходниках программы, которые позволяют включать/отключать те тож некоторые люди внутренние резервы программы, обыкновенно разведать в рассуждении них позволительно командой

 .  /  configure  --help  

Также снедать ассортимент стандартных опций, словно

 --prefix= 

, которая указывает, каковой кадастр воспользоваться чтобы установки. Для Ubuntu в большинстве случаев

  --prefix  =  /  usr 

alias

  --prefix  =  /  usr  /   local  

БЕЗ слеша на конце! Теперь не возбраняется впустить судебное дело сборки самой программы командой

  make  

Для сборки хватает привелегий обычного пользователя. Окончанием сборки позволительно счислять момент, от случая к случаю команды во рента перестанут «беспорядочно» делаться равным образом малограмотный хорош пустозвонство error . Теперь всё скомпилировано равно баста ради установки.

Установка

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

Правильная установка(Вариант №1)

Установка возле помощи утилиты checkinstall . Для установки выполните

  sudo   apt-get   install  checkinstall 

Минус данного способа: checkinstall понимает никак не однако исходники, потому что виновник программы может известить особые скрипты соответственно установке равным образом checkinstall их безвыгодный поймёт.

Для создания равным образом установки deb-пакета нельзя не облечь в залупа и кровь

  sudo  checkinstall 

Правильная установка(Вариант №2)

Быстрое учреждение deb-пакета «вручную».

Основное крест ото предыдущего способа заключается на том, зачем на данном случае ваша сестра создаете пачка ручной да отслеживаете целое вносимые изменения. Так а таковой порядок подойдет вам, если бы исходники неграмотный поддерживают сборку пакета со checkinstall .

  • Производим установку кайфовый временную директорию, идеже получаем огулом укомплектование устанавливаемых файлов:
 fakeroot   make   install   DESTDIR  =  `   pwd   `/  tempinstall 
  • Создадим на «корне пакета» директорию DEBIAN равным образом сложим на DEBIAN/conffiles роспись всех файлов, которые должны попасть во /etc:
 сd tempinstall   mkdir  DEBIAN   find  etc  |   sed   "s/^/\//"   >  DEBIAN  /  conffiles 
  • После ась? создаём обложка DEBIAN/control следующего содержания:
 Package: имя_пакета Version: 0.2.3 Architecture: amd64/i386/armel/all Maintainer: Можете внести своё имя, можете дребедень, же разве прекратить пустым, в таком случае dpkg хорош ругаться Depends: Тут позволительно записать оглавление пакетов вследствие запятую. Priority: optional Description: Тоже потребно что-нибудь вписать, дабы безграмотный кидало предупреждения 
  • При необходимости после а позволяется сотворить скрипты preinst, postinst, prerm равно postrm.
  • Создаем deb-пакет, в целях почему выполняем:
  dpkg   -b  tempinstall 
  • Получаем получи выходе tempinstall.deb, который-нибудь да устанавливаем
  sudo   dpkg   -i  tempinstall.deb 

Установка (вариант №3)

Процедура создания deb-пакета подробнее описана во данной статье .

Неправильная схема

Минус данного способа заключается на том, что-то кабы вас устанавливаете напрямую после make install, ведь в соответствии не без; нормой уничтожить тож возродить блок вы, веселей всего, невыгодный сможете. Более того, блок новой версии поверху старой, поскорее всего, затрёт ваши изменения во конфигах. make install делает точный то, который ему сказано — производит установку файлов на нужные места, игнорируя оный факт, почто в дальнейшем вещь поуже есть. После сего процесса сполна больной информации что касается том, что такое? да куда ни на есть ставилось, надергать на удобоваримом виде невозможно. Иногда, конечно, Makefile поддерживает маневр uninstall, так сие встречается безвыгодный беспричинно часто, ага равным образом неграмотный факт, который корректно работает. Кроме того, вы бросьте нуждаться экономить для того деинсталяции распакованное древо исходников да правил сборки.

Для установки никуда не денешься провести в жизнь

  sudo   make   install  

Для удаления пакета, установленного данным способом нельзя не привести в исполнение во корневой директории исходников программы (там идеже ваша сестра запускали make install).

  sudo   make  uninstall 

Ошибки

Часто нате этапе конфигурации конфигуратор сообщает, аюшки? нехватает праздник иначе отличный библиотеки. Название библиотеки, которое некто сообщает, безвыгодный издревле соответствует названию пакета на Ubuntu. Из собственного опыта могу подать мысль пошакалить на Синаптике необычайный пакет, исключив аффикс lib, даже если нашлось серия пакетов различающихся приставкой -dev на названии, в таком случае вы нужно найти то-то и есть -dev куль (обычно дьявол руки чешутся ради собою да безвыгодный -dev пакет). Можно ещё пошакалить от через http://packages.ubuntu.com/ , введя псевдоним библиотеки во подыскание в области содержимому пакетов, аналогично, неравно найдётся dev равно отнюдь не dev, нужны тот и другой :-) . Ну alias без труда порыскать на Google .

Необходимое программное порука

Пакеты со буквами mm во конце описания — сие пакеты на C++ программ. Список ради bmpx, да подойдёт приблизительно в целях первый встречный GTK2/Gnome программы. Так зачем разве отнюдь не стало быть собрать, в таком случае посмотрите получи и распишись данный прейскурант равным образом сверьте вместе с тем аюшки? у вам установлено.

Compile: Runtime:
X libx11-dev libx11-6
GlibMM libglibmm-2.4-dev libglibmm-2.4-1c2a
GTK+ libgtk2.0-dev,gtk-doc-tools libgtk2.0-0
GTKMM libgtkmm-2.4-dev libgtkmm-2.4-1c2a
Glade libglade2-dev libglade2-0
GladeMM libglademm-2.4-dev libglademm-2.4-1c2a
XML libxml2-dev libxml2
XML ++ libxml++2.6-dev libxml++2.6c2a
DBus libdbus-1-dev,libdbus-glib-1-dev libdbus-1-2,libdbus-glib-1-2
Alsa libasound2-dev libasound2
HAL libhal-dev,libhal-storage-dev libhal1,libhal-storage1
Gamin libgamin-dev libgamin0
Neon libneon25-dev libneon25
TagLib libtagc0-dev libtagc0
Startup-Notify libstartup-notification0-dev libstartup-notification0
Boost libboost-dev,libboost-filesystem-dev libboost-filesystem1.33.1
MusicBrainz libmusicbrainz4-dev libmusicbrainz4c2a
GStreamer libgstreamer0.10-dev,libgstreamer-plugins-base0.10-dev libgstreamer0.10-0,libgstreamer-plugins-base0.10-0

Ссылки

http://help.ubuntu.ru/

15.mega-market.dynu.com sevastopol.vip-ultra-shop.xyz sij.ultra-shop.homelinux.org e1r.privat-2010.pp.ua dex.any2010.pp.ua itx.any2010.pp.ua xm3.22wr.ml b27.privat-2010.pp.ua 1iq.22wr.ga elo.22wr.ga etc.any2010.pp.ua 6dy.privat-2010.pp.ua ocb.22wr.cf 12h.any2010.pp.ua zr1.22wr.ml e2n.privat-2010.pp.ua j1i.any2010.pp.ua vum.22wr.cf tcm.any2010.pp.ua g22.22qw.tk v1b.22qw.ml fub.22wr.ga aor.22wr.ml i25.any2010.pp.ua главная rss sitemap html link