Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:установка_программ [2011/03/31 22:01] [Установка программ с собственным инсталятором из файлов sh, run] |
wiki:установка_программ [2019/06/17 15:43] [Установка программ с собственным инсталлятором из файлов sh, run] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== Установка программ ====== | ====== Установка программ ====== | ||
- | Время от времени появляются новые задачи либо необходимость в решении старых задач новыми способами — тогда возникает потребность в дополнительном программном обеспечении. Данная статья рассказывает, что делать, если вам нужна новая программа для [[об_ubuntu|Ubuntu]]. | + | Время от времени появляются новые задачи, либо необходимость в решении старых задач новыми способами — тогда возникает потребность в дополнительном программном обеспечении. Данная статья рассказывает, что делать, если вам нужна новая программа для [[Ubuntu]]. |
- | В Ubuntu, как и в других операционных системах, есть понятие **зависимостей**. Это значит, что программу можно установить, только если уже установлены пакеты, от которых она зависит. Такая схема позволяет избежать дублирования данных в пакетах (например, если несколько программ зависят от одной и той же библитеки, то не придётся пихать эту библиотеку в пакет каждой программы — она поставится один раз отдельным пакетом). В отличие от, например, Slackware или Windows, в Ubuntu зависимости разрешаются пакетным менеджером (Synaptic, apt, Центр приложений, aptitude) — он автоматически установит зависимости из [[репозиторий|репозитория]]. Зависимости придётся устанавливать вручную, если нужный репозиторий не подключен, недоступен, если нужного пакета нет в репозитории, если вы ставите патеты без использования пакетного менеджера (используете Gdebi или dpkg), если вы устанавливаете программу не из пакета (компилируете из исходников, запускаете установочный run/sh скрипт). | + | В Ubuntu, как и в других операционных системах, есть понятие **зависимостей**. Это значит, что программу можно установить, только если уже установлены пакеты, от которых она зависит. Такая схема позволяет избежать дублирования данных в пакетах (например, если несколько программ зависят от одной и той же библиотеки, то не придётся пихать эту библиотеку в пакет каждой программы — она поставится один раз отдельным пакетом). В отличие от, например, Slackware или Windows, в Ubuntu зависимости разрешаются пакетным менеджером (Synaptic, apt, Центр приложений, apt-get, aptitude) — он автоматически установит зависимости из [[репозиторий|репозитория]]. Зависимости придётся устанавливать вручную, если нужный репозиторий не подключен, недоступен, если нужного пакета нет в репозитории, если вы ставите пакеты без использования пакетного менеджера (используете Gdebi или dpkg), если вы устанавливаете программу не из пакета (компилируете из исходников, запускаете установочный run/sh скрипт). |
- | + | ||
- | **Установка программ в Ubuntu возможна несколькими способами:** | + | |
- | - [[#Установка из репозиториев]] | + | |
- | - [[#Установка из deb-пакета]] | + | |
- | - [[#Установка из исходников]] | + | |
===== Установка из репозиториев ===== | ===== Установка из репозиториев ===== | ||
Строка 19: | Строка 14: | ||
==== С использованием графического интерфейса ==== | ==== С использованием графического интерфейса ==== | ||
- | Выберите Система -> Администрирование -> Менеджер пакетов Synaptic и получите более функциональный инструмент для работы с пакетами. В частности вы можете например устанавливать программы частично, если вам например не нужна документация или еще что-то. | + | Выберите Система -> Администрирование -> Менеджер пакетов Synaptic и получите более функциональный инструмент для работы с пакетами. В частности вы можете например устанавливать программы частично, если вам, например, не нужна документация или еще что-то. |
Запустите программу [[wiki:synaptic|Менеджер пакетов Synaptic]] //Система->Администрирование->Менеджер пакетов Synaptic//. По запросу введите свой пароль. В запустившейся программе нажмите кнопку "Обновить", подождите, пока система обновит данные о доступных программах. | Запустите программу [[wiki:synaptic|Менеджер пакетов Synaptic]] //Система->Администрирование->Менеджер пакетов Synaptic//. По запросу введите свой пароль. В запустившейся программе нажмите кнопку "Обновить", подождите, пока система обновит данные о доступных программах. | ||
Строка 30: | Строка 25: | ||
Запустите [[терминал]]. Обновить данные о доступных в репозиториях программах можно командой: | Запустите [[терминал]]. Обновить данные о доступных в репозиториях программах можно командой: | ||
- | <code>sudo aptitude update</code> | + | <code>sudo apt-get update</code> |
По запросу введите пароль. Учтите, что при вводе в терминале пароль не отображается, ни звёздочками, ни кружками, никак. Это нормально. Для установки нужной программы введите команду: | По запросу введите пароль. Учтите, что при вводе в терминале пароль не отображается, ни звёздочками, ни кружками, никак. Это нормально. Для установки нужной программы введите команду: | ||
- | <code>sudo aptitude install имя-программы</code> | + | <code>sudo apt-get install имя-программы</code> |
Например: | Например: | ||
- | <code>sudo aptitude install libsexymm2</code> | + | <code>sudo apt-get install libsexymm2</code> |
Если нужно установить несколько программ, то их можно перечислить через пробел, например: | Если нужно установить несколько программ, то их можно перечислить через пробел, например: | ||
- | <code>sudo aptitude install libsexymm2 nmap</code> | + | <code>sudo apt-get install libsexymm2 nmap</code> |
Если потребуется - ответьте на задаваемые вопросы (для положительного ответа нужно ввести Y или Д). Программа будет установлена, если она уже установлена - она будет обновлена. | Если потребуется - ответьте на задаваемые вопросы (для положительного ответа нужно ввести Y или Д). Программа будет установлена, если она уже установлена - она будет обновлена. | ||
Строка 46: | Строка 41: | ||
Для поиска программы в списке доступных пакетов воспользуйтеcь командами: | Для поиска программы в списке доступных пакетов воспользуйтеcь командами: | ||
- | <code>sudo aptitude search keyword</code> | + | <code>sudo apt-cache search keyword</code> |
- | + | ||
- | либо | + | |
- | + | ||
- | <code>aptitude show keyword</code> | + | |
где keyword - название программы, часть названия программы или слово из её описания. | где keyword - название программы, часть названия программы или слово из её описания. | ||
- | Команда ''aptitude search'' обладает огромными неописанными здесь возможностями, кроме того, большинство возможностей ''aptitude'' здесь так же не рассмотрены. Если вы хотите научиться легко контролировать установленные в системе пакеты, читайте статьи по [[aptitude]] и [[apt|пакетному менеджеру Apt]]. | + | ===== Установка определенной версии пакета ===== |
- | Зачастую вместо ''aptitude'' в руководствах предлагается использовать ''apt-get'' - это стандартная утилита управления пакетами в Ubuntu, однако ''aptitude'' во-первых мощней, а во вторых, что самое главное, лучше справляется с разрешениями зависимостей. | + | Ищем нужную версию пакета: |
+ | <code>apt-cache showpkg имя_пакета</code> | ||
+ | Устанавливаем нужную версию пакета: | ||
+ | <code>apt-cache showpkg имя_пакета</code> | ||
+ | <code>apt-get install имя_пакета=версия</code> | ||
- | <note important>**В Ubuntu 10.10 aptitude по умолчанию отсутствует. Но ничто не мешает установить его.**</note> | ||
===== Установка из deb-пакета ===== | ===== Установка из deb-пакета ===== | ||
Если нужной программы нет в основном репозитории, и у автора программы нет своего репозитория, либо если репозитории недоступны (например, нет интернета), то программу можно установить из deb-пакета (скачанного заранее/принесённого на USB накопителе/...). Если deb-пакет есть в официальном репозитории, то его можно скачать с сайта [[http://packages.ubuntu.com]]. Часто deb-пакет можно скачать с сайта самой программы. Можно также воспользоваться поиском на сайте [[http://getdeb.net]]. | Если нужной программы нет в основном репозитории, и у автора программы нет своего репозитория, либо если репозитории недоступны (например, нет интернета), то программу можно установить из deb-пакета (скачанного заранее/принесённого на USB накопителе/...). Если deb-пакет есть в официальном репозитории, то его можно скачать с сайта [[http://packages.ubuntu.com]]. Часто deb-пакет можно скачать с сайта самой программы. Можно также воспользоваться поиском на сайте [[http://getdeb.net]]. | ||
Минус такого подхода - менеджер обновлений не будет отслеживать появление новых версий установленной программы. | Минус такого подхода - менеджер обновлений не будет отслеживать появление новых версий установленной программы. | ||
==== С использованием графического интерфейса ==== | ==== С использованием графического интерфейса ==== | ||
- | Перейдите при помощи [[wiki:Nautilus]] в папку, где находится deb-пакет, наведите курсор мыши на deb-пакет и щелкните два раза. Откроется "Установщик программ GDebi" все, что от вас потребуется - это просто нажать кнопку "Установить пакет". | + | Перейдите при помощи [[wiki:Nautilus]] в папку, где находится deb-пакет, откройте свойства файла (правая клавиша -> Свойства), во вкладке "Права" разрешите выполнение файла (галочка у "Разрешить исполнение файла как программы"). Далее закрываем свойства файла, и по двойному щелчку Nautilus предложит нам открыть код или выполнить файл. Запускаем. |
+ | Либо возможно это сделать специальным установщиком GDebi (установить можно из Центра приложений, вписав в поиск GDebi, либо вписав в командную строку: | ||
+ | <note>''sudo apt-get install GDebi''</note> | ||
+ | После установки запускаем deb-пакет с помощью установщика программ GDebi все, что от вас потребуется - это просто нажать кнопку "Установить пакет". | ||
**Возможные ошибки** | **Возможные ошибки** | ||
Строка 77: | Строка 73: | ||
Это бывает полезно для установки пакета программы вместе с пакетами зависимостей. | Это бывает полезно для установки пакета программы вместе с пакетами зависимостей. | ||
- | ===== Установка программ с собственным инсталятором из файлов sh, run ===== | + | ===== Запрет обновления пакета ===== |
+ | |||
+ | Бывает когда ненужно ставить версию пакета новее установленной. | ||
+ | К примеру отсутствует поддержка чего либо в новой версии либо, она не корректно работает на системе. | ||
+ | |||
+ | ==== Через dpkg ==== | ||
+ | |||
+ | В терминале: | ||
+ | <code>sudo echo 'имя_пакета hold' | sudo dpkg --set-selections </code> | ||
+ | имя пакета берется из команды, которой вы ставили этот пакет. | ||
+ | Чтобы разрешить обновлять делаем так: | ||
+ | <code>echo 'имя_пакета install' | sudo dpkg --set-selections</code> | ||
+ | Смотрим статус пакета: | ||
+ | <code>dpkg --get-selections | grep 'имя_пакета'</code> | ||
+ | |||
+ | ==== Через apt ==== | ||
+ | |||
+ | Здесь все проще. | ||
+ | Чтобы заблокировать пакет: | ||
+ | <code>sudo apt-mark hold имя_пакета</code> | ||
+ | Чтобы разблокировать пакет: | ||
+ | <code>sudo apt-mark unhold имя_пакета</code> | ||
+ | <note tip>Через aptitude аналогично.</note> | ||
+ | |||
+ | ===== Установка программ с собственным инсталлятором из файлов sh, run ===== | ||
- | Иногда программы могут распространяться с собственным инсталятором. Это ничем не отличается от ситуации в Windows. Только здесь, распаковав tar.gz архив с дистрибутивом программы, вы вместо setup.exe увидите что-то типа install.sh. | + | Иногда программы могут распространяться с собственным инсталлятором. Это ничем не отличается от ситуации в Windows. Только здесь, распаковав tar.gz архив с дистрибутивом программы, вы вместо setup.exe увидите что-то наподобие install.sh. |
Это заранее собранный пакет ПО, который оформлен в виде скрипта или бинарника, он берёт на себя работу по размещению файлов в нужных местах и прописыванию нужных параметров. При этом пропадает возможность управлять таким ПО с помощью пакетного менеджера. Пользоваться такими пакетами нежелательно, но если выбора нет, то переходим в директорию с файлом, например: | Это заранее собранный пакет ПО, который оформлен в виде скрипта или бинарника, он берёт на себя работу по размещению файлов в нужных местах и прописыванию нужных параметров. При этом пропадает возможность управлять таким ПО с помощью пакетного менеджера. Пользоваться такими пакетами нежелательно, но если выбора нет, то переходим в директорию с файлом, например: | ||
<code>cd ~/soft</code> | <code>cd ~/soft</code> | ||
Строка 90: | Строка 110: | ||
Иногда дистрибутив программы распространяется в виде самораспаковывающегося архива. В таком случае это будет просто один единственный файл .sh который и нужно запустить. Дальше вы просто получите мастер где нужно будет ответить на ряд вопросов, так же как это делается в Windows. Так устанавливаются официальные драйверы nVidia, ATI, среда разработчика NetBeans и т.п. | Иногда дистрибутив программы распространяется в виде самораспаковывающегося архива. В таком случае это будет просто один единственный файл .sh который и нужно запустить. Дальше вы просто получите мастер где нужно будет ответить на ряд вопросов, так же как это делается в Windows. Так устанавливаются официальные драйверы nVidia, ATI, среда разработчика NetBeans и т.п. | ||
- | Есть программы,которые не нуждаются в инсталляции и распространяются в виде обычного архива tar.gz, который просто достаточно куда-то распаковать. В Windows также есть такие программы, их еще часто называют словом Portable. Устанавливать такие программы можно куда-угодно, но стандартное место обычно - это каталог /opt. Конечно, пункты на запуск в меню вам придется добавлять вручную, для этого нужно щелкнуть правой кнопкой по заголовку меню Программы и выбрать Правка меню. | + | Есть программы, которые не нуждаются в инсталляции и распространяются в виде обычного архива tar.gz, который просто достаточно куда-то распаковать. В Windows также есть такие программы, их еще часто называют словом Portable. Устанавливать такие программы не требуется, достаточно распаковать в любое место, но стандартное место обычно - это каталог /opt. Конечно, пункты на запуск в меню вам придется добавлять вручную, для этого нужно щелкнуть правой кнопкой по заголовку меню Программы и выбрать Правка меню. |
===== Установка из исходников ===== | ===== Установка из исходников ===== | ||
Если для вашей системы нигде нет deb-пакетов, то программу [[programs_installation|можно собрать (скомпилировать) самому из исходных кодов]], которые можно скачать на официальном сайте любой [[http://www.opensource.org/|Open Source]] программы либо из source-репозитория дистрибутива. | Если для вашей системы нигде нет deb-пакетов, то программу [[programs_installation|можно собрать (скомпилировать) самому из исходных кодов]], которые можно скачать на официальном сайте любой [[http://www.opensource.org/|Open Source]] программы либо из source-репозитория дистрибутива. | ||
- | Я рекомендую по возможности избегать этого способа установки программ. Основное, что вам понадобится - это средства для компиляции, для этого сначала нужно установить пакет build-essential. Дальше, нужно распаковать архив с кодами программы в какую-то временную папку. Потом нужно найти файл README или INSTALL, прочитать его и выполнить то, что там написано. Чаще, установка программ таким способом ограничивается последовательным выполнениям следующих команд: | + | Я рекомендую по возможности избегать этого способа установки программ. Основное, что вам понадобится - это средства для компиляции, для этого сначала нужно установить пакет build-essential. Дальше, нужно распаковать архив с кодами программы в какую-то временную папку. Потом нужно найти файл README или INSTALL, прочитать его и выполнить то, что там написано. Чаще, установка программ таким способом ограничивается последовательным выполнением следующих команд: |
./configure | ./configure | ||
make | make | ||
Строка 101: | Строка 121: | ||
Но в некоторых случаях могут быть отличия. Кроме того, после выполнения скрипта ./configure вы можете получить сообщение о том, что в системе не установлено библиотек нужных для компиляции программы. В таком случае нужно будет установить их самому и повторить процесс. Обычно процесс компиляции занимает определенное время и напрямую зависит от мощности вашего компьютера. | Но в некоторых случаях могут быть отличия. Кроме того, после выполнения скрипта ./configure вы можете получить сообщение о том, что в системе не установлено библиотек нужных для компиляции программы. В таком случае нужно будет установить их самому и повторить процесс. Обычно процесс компиляции занимает определенное время и напрямую зависит от мощности вашего компьютера. | ||
- | Вот так. Желательно,конечно, по возможности избегать установки программ **не** с помощью deb-пакетов, то есть другие способы не рекомендуются. Однако их нужно знать чтобы не запутаться в потоке информации. | + | Вот так. Желательно, конечно, по возможности избегать установки программ **не** с помощью deb-пакетов, то есть другие способы не рекомендуются. Однако их нужно знать, чтобы не запутаться в потоке информации. |
+ | ===== Автоматическая установка зависимостей при сборке из исходников ===== | ||
+ | Такой тип установки лучше чем просто ./configure && make && make install, и подходит для установки программ отсутствующих в [[wiki:репозиторий|репозиториях]]. | ||
+ | |||
+ | Ставим auto-apt: | ||
+ | <code>sudo apt-get install auto-apt</code> | ||
+ | |||
+ | Переходим в папку с распакованными исходниками и командуем: | ||
+ | <code>sudo auto-apt update && auto-apt -y run ./configure</code> | ||
+ | |||
+ | Команда auto-apt сама доставит необходимые пакеты для сборки, и позволит задавать меньше вопросов. | ||
+ | |||
+ | Создание [[wiki:создание_deb_пакетов|deb пакета]] для более простой работы в дальнейшем, (установка, удаление, и прочее): | ||
+ | <code>checkinstall -D</code> | ||
===== Ссылки ===== | ===== Ссылки ===== | ||
Строка 108: | Строка 141: | ||
* [[создание_deb_пакетов|Сборка ПО и создание .deb-пакетов из исходников в Debian-системах (Ubuntu)]] | * [[создание_deb_пакетов|Сборка ПО и создание .deb-пакетов из исходников в Debian-системах (Ubuntu)]] | ||
* [[programs_installation|Компиляция и установка программ из исходников]] | * [[programs_installation|Компиляция и установка программ из исходников]] | ||
- | {{tag>HOWTO Система Установка Программа Пакет}} | + | {{tag>HOWTO Система Администрирование Программы}} |