Куда устанавливаются программы в linux
Перейти к содержимому

Куда устанавливаются программы в linux

  • автор:

В какую папку устанавливаются программы

В Windows программы устанавливаются в C:\Program Files .

В Ubuntu пользовательские программы в большинстве случаев устанавливаются в директорию /usr, но программа находится не в одной папке, а разделена на части:

/usr/bin — исполняемые файлы программ
/usr/sbin — исполняемые файлы программ, которые запускаются с правами администратора
/usr/games — исполняемые файлы некоторых игр
/usr/lib — библиотеки программы
/usr/share — остальные файлы программы

Некоторые разработчики программ предпочитают установку в директорию /opt не разделяя файлы программы.

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

Время от времени появляются новые задачи, либо необходимость в решении старых задач новыми способами — тогда возникает потребность в дополнительном программном обеспечении. Данная статья рассказывает, что делать, если вам нужна новая программа для 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 имя_пакета

Через aptitude аналогично.

Установка программ с собственным инсталлятором из файлов 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, и подходит для установки программ отсутствующих в репозиториях.

sudo apt-get install auto-apt

Переходим в папку с распакованными исходниками и командуем:

sudo auto-apt update && auto-apt -y run ./configure

Команда auto-apt сама доставит необходимые пакеты для сборки, и позволит задавать меньше вопросов.

Создание deb пакета для более простой работы в дальнейшем, (установка, удаление, и прочее):

Куда устанавливать пользовательские приложения в Linux?

Куда вы обычно и почему устанавливаете пользовательские приложения в Linux, которые устанавливаются посредством распаковывания архива и копирвания содержимого?

  • Вопрос задан более трёх лет назад
  • 9456 просмотров

Комментировать
Решения вопроса 0
Ответы на вопрос 8
В /opt/$softname/
Ответ написан более трёх лет назад
Нравится 4 2 комментария
samarkad33 @samarkad33 Автор вопроса
почему не в /usr/local?

