Содержание
Время от времени появляются новые задачи, либо необходимость в решении старых задач новыми способами — тогда возникает потребность в дополнительном программном обеспечении. Данная статья рассказывает, что делать, если вам нужна новая программа для Ubuntu.
В Ubuntu, как и в других операционных системах, есть понятие зависимостей. Это значит, что программу можно установить, только если уже установлены пакеты, от которых она зависит. Такая схема позволяет избежать дублирования данных в пакетах (например, если несколько программ зависят от одной и той же библиотеки, то не придётся пихать эту библиотеку в пакет каждой программы — она поставится один раз отдельным пакетом). В отличие от, например, Slackware или Windows, в Ubuntu зависимости разрешаются пакетным менеджером (Synaptic, apt, Центр приложений, apt-get, aptitude) — он автоматически установит зависимости из репозитория. Зависимости придётся устанавливать вручную, если нужный репозиторий не подключен, недоступен, если нужного пакета нет в репозитории, если вы ставите пакеты без использования пакетного менеджера (используете Gdebi или dpkg), если вы устанавливаете программу не из пакета (компилируете из исходников, запускаете установочный run/sh скрипт).
Установка из репозиториев
Репозиторий - место централизованного хранения пакетов программного обеспечения. Использование репозиториев позволяет упростить установку программ и обновление системы. Пользователь волен выбирать, какими репозиториями будет пользоваться, и даже может создать собственный. Список используемых репозиториев содержится в файле /etc/apt/sources.list
и в файлах каталога /etc/apt/sources.list.d/
, проще всего его посмотреть через специальное приложение, которое можно вызвать через главное меню: Система→Администрирование→Источники Приложений, или через Менеджер пакетов Synaptic.
Если вы не добавляли локальные репозитории (например, CD/DVD диски), то для установки программ из репозиториев вам понадобится интернет.
У такого метода установки программ есть масса преимуществ: это просто удобно, вы устанавливаете уже протестированные программы, которые гарантированно будут работать на вашей системе, зависимости между пакетами будут решаться автоматически, при появлении в репозитории новых версий установленных программ вас об этом проинформируют.
С использованием графического интерфейса
Выберите Система → Администрирование → Менеджер пакетов Synaptic и получите более функциональный инструмент для работы с пакетами. В частности вы можете например устанавливать программы частично, если вам, например, не нужна документация или еще что-то. Запустите программу Менеджер пакетов Synaptic Система→Администрирование→Менеджер пакетов Synaptic. По запросу введите свой пароль. В запустившейся программе нажмите кнопку «Обновить», подождите, пока система обновит данные о доступных программах.
В списке доступных программ сделайте двойной клик на нужной программе (либо клик правой кнопкой - пункт «Отметить для установки»). После того, как все нужные программы помечены для установки, нажмите кнопку «Применить». Подождите, пока необходимые пакеты будут скачаны и установлены. Схожие функции выполняет программа "Установка и удаление приложений" её можно легко найти в меню Приложения→Установка/удаление…
С использованием командной строки
Установка из командной строки позволяет получить больше информации о процессе установки и позволяет гибко его настраивать, хотя и может показаться неудобной начинающему пользователю.
Запустите терминал. Обновить данные о доступных в репозиториях программах можно командой:
sudo apt-get update
По запросу введите пароль. Учтите, что при вводе в терминале пароль не отображается, ни звёздочками, ни кружками, никак. Это нормально. Для установки нужной программы введите команду:
sudo apt-get install имя-программы
Например:
sudo apt-get install libsexymm2
Если нужно установить несколько программ, то их можно перечислить через пробел, например:
sudo apt-get install libsexymm2 nmap
Если потребуется - ответьте на задаваемые вопросы (для положительного ответа нужно ввести Y или Д). Программа будет установлена, если она уже установлена - она будет обновлена.
К сожалению не все программы входят в основные репозитории Ubuntu. Поэтому вам придется вручную подключать необходимые репозитории с нужными вам программами или пакетами, для этого вы можете воспользоваться статьей: Подключение репозитория. Или же попытаться найти необходимую информацию по установке, на официальном сайте программы.
Для поиска программы в списке доступных пакетов воспользуйтеcь командами:
sudo apt-cache search keyword
где keyword - название программы, часть названия программы или слово из её описания.
Установка определенной версии пакета
Ищем нужную версию пакета:
apt-cache showpkg имя_пакета
Устанавливаем нужную версию пакета:
apt-cache showpkg имя_пакета
apt-get install имя_пакета=версия
Установка из deb-пакета
Если нужной программы нет в основном репозитории, и у автора программы нет своего репозитория, либо если репозитории недоступны (например, нет интернета), то программу можно установить из deb-пакета (скачанного заранее/принесённого на USB накопителе/…). Если deb-пакет есть в официальном репозитории, то его можно скачать с сайта http://packages.ubuntu.com. Часто deb-пакет можно скачать с сайта самой программы. Можно также воспользоваться поиском на сайте http://getdeb.net. Минус такого подхода - менеджер обновлений не будет отслеживать появление новых версий установленной программы.
С использованием графического интерфейса
Перейдите при помощи Nautilus в папку, где находится deb-пакет, откройте свойства файла (правая клавиша → Свойства), во вкладке «Права» разрешите выполнение файла (галочка у «Разрешить исполнение файла как программы»). Далее закрываем свойства файла, и по двойному щелчку Nautilus предложит нам открыть код или выполнить файл. Запускаем. Либо возможно это сделать специальным установщиком GDebi (установить можно из Центра приложений, вписав в поиск GDebi, либо вписав в командную строку:
sudo apt-get install GDebi
После установки запускаем deb-пакет с помощью установщика программ GDebi все, что от вас потребуется - это просто нажать кнопку «Установить пакет».
Возможные ошибки
- Пакет не может быть установлен. Например, он предназначен для другой архитектуры.
- В системе отсутствуют необходимые устанавливаемому приложению пакеты. В таком случае «Установщик программ GDebi» автоматически попытается получить нужные пакеты из репозиториев. Или же вы можете самостоятельно скачать требуемые пакеты и установить их.
С использованием командной строки
Запустите терминал (Меню: Приложения - Стандартные - Терминал). Установка выполняется с помощью программы dpkg
sudo dpkg -i /home/user/soft/ntlmaps_0.9.9.0.1-10_all.deb
Нужно будет ввести свой пароль. Не забывайте, что при вводе в терминале пароль не отображается. Заметьте, что при использовании dpkg нужно ввести полное имя файла (а не только название программы). Прочитайте, что dpkg выводит в терминал - там будет либо сообщение об успешной установке, либо описание ошибки (например, неудовлетворённые зависимости). Можно одной командой установить сразу несколько пакетов, например, следующая команда установит все deb-пакеты в директории:
sudo dpkg -i /home/user/soft/ntlmaps_*.deb
Это бывает полезно для установки пакета программы вместе с пакетами зависимостей.
Запрет обновления пакета
Бывает когда ненужно ставить версию пакета новее установленной. К примеру отсутствует поддержка чего либо в новой версии либо, она не корректно работает на системе.
Через dpkg
В терминале:
sudo echo 'имя_пакета hold' | sudo dpkg --set-selections
имя пакета берется из команды, которой вы ставили этот пакет. Чтобы разрешить обновлять делаем так:
echo 'имя_пакета install' | sudo dpkg --set-selections
Смотрим статус пакета:
dpkg --get-selections | grep 'имя_пакета'
Через apt
Здесь все проще. Чтобы заблокировать пакет:
sudo apt-mark hold имя_пакета
Чтобы разблокировать пакет:
sudo apt-mark unhold имя_пакета
Установка программ с собственным инсталлятором из файлов sh, run
Иногда программы могут распространяться с собственным инсталлятором. Это ничем не отличается от ситуации в Windows. Только здесь, распаковав tar.gz архив с дистрибутивом программы, вы вместо setup.exe увидите что-то наподобие install.sh. Это заранее собранный пакет ПО, который оформлен в виде скрипта или бинарника, он берёт на себя работу по размещению файлов в нужных местах и прописыванию нужных параметров. При этом пропадает возможность управлять таким ПО с помощью пакетного менеджера. Пользоваться такими пакетами нежелательно, но если выбора нет, то переходим в директорию с файлом, например:
cd ~/soft
Разрешаем выполнять этот файл:
chmod +x install.sh
Запускаем его:
sudo ./install.sh
Иногда программу можно установить и без прав суперпользователя (без sudo
), но это, скорее, исключение.
Иногда дистрибутив программы распространяется в виде самораспаковывающегося архива. В таком случае это будет просто один единственный файл .sh который и нужно запустить. Дальше вы просто получите мастер где нужно будет ответить на ряд вопросов, так же как это делается в Windows. Так устанавливаются официальные драйверы nVidia, ATI, среда разработчика NetBeans и т.п.
Есть программы, которые не нуждаются в инсталляции и распространяются в виде обычного архива tar.gz, который просто достаточно куда-то распаковать. В Windows также есть такие программы, их еще часто называют словом Portable. Устанавливать такие программы не требуется, достаточно распаковать в любое место, но стандартное место обычно - это каталог /opt. Конечно, пункты на запуск в меню вам придется добавлять вручную, для этого нужно щелкнуть правой кнопкой по заголовку меню Программы и выбрать Правка меню.
Установка из исходников
Если для вашей системы нигде нет deb-пакетов, то программу можно собрать (скомпилировать) самому из исходных кодов, которые можно скачать на официальном сайте любой Open Source программы либо из source-репозитория дистрибутива.
Я рекомендую по возможности избегать этого способа установки программ. Основное, что вам понадобится - это средства для компиляции, для этого сначала нужно установить пакет build-essential. Дальше, нужно распаковать архив с кодами программы в какую-то временную папку. Потом нужно найти файл README или INSTALL, прочитать его и выполнить то, что там написано. Чаще, установка программ таким способом ограничивается последовательным выполнением следующих команд:
./configure make sudo make install
Но в некоторых случаях могут быть отличия. Кроме того, после выполнения скрипта ./configure вы можете получить сообщение о том, что в системе не установлено библиотек нужных для компиляции программы. В таком случае нужно будет установить их самому и повторить процесс. Обычно процесс компиляции занимает определенное время и напрямую зависит от мощности вашего компьютера.
Вот так. Желательно, конечно, по возможности избегать установки программ не с помощью deb-пакетов, то есть другие способы не рекомендуются. Однако их нужно знать, чтобы не запутаться в потоке информации.
Автоматическая установка зависимостей при сборке из исходников
Такой тип установки лучше чем просто ./configure && make && make install, и подходит для установки программ отсутствующих в репозиториях.
Ставим auto-apt:
sudo apt-get install auto-apt
Переходим в папку с распакованными исходниками и командуем:
sudo auto-apt update && auto-apt -y run ./configure
Команда auto-apt сама доставит необходимые пакеты для сборки, и позволит задавать меньше вопросов.
Создание deb пакета для более простой работы в дальнейшем, (установка, удаление, и прочее):
checkinstall -D