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

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

  • автор:

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

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

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

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

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

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

Читал статью что программы устанавливаются в корневой раздел «/» но потом нашел другую информацию что устанавливаются в «/home» в линукс сообществе в вк, так куда?

mts88
21.09.20 13:20:57 MSK
1 2 →

Как мэйнтейнеру пакета в голову стукнет.

phoen ★★
( 21.09.20 13:22:33 MSK )
Последнее исправление: phoen 21.09.20 13:22:43 MSK (всего исправлений: 1)

Те что из репозитария ставятся в /, сторонние если юзер хочет может поставить в /home или в /.

MaxPower ★★
( 21.09.20 13:24:43 MSK )

обычно, пакеты из репозиториев помещают исполняемые файлы в /usr/bin или /usr/local/bin, вспомoгательные файлы программ хранятся в /usr/lib, /usr/share, /home и т.д. Сторонние программы могут устанавливаться целиком в /opt

hikari ★
( 21.09.20 13:31:36 MSK )

Если вкратце, то куда угодно.

Vsevolod-linuxoid ★★★★★
( 21.09.20 13:33:23 MSK )

нормальные пакеты равномерно размазываются по файловой системе, а всё остальное — куда угодно.

xfilx ★★
( 21.09.20 13:46:44 MSK )
Ответ на: комментарий от xfilx 21.09.20 13:46:44 MSK

кстати, а какой смысл в таком равномерном размазывании?

Egor_ ★
( 21.09.20 14:16:35 MSK )
Ответ на: комментарий от hikari 21.09.20 13:31:36 MSK

пакеты из репозиториев помещают исполняемые файлы в /usr/bin или /usr/local/bin

Вообще-то нет. В /usr/local идёт самосбор. Из пакетов туда вообще не ставят в нормальной ситуации.

AS ★★★★★
( 21.09.20 14:20:26 MSK )
AS ★★★★★
( 21.09.20 14:21:36 MSK )

Что за дистрибутив у тебя? Вообще куда угодно могут устанвливаться, тут грань между системными и прикладными программами стерта и при установке «размазывается» по дереву (хотя бывают и исключения).

Kolins ★★★★
( 21.09.20 14:24:04 MSK )
Ответ на: комментарий от Egor_ 21.09.20 14:16:35 MSK

чтобы не искать конфиг и исполняемый файл в новой жопе очередного изобретательного разработчика?

anonymous
( 21.09.20 14:24:45 MSK )
Ответ на: комментарий от Egor_ 21.09.20 14:16:35 MSK

«Так исторически сложилось» ?

Kolins ★★★★
( 21.09.20 14:25:53 MSK )
Ответ на: комментарий от Egor_ 21.09.20 14:16:35 MSK

кстати, а какой смысл в таком равномерном размазывании?

leave ★★★★★
( 21.09.20 14:30:42 MSK )

Есть дистрибутивы, они разные в разных места установки разные, всем заведует менеджер пакетов apt в Debian, pacman в Arch, dnf в Fedora и так далее, соотвецтвенно форматы пакетов разные. Достаточно знать как пользоваться менеджером в любимом тебе дистрибутиве и всё.

Чаще всего программы устанавливаются в /usr/bin/ или в /usr/local/bin есть пользовательские каталоги для этого в особых случаях ~/.local/bin/ например. Сторонее проприетарное ПО или же то которое не хочется совать в систему ставят уже руками в /opt/ На самом деле вариантов ещё много, у каждой цели установки свой смысл, просто иди и где то читай про это. И да порой конечно есть излишества.

В любом случае если не городить что-то самому то используй менеджер пакетов который в 99% случаев всё ставить в /usr/bin/ Что бы те было понятнее usr это User System Resources почти program files как в винде, только там один каталог где всё в кашу, а тут есть ещё дополнительное дробление и всё на свои полочки кидается и если знаешь что для чего всегда заранее знаешь что и где искать.

Есть ещё /bin это системные программы наиболее важные для функционирования системой. (Не совсем так, но считай так и есть)

Что бы ещё было понятнее, есть разные типы файлов в одной программе картинки, документация, примеры, конфигурационные фалйы, библиотеки и исполняемые файлы, при установке всё это расфасовывается не в 1 место, а в разные в зависимости от типа файла и его предназначения. И программа установленная как бы интегрируется с системой, сливается с ней в одно целое, а не как в винде в отдельном каталоге всё в кучу. И у того и у того есть и минусы и плюсы.

LINUX-ORG-RU ★★★★★
( 21.09.20 14:38:57 MSK )
Последнее исправление: LINUX-ORG-RU 21.09.20 14:39:42 MSK (всего исправлений: 1)

Куда устанавливаются программы в 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.

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

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

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

Комментировать
Решения вопроса 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 🙂

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

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