Как найти где установлена программа linux

Sys-Admin Forum

Loading

Вот простой пример. Я скачал chrome и теперь не знаю как его запустить через терминал. Насколько я знаю, нужно найти

chrome --> bin --> fail.sh

Но как найти где папка chrome?
Перепыл всю систему не пойму. В windows просто нажал правой кнопкой и свойства и там путь…
Что я не так делаю?

задан 21 янв 2016 в 10:39

Sirop4ik's user avatar

Sirop4ikSirop4ik

10.7k17 золотых знаков59 серебряных знаков126 бронзовых знаков

1

Вообще, запускаемый файл браузера Chrome называется google-chrome или google-chrome-stable. Найти полный путь к запускаемому файлу можно командой:

which <имя файла>
which google-chrome-stable

При условии, что файл находится в одной из папок, перечисленных в переменной окружения $PATH. Если это не так, найти его можно командой

find / -name <имя файла>

Но тогда и запустить его из консоли можно будет только как

/full/path/to/<имя файла>

Последняя команда найдет файл по имени, даже если он не запускаемый, если хватит прав.

aleksandr barakin's user avatar

ответ дан 21 янв 2016 в 11:24

andy.37's user avatar

2

Чаще всего хватает

whereis файл

Но если не находит, то можно поискать обычным способом

find / -name chrome

На моей убунте он установлен в /opt/google/chrome

ответ дан 21 янв 2016 в 10:43

Monoceros's user avatar

MonocerosMonoceros

2942 серебряных знака11 бронзовых знаков

2

Just to add some point to @djsumdog’s answer, if you are using DPKG based dist, like Ubuntu, you can use

dpkg --status some_package

to check what it is about, and

dpkg --listfiles some_package

to check what files are included/relevant to this package. It’s for packages that don’t have a binary to run, like libnss3. And

dpkg --search some_file

to find what package includes this file.

For example, dpkg --listfiles libnss3 gives me:

/.
/usr
/usr/lib
/usr/lib/i386-linux-gnu
/usr/lib/i386-linux-gnu/libssl3.so
/usr/lib/i386-linux-gnu/nss
/usr/lib/i386-linux-gnu/nss/libsoftokn3.chk
/usr/lib/i386-linux-gnu/nss/libnssckbi.so
/usr/lib/i386-linux-gnu/nss/libnsssysinit.so
/usr/lib/i386-linux-gnu/nss/libfreebl3.chk
/usr/lib/i386-linux-gnu/nss/libnssdbm3.chk
/usr/lib/i386-linux-gnu/nss/libnssdbm3.so
/usr/lib/i386-linux-gnu/nss/libsoftokn3.so
/usr/lib/i386-linux-gnu/nss/libfreebl3.so
/usr/lib/i386-linux-gnu/libnssutil3.so
/usr/lib/i386-linux-gnu/libsmime3.so
/usr/lib/i386-linux-gnu/libnss3.so
/usr/share
/usr/share/doc
/usr/share/doc/libnss3
/usr/share/doc/libnss3/copyright
/usr/share/doc/libnss3/changelog.Debian.gz
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/libnss3

Note that the folders are not only owned by this packages, but by others too. Just check the files.

And reversely, dpkg --search libnss3.so gives me:

firefox: /usr/lib/firefox/libnss3.so
thunderbird: /usr/lib/thunderbird/libnss3.so
libnss3:i386: /usr/lib/i386-linux-gnu/libnss3.so
libnss3-1d:i386: /usr/lib/i386-linux-gnu/libnss3.so.1d

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

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

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

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

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

dpkg -s apache

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.

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

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

    • 0.1 Найти место установки программы Linux Ubuntu
    • 0.2 Синтаксис команд
    • Использование 0.3
    • 0.4 Синтаксис команд
    • Использование 0.5
    • 0.6 Синтаксис команд
    • Использование 0.7
    • 0.8 Как найти путь к команде в Linux
    • 0.9, который
    • 0.10 где

Как узнать, где установлена ​​программа Linux Ubuntu. В этом посте объясняется, как найти путь к команде в Linux. В Ubuntu найдите путь к приложению — найдите, где установлен пакет Ubuntu Linux.

