Где находятся исполняемые файлы linux

Куда Linux ставит программы. Коротко о файловой системе Linux.

Файловая система Linux очень сильно отличается от того, к чему привык пользователь Windows. Тут нет привычных дисков с их буквенным обозначением и нет папки Program Files.

Файловая система Линукс располагает папки по типу дерева, которое идет от некого корня.

И главное, любая папка может физически находится на другом диске, как логическом, так и физическом.

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

Надо быть справедливым, такая возможность есть и у Виндоувс, и правильно так поступать(расскажу, если кто не знает), да и всякие свои файлы и программы обычно люди ставят на другой, не системный диск.

И так, мы отвлеклись. Каждая папка Linux хранит свой тип файлов:

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

/dev это папка файлов устройств, да в Линуксе каждое устройство это файл.

/media сюда монтируются съемные носители

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

/usr вот в эту папку идут все программы пользователя. Там содержаться и исполняемые файлы, и библиотеки и прочее.

Когда вы скачиваете установочный пакет, то он представляет из себя архив с файлами программы и файл, который указывает установщику, куда положить эти файлы. Существует четкое распределение файлов по папкам, но последнее время, это не всегда так.

/usr/bin — сюда помещаются исполняемые файлы программ

usr/lib — а здесь библиотеки, которые нужны программе

usr/sbin — сюда помещаются исполняемые файлы от имени администратора

/usr/share — прочие файлы программ

Как я писал выше, что существует правило распределения файлов, но оно не всегда соблюдается.

/opt ряд программ устанавливается в эту папку, там создаеться папка программы, в которой все ее файлы, по типу, как это происходит в виндоувс. Изначально это папка для установки проприетарных программ.

Но некоторые программы «идут еще дальше и , как сказать, ставят себя в папку /home/имя_пользователя/opt

Узнать, куда разместились файлы программы можно командой:

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

Источник

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

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

Читайте также:  Открыть папку через командную строку linux

Мы привыкли, что все программы и их файлы в 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:

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

Читайте также:  Alt linux посмотреть версию

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

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Есть дистрибутивы, они разные в разных места установки разные, всем заведует менеджер пакетов 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)

Источник

Как узнать путь до исполняемого файла в Linux?

Как в Linux узнать путь до исполняемого файла? В виндовс, например, на ярлыке или в bin/app.exe можно через свойство посмотреть Интересуюсь с целью создавать *.desktop ярлыки для заполнениями ими рабочего стола 🗔, так как способ «добавить в избранное» мне не подходит и получается рабочий стол пустой 😔

Для создания *.desktop нет необходимости указывать полный путь. Посмотрите примеры в /usr/share/applications

3 ответа 3

Я по факту могу найти приложение в диспетчере приложений, можно ли как-то оттуда взять этот путь? Или лучше и правильнее поискать путь к .exe в папках типа как в Windows —> C/Program FIles/app_folder/bin/app.exe ?

Внизу слева есть кнопка «Показать приложения», я про это имел в виду, оттуда бы как-то брать пути, там же ярлыки и их на рабочий стол хочу закидывать : )

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

pgrep | while read pid; do echo -ne "$pid\t"; readlink -f /proc/$pid/exe; done 

Например, вывод для исполняемого процесса gopls (сервер go для VS Code):

pgrep gopls | while read pid; do echo -ne "$pid\t"; readlink -f /proc/$pid/exe; done 30880 /mnt/drive2/home2/user/go/bin/gopls 

Набрав в командной строке

whereis locates the binary, source and manual files for the specified command names. The supplied names are first stripped of leading pathname components and any (single) trailing extension of the form .ext (for example: .c) Prefixes of s. resulting from use of source code control are also dealt with. whereis then attempts to locate the desired program in the standard Linux places, and in the places specified by $PATH and $MANPATH.

Источник

Как найти исполняемый файл, с помощью простой команды, в Linux

Когда-нибудь случилось со мной не помню Каталог или путь установки любой Утилита или инструмент, который вы установили ранее в Linux, или возможно маршрут некоторых команда собственный Система. Вы в конечном итоге работать с так много различные дистрибутивы Это становится моментом в который смешивает некоторые с другими.

Обычно вы идете к папке обычный, которые часто встречаются такие приложения, и, как правило, быть там, но в других случаях, на сегодняшний день этот взгляд, путь установки для приложения-это мы устойчива к и ему не удалось дать с ним.

Чтобы решить эту проблему, Существует команда который. Это команда довольно простой То, что расположен в исполняемый файл на вашей системе. Это позволяет передавать, как параметры, одно или несколько имен для поиска и делает его через настроенные маршруты в переменная среды $ПУТЬ.

Предположим, что мы хотим, чтобы искать где сделать установку MySQL. Для этого, Мы выполняем следующие, получение соответствующего ответа:

Источник

Оцените статью
Adblock
detector