Шаг 9. Установка программ

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

    1. Надо понять какое именно решение вам нужно. Для этого можно использовать поисковые системы. Формировать запрос о своей проблеме и выбирать подходящие решения.

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

    3. После того, как мы выбрали уже конкретную программу — можно приступать к ее поиску. Открываем Synaptic и с помощью поисковой формы пытаемся найти нужное приложение. Вместе с ним мы можем обнаружить множество расширений и дополнительных модулей. Ставим все что надо — это лучший вариант. Приложения в репозиториях обычно протестированы и работоспособны.

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

    1. Находим официальный сайт приложения и пытаемся найти там .deb пакет (У нас Ubuntu Linux — у него пакетная система основана на deb формате). Если такой пакет есть на официальном сайте, то скачиваем его и устанавливаем.

    2. Если .deb пакета нет на официальном сайте, то ищем его в поисковой системе (помимо автора, другие люди могли для удобства собрать deb-пакет для приложения). Запрос может выглядеть так: «xneur deb» или «gimp deb».

    3. Если нам не повезло и программа настолько редкая, что deb-пакета для нее нет, то смотрим в каком виде она вообще распространяется.

    Установка приложения из tar.gz


    Часто приложения распространяются в архивах tar.gz. Этот формат не так удобен в Ubuntu, так как это не пакет, а просто архив, в котором могут быть как исходные коды, так и скомпилированные приложения и библиотеки.

    Установка из tar.gz:

    1. Распаковываем архив в отдельную директорию.

    2. Если есть исполняемый файл — запускаем и пользуемся, если нет — читаем раздел «Компиляция».

    Установка приложения из SVN


    SVN — Subversion. Это система контроля версий кода, в которых хранится исходный код приложений, особенно Open Source.

    1. Создаем директорию для нашего приложения.

    2. Открываем терминал в директории (cd 'путь/к/директории');

    3. Скачиваем исходные коды:

    svn co (SVN-адрес)

    4. Читаем раздел «Компиляция».

    Установка приложения из CVS


    CVS — Concurrent Versions System. Это также система контроля версий кода.

    1. Создаем директорию для нашего приложения.

    2. Открываем терминал в директории (cd 'путь/к/директории');

    3. Скачиваем исходные коды:

    cvs -z3 -d (CVS-адрес) co ./

    4. Читаем раздел «Компиляция».

    Установка приложения из RPM


    rpm-пакеты не родные для Ubuntu. Существует утилита alien, с помощью которой можно установить как обычные (sudo apt-get install alien). С ее помощью можно переконвертировать rpm-пакет в deb-пакет. Очень проста в использовании:

    alien пакет.rpm

    И в директории с rpm-пакетом появится deb-пакет. А его мы уже без труда установим.

    Компиляция


    1. Открываем терминал в директории с нашим приложением (cd 'путь/к/директории');

    2. Смотрим информацию о конфигурировании приложения:

    ./configure --help

    Смотрим вывод и решаем с какими параметрами надо конфигурировать. Если эта команда выдает ошибку — значит конфигуратора нет. Если конфигуратор присутствует — конфигурируем:

    ./configure (аргументы)

    Можно эту команду выполнить без аргументов — будет стандартная конфигурация.

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

    3. Компилируем приложение:

    make

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

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

    4. Инсталляция.

    Если приложения требует инсталляции, то выполняем (понадобятся права администратора — вспоминаем команду sudo):

    make install

    Эта команда скопирует файлы приложения в необходимые системные директории.

    5. Пользуемся приложением.

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

    Чтобы быть в курсе моих статей, можно подписаться на RSS-канал.

    Каждый может помочь развитию данной серии статей, поделиться своим опытом. Добро пожаловать: http://www.linuxman.ru. Все изменения в Вики я буду со временем переносить и в Хабр.


    Руководство: Шагнуть назад, Содержание
    Поделиться публикацией

    Похожие публикации

    Комментарии 57

      0
      стоит отметить, что компиляция настоолько редка, что ей почти никто не пользуется...

      да и раздел со сборкой можно было вынести в отдельную главу в которой и рассказать как собрать себе .deb.
      и объяснить чем плох (sudo )make install
        +1
        Ага... Особинно не компилируют Гентушники да Слаководы...

        И еще стоило бы написать о аномалиях, которые случаются при установке програм с исходников, или других пакетных систем rpm->deb.
          +1
          гентушники в этот блог даже не заглядывают.
          • НЛО прилетело и опубликовало эту надпись здесь
          +2
          «Как собрать себе .deb» очень интересно было бы почитать.
            +1
            sudo apt-get install checkinstall :)
            +3
            Я считаю что независимо от популярности компиляции из исходников уметь ей пользоваться необходимо всем пользователям Linux. Исходя из моих наблюдений, большинство начинающих пользователей убунту сталкиваются с исходниками которые нужно компилировать. Я с этим столкнулся почти сразу же после установки убунту: мой тогдашний провайдер использовал свою програму авторизации для доступа в сеть, а версии под Linux 64bit не было. Мало того, с исходным кодом программы авторизации не было даже make-файла!
            Также бывают случаи, когда даже существующий в репозитории пакет приходится пересобирать самому. Типичный пример - баг в gnome-ppp, который не давал программе сворачиваться в трей после установки соединения. Тут же и пригодится умение создавать deb-файлы из исходников (что можно сделать используя тот же checkinstall).
              +1
              Дома Генту, на работе Убунту.
              *Хоть названия и похожи но то что принцип совершенно разный думаю все в курсе :))
              Так вот, почему то по привычке постоянно на работе если надо чтото поставить собираю из исходников, благо дома дистфайлов гигабайт на 20. Мне этот путь кажется более правильным. Бинарные пакеты это конечно хорошо и быстро, но я почему что люблю полазить в gcc и по собирать систему ручками. И на то есть несколько моих субьективных:
              1. можно, хоть и порой не на много, оптимизировать приложение при компиляции.
              2. приложения в сорцах быстрее обновляются и есть всегда, наравне с rpm, но не deb
              3. true unix way ;) в компиляции проявляется сама философия линухи, таким его планировал Тордвальдс и таким он должен быть.
                +1
                1. опенофис с -O3 ?
                2. гм, не припомню такой софтины, который бы в репке дебиана не нашлось. а вот маскировка невинного kuickshow в генте меня убила.
                3. Когда торвальдс планировал все и всегда собирать из сырцов?
                  +1
                  1. Ну в этом конечно смысла нет, да и ставить офис не приходится так как он там есть.
                  2. Софтины бывают разные, некоторые пишутся на заказ;) стоит прочитать статью что бы понять что автор тоже сталкивался, да и каждый пользователь хоть раз да сталкнется с этой проблемой.
                  3. когда сказал фразу - Software like sex ;)
                    +1
                    1. где там? в третьем стейдже нету ОО. и вообще, тру-гентушники собирают систему со stage 1. так что офис тоже ручками :) кстати, не знаю как в генте с -O3, а вот во FreeBSD точно дает неслабый прирост производительности.
                    2. оно-то да, но если софтина писалась на заказ - вы ее дистфайл тоже не факт, что найдете.
                    3. Software is like sex - it's better when it's free (c ):)
                      +1
                      leave, как я понял вы считаете себя умнее. Пусть будет так, но в своих постах я писал про убунту везде, кроме фразы про мою домашнюю машину и обьем дистфайлов.
                      Просто знаете, есть такие люди, которые предпочитают ручную коробку, более быстрому и простому вариатору; ручной разгон и вольтмод, заводскому или упоси боже автоматическому разгону; предпочитают попросить официанта принести полтинник самбуки, стакан и коньячный, уже готовому коктейлю; примеров много, но смысл тот, что предпочитают делать ручками то, что можно сделать автоматически. Кто сказал что моя генту стоит из третьего стажа, или упоси господи гуевого инсталера? Ставилась она еще с 2005.1 в далеком уже 5 году. Просто почему то ручкам и консоле доверяю больше чем пакетам и гуйне, уж извините меня. А еще я предпочитаю FreeBSD а не PCBSD.
                      Тут дело немного в другом,не в том что круче тот кто больше делает руками, а кто как привык и кому как, субьективно, больше нравится, ибо профессионализм и прочее не написать в комментах и уж тем более не затроллить.
                        +1
                        Упаси боже считать себя умнее кого-то, не зная его реального уровня :) Я просто как-то подсознательно не люблю генту. Не знаю за что, но не испытываю к ней симпатии; хотя, например, слаку люблю и юзаю который год на древнем ноуте. Дело вкуса, не иначе.
                        Мир?
                          +1
                          Мир)
                          Сочтемся на Слаке, я ей тоже симпотизирую;)
                          Хотя убунту наравится тем, что за нее можно садить неподготовленного к линухе пользователя. Система готова к употреблению "из коробки". Хотя это утвеждение тоже спорно, есть у меня пара преданных федоре знакомых. Убунту всеже в некоторых местах/ситуациях незаменима.
                          З.ы. нам гентушнекам фсе пох, даже патрек нам не бох)
                • НЛО прилетело и опубликовало эту надпись здесь
                  +1
                  конечно редка - а про apt-build что никто не слышал ?
                    +1
                    а вы расскажите :-)
                  +1
                  Для убунты обычно помогает строка в гугл "Имя-программы for Ubuntu". Гугл в таких случаях обычно выдает линк на Убунтуфорумс, где и написано как и что про нужную софтину.
                    +2
                    Хорошая статья, сама неоднократно преобразовывала рпм пактеы в деб, хотя вообще-то это делать не рекомендуется, поскольку никто не дает гарантий что приложение будет корректно работать. И еще скачивая рпм пакеты, нужно быть готовым к тому, что установленный пакет захочет еще кучу зависимых пакетов, именно поэтому при установке новых приложений, рекомендуется пользоваться синаптиком.
                      +1
                      После неудачных поисков deb-пакета на официальном сайте возможно имеет смысл посмотреть на getdeb.net, поисковики часто на него меня отправляют =)
                        +1
                        Может я поступил и не совсем Ъ, но подключил себе репозиторий GetDeb'а. Жить стало несколько проще :)
                          +1
                          А где можно найти полные пути к репозитариям getdeb'а?
                            +1
                            deb http://ubuntu.org.ua/ getdeb/
                            в гугл! :)
                              0
                              А сейчас этот репозиторий сдох?
                        +2
                        На деле при установке из исходников лучше выполнять следующее:
                        ./configure && make && sudo checkinstall
                        Отличие от описанного ./configure && make && make install в том, что после make собирается deb-пакет, который сразу же устанавливается. После checkinstall пакет находится в текущем каталоге и может быть использован для повторной установки. Кроме того при создании пакета (внимательно читаем что пишут в консоли) если возможность указать зависимости, что так же заметно облегчает жизнь при повторной установке.

                        Плюсы такого подхода в том, что установленные приложения управляются Synaptic/aptitude и не требуют исходников для удаления (make uninstall).

                        Кроме того существует утилита dpkg-buildpackage, предназначенная уже больше для разработчиков. Мануал к ней можно найти тут: http://www.penguin-soft.com/penguin/man/1/dpkg-source.html
                          +1
                          ... && sudo checkinstall
                          <... /> Да, да, да! Именно то, что я искал :) Ловите плюс в карму.
                          0
                          Зачем пугать пользователя компиляцией? У Ubuntu (и Debian) одна из лучших систем пакетов. Лучше бы рассказали преимущества пакетов, над инстралляторами:
                          1. Отсутствие вообще всяких вопросов пользователю. Поставил галочку и всё установилось.
                          2. Гарантия совместимости версий ПО из официального репозитария.
                          3. Гораздо меньший размер из-за того, что библиотеки скачиваются только одни раз.
                          4. Автоматическое обновление всего софта.
                            +2
                            Есть одно "но", про которое пользователи Linux сейчас забывают и это может сыграть с ними злую шутку.

                            Никогда и ни при каких условиях не скачивайте пакеты из официальных источниках, даже getdeb.net нельзя доверять. Использование хешей тоже не всегда спасает. Кастомные пакеты пользователей, размещенные на неофициальных ресурсах могут содержат трояны, бекдоры, да что угодно. Похоже, что люди это не совсем понимают и в скором времени это возможно будет панацеей всего программного обеспечения с открытым кодом.

                            Следите за безопасностью системы.
                              +1
                              Не панацеей, а бичом или проклятьем, наверное?
                                +1
                                Именно так ;) только проснулся и давай комментарий писать... думаю мой сонный мозг суть моего возмущения все-же раскрыл.
                                  +1
                                  Да, смысл ясен, но веселее от того не становится: ведь рядовой пользователь и в исходнике не найдёт закладки.
                                +1
                                Никогда и ни при каких условиях не скачивайте пакеты из официальных источниках
                                Наверное, имелись в виду неофициальные источники? Уж с сайта создателя софта можно поди скачать? :)
                                  +1
                                  да, это так! читайте выше мой комментарий про сонный мозг ;)
                                +1
                                По моему невозможно описать сборку программ из исходников
                                Это настоящее искуство, разве что только основные приёмы. (не считая порты BSD, Gentoo и другие)
                                плюсаните плиз, до ноля, хочу пост добавить, но неверные заминусовали, черти
                                  +1
                                  Как раз сборку-то описать как плюнуть, а вот правильно создать все необходимое для сборки, в основном Makefile - уже сложнее.
                                    +1
                                    Соберите тогда для разминки/развлечения ffmpeg со всеми кодеками (за вычетом amr*), в частности, с поддержкой libfaad2 и libfaac ;)
                                  +2
                                  .deb конечно хорошо и удобно, но вот например такие вещи как MPplayer или VLC лучше все-таки компилировать, например, .deb пакет MPlayer'а из офф. репозитория собран без аппаратной поддержки, а это одна из сильных сторон MPlayer'а. Да и поддержку HD не в каждом пакете найдешь. Я уже не говорю о ядре.
                                    +1
                                    Это спорный вопрос. Возможно включение аппаратной поддержки приведет к увеличению производительности у вас и к полному отказу в работе приложения у других. Такие моменты должны быть вынесены в архитектуру приложения. Либо аппаратная поддержка включается на уровне библиотеки и галочки в меню, либо с помощью системы плагинов. Если разработчик этого не предусмотрел, а просто рекомендовал собрать код с нужным флагом, который как я уже говорил может работать у одних и приводить к отказу у других, то в таком случае у майнтейнера пакета нет выбора при сборке пакета. Его задача сделать так чтобы код работал на 100% кол-ве хостов.
                                      +1
                                      Согласен, но потому-то по дефолту такая функция и отключена, а суть остается. Если мне нужна аппаратная поддержка, то .deb пакет меня не устраивает.
                                        +4
                                        Как вы думаете, зачем в apt/source.lst есть строчик ^deb-src
                                        Вызможно вы забыли или не в курсе про возможности через APT собираеть пакеты самостоятельно
                                        рекомендую посмотреть опции apt-get
                                        То что про это не написал авторо, очень досадно
                                        Необходимо писать продолжение
                                          +1
                                          может вы напишите? я очень примерно представляю что это. :)
                                          был бы очень благодарен.
                                            +1
                                            меня неверные заминусовали
                                            за излишнее к ним пренебрежение
                                      +1
                                      Меня только одно останавляивает от собственноручной компиляции и установки (make install) программ в Ubuntu.

                                      Я искренне, честно и неподдельно не знаю как их правильно и быстро потом удалять — вручную обыскивать файловую систему и пытаться выдрать кусочки этой установленной программы порой очень не хочется. А оставлять мусор в системе не позволяет совесть...

                                      Поэтому пользуюсь в только официальными и getdeb.net пакетами.
                                        +2
                                        Хорошим тоном будет целиком ставить приложения, которые не идут в форме .deb пакета в папку /opt. Для этого есть директива --prefix. У меня так и сделано. Для этого папка opt(optional) и была придумана в свое время.
                                          +1
                                          аналогично :)
                                            +1
                                            Спасибо за информацию, мои знания Линукс, к сожалению, фрагментарны, спасибо, что помогаете мне сделать их более целостными.
                                            +2
                                            можно в папке с исходниками, там, где делали make&&make install потом набрать make uninstall :)
                                              +1
                                              Благодарствую, не буду впредь избегать компиляции из исходников.
                                                +1
                                                всегда пожалуйста :)
                                                +1
                                                а со всеми ли исходниками это будет работать корректно?
                                                  +1
                                                  в большинстве случаев да, в любом случае, с исходниками поставляются файлы типа INSTALL или README, и там наверняка будет описано, как избавится от программного обеспечение, если Вас оно не устраивает :)
                                              +1
                                              alien помоему надо запускать из под рута
                                                +1
                                                а про apt-get и apt-cache можно? И вообще про репизитарии
                                                  +1
                                                  не понимаю в чём собственно проблема. В гугле куча документации, в т.ч. и русской, хорошая статьи по apt и репозитариям лежат на citkit:

                                                  http://citkit.ru/articles...
                                                  http://citkit.ru/articles...

                                                  Вообще, apt-get уже неактуален, советуют использовать aptitude, который к тому же имеет консольный графический интерфейс.
                                                    +1
                                                    да у меня проблем то нет. я маны читать умею.

                                                    А почему лучше aptitude, если гуй не учитывать?
                                                      +1
                                                      Про это можно прочитать тут
                                                    +1
                                                    apt-get это уже старье. даже каноникал говорила что лучше юзать aptitude Онолучше разрешает зависимости, да и удобнее в использовании

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

                                                  Самое читаемое