Найдите место, где установлена ​​программа Linux Ubuntu

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

Синтаксис команды


dpkg-query -L APPLICATION-NAME

Применение


dpkg-query -L firefox

Для пункта меню, содержащего пакет, найдите файл в / usr / share / menu в выводе dpkg-query:

Синтаксис команды


dpkg-query -L APPLICATION-NAME | grep /usr/share/menu

Применение


dpkg-query -L firefox | grep /usr/share/menu

В этом файле вы должны найти «section =». Строка после этого текста должна указывать, где в системе меню вы найдете ссылку на приложение.

dpkg — это менеджер пакетов для Debian. dpkg — это инструмент для установки, сборки, удаления пакетов Debian и управления ими. Основным и более удобным интерфейсом для dpkg является aptitude. Сам dpkg полностью управляется параметрами командной строки, которые состоят из одного действия и нуля или более параметров. Параметр действия сообщает dpkg, что делать, а параметры каким-то образом управляют поведением действия. dpkg также можно использовать как интерфейс для dpkg-deb и dpkg-query.

Вы также можете попробовать:

Синтаксис команды


aptitude show APPLICATION-NAME

Применение


aptitude show firefox

Как найти путь к команде в Linux

Вы можете использовать команду which и whereis, чтобы найти путь к команде в Linux Ubuntu. Используя эти команды, вы можете найти путь к приложению — найти, где установлен пакет Ubuntu Linux.

который

который используется для поиска команды. который возвращает пути к файлам (или ссылкам), которые были бы выполнены в текущей среде, если бы его аргументы были заданы как команды в строго совместимой с POSIX оболочке. Это делается путем поиска в PATH исполняемых файлов, соответствующих именам аргументов. Он не переходит по символическим ссылкам.

Синтаксис команды:

which [-a] filename

Он использует параметр: -a — этот параметр может выводить все совпадающие имена пути для каждого аргумента.

где

Команда whereis используется для поиска двоичных файлов, файлов исходного кода и файлов справочной страницы для команды. whereis находит двоичные файлы, исходные файлы и файлы руководства для указанных имен команд. Предоставленные имена сначала удаляются из начальных компонентов имени пути и любого (единственного) завершающего расширения формы .ext (например: .c) Префиксы s. в результате использования контроля исходного кода также рассматриваются. Затем whereis пытается найти нужную программу в стандартных местах Linux и в местах, указанных в $ PATH и $ MANPATH.

Синтаксис команды:

whereis [options] [-BMS directory... -f] filename

Ограничения поиска (параметры -b, -m и -s) являются кумулятивными и применяются к последующим шаблонам имен в командной строке. Любое новое ограничение поиска сбрасывает маску поиска. Например:

whereis -bm ls tr -m gcc

выполняет поиск двоичных файлов и справочных страниц «ls» и «tr», а также только справочных страниц «gcc». Параметры -B, -M и -S сбрасывают пути поиска для последующих шаблонов имен. Например:

whereis -m ls -M /usr/share/man/man1 -f cal

выполняет поиск man-страниц «ls» по всем путям по умолчанию, но «cal» только в каталоге / usr / share / man / man1.

Не путайте с командой «найти». ‘Find’ выполняет поиск в дереве каталогов, основанном на каждом имени файла FILE, оценивая ВЫРАЖЕНИЕ для каждого файла, который он находит в дереве. Командная строка может начинаться с параметров «-H», «-L», «-P», «-D» и «-O». За ними следует список файлов или каталогов, в которых следует выполнить поиск. Если файлы для поиска не указаны, используется текущий каталог (‘.’).

За этим списком файлов для поиска следует список выражений, описывающих файлы, которые мы хотим найти.

Оригинал статьи

  • # находить
  • # установлен
  • # линукс
  • # программа
  • # Убунту
  • # куда

Понравилась статья? Поделить с друзьями:
  • Как составить план открытого занятия
  • Как найти классные стихи
  • Как найти на флешке файл по дате
  • Как найти тормозной путь по графику
  • Как составить жалобу на интернет магазин в случае недокомплекта