В основном потому, что cd /opt набрать быстрее, чем cd /usr/local (=

/opt — Дополнительное программное обеспечение

karabanov

Александр Карабанов @karabanov Куратор тега Linux
Системный администратор
Ответ написан более трёх лет назад
Комментировать
Нравится 2 Комментировать
Таким способом только в /opt
www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/o.
Ответ написан более трёх лет назад
Комментировать
Нравится 2 Комментировать

Mystray

Если цельный пакет со своей структурой каталогов, то в /opt/$pkg_name/ (потом удобно удалить/обновить скопом если что), если самодельный скрипт/ресурс, то в соответствующее место /usr/local/*/

Ответ написан более трёх лет назад
Комментировать
Нравится 2 Комментировать

xarek1986

Ответ написан более трёх лет назад
Нравится 1 2 комментария
samarkad33 @samarkad33 Автор вопроса
почему не в /opt/$softname/ ?

xarek1986

samarkad33: чаще всего, архивы с ПО устроены как FHS, т. е со своим bin, lib, etc, засовывать в PATH каждую распакованную программу лень, а /usr/local/bin и так находится в PATH. В /opt есть смысл складывать тех, кто не придерживается FHS (Eclipse например)

Очень интересный вопрос. Нигде не встречал подробных описаний с примерами по данному вопросу. Я всегда распаковывал такие приложения внутри своей домашней директории (например, внутри /home/ttyigor/programs). В чем минус такого способа установки?

Ответ написан более трёх лет назад
Нравится 1 3 комментария

К примеру, мне нужно установить java. Я скачиваю архив jre-7u7-linux-x64.tar.gz, распаковываю его в /home/ttyigor/programs/jre1.7.0_07, добавляю исполняемые файлы в PATH. Какие могут быть проблемы при таком способе установки, и чем установка java в /opt/jre1.7.0_07 будет лучше?

ttyigor: Если исполняемые файлы доступны на запись обычному пользователю — это потенциальная дыра в безопасности, так что им в /home не место.

PS Кстати я бы ставил в /opt/jre (без указания версии). Обновлять будет удобнее.

Спасибо, вроде теперь понятно. И еще: если за компьютером работает несколько пользователей, и каждому нужно использовать одну и ту же программу, то при установке /home для каждого пользователя нужно будет ставить копию этой программы. Налицо нерациональное использование места на hdd 🙂

Куда устанавливаются программы в Ubuntu

Многих новичков, недавно установивших Linux и только начавших разбираться в устройстве этой замечательной операционной системы, как и меня, в свое время, интересует вопрос: куда же устанавливаются программы в Ubuntu, да и вообще, в любом дистрибутиве Linux. Файловая система Linux очень сильно отличается от Windows и это в первое время сбивает с толку.

Мы привыкли, что все программы и их файлы в Windows находятся в системном каталоге Program Files и System32, или если не в нем, то хотя бы в одном из подкаталогов. Но в Linux все намного сложнее. Здесь файлы программ, как правило, распределены по всей файловой системе. Так куда устанавливаются программы в Linux? Как найти все файлы программы? Как удалять ненужные программы? Все это мы рассмотрим в данной статье.

Куда устанавливаются программы в Ubuntu

Здесь не все так просто. Чтобы ответить на этот вопрос сначала нужно разобраться в особенностях файловой системы Linux и способах установки программ. В корневой файловой системе Linux каждая папка предназначена для хранения определенного типа файлов, эти правила со временем менялись, да и сейчас меняются в зависимости от дистрибутива, но основные папки остаются одни и те же. В папке /bin (Binary — двоичный) — хранятся исполняемые файлы, /lib — подключаемые библиотеки, /usr — ресурсы и данные программ, это могут быть переводы, картинки и т д, в /var — временные данные, логи, кэши, /etc — конфигурационные файлы.

Большинство программ, устанавливаемых с помощью стандартного пакетного менеджера распределяются по файловой системе в эти папки. Вам, наверное, интересно, как система определяет какие файлы куда копировать. Она и не определяет, это задает разработчик во время сборки пакета. Попробуйте открыть deb пакет как архив. Кроме служебных информационных файлов, касающихся установки вы там увидите структуру папок напоминающую корневую ФС Linux, это и определяет какие файлы где будут находиться. В последнее время грань четкого разделения файлов по папкам немного стерлась, появились папки /usr/bin для исполняемых файлов, а кэш некоторые программы вообще хранят в домашней папке пользователя, но традиционные Linux сервисы, такие как Samba, Apache, Ngnix и многие другие четко придерживаются стандартной структуры.

Давайте разберем на примере как распределяется программа в файловой системе. Возьмем, например, тот же сервер apache. Чтобы узнать куда были скопированы файлы программы воспользуемся утилитой dpkg.

www-servers/apache-2.2.31 (/usr/sbin/apache2)
www-servers/apache-2.2.31 (/etc/init.d/apache2)
www-servers/apache-2.2.31 (/etc/logrotate.d/apache2)
www-servers/apache-2.2.31 (/var/cache/apache2)
www-servers/apache-2.2.31 (/usr/lib64/apache2)
www-servers/apache-2.2.31 (/usr/share/apache2)
www-servers/apache-2.2.31 (/etc/apache2)
www-servers/apache-2.2.31 (/usr/include/apache2)
www-servers/apache-2.2.31 (/etc/conf.d/apache2)
www-servers/apache-2.2.31 (/var/log/apache2)

Как видите, все файлы на своих местах.

Но из этого правила есть исключения. Например, многие проприетарные программы и игры устанавливаются полностью в одну папку, так же как и в Windows. Для таких программ есть папка /opt. Посмотрим, например, на Crossover:

sudo dpkg -s crossover-bin

Обычно такой вид установки используют программы, устанавливаемые скриптами в формате .run. Есть еще один вид программ — те, которые собираются из исходников и устанавливаются командой make install. Так программы лучше не устанавливать, потому что файлы, как и в первом случае, распределяются по всей системе, но в этот раз уже без ведома пакетного менеджера. Конечно¸ вы всегда сможете удалить программу командой make uninstall, но нет гарантий что вы не удалите исходники и скрипт очистки не оставит в системе много лишних файлов, которые потом будет трудно найти. Как правильно устанавливать программы из исходников можете посмотреть в статье установка программ из tar.gz

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *