Определить местоположение назначения apt-get install <package>?

Для некоторых приложений достаточно просто определить, где было установлено приложение, используя команду "which". Однако некоторые приложения, такие как Tomcat, мне немного не по силам найти.

Я прошу конкретную методологию, которая может быть применена к любой установке apt-get, чтобы определить, куда установлены двоичные файлы, библиотеки и файлы поддержки.

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

Вы можете выполнить команду dpkg -L package чтобы перечислить все файлы в пакете. Например dpkg -L ubuntu-minimal будет перечислена только пара небольших файлов, связанных с упаковкой, поскольку это всего лишь пустой мета-пакет, который зависит от других пакетов.

dpkg -L tomcat7

вероятно, это то, чего вы хотите.

Вы можете перечислить содержимое установленного пакета с помощью dpkg команда, представляющая собой низкоуровневую команду управления пакетами, которую APT tools вызывает внутренне:

dpkg -L tomcat7

Возможно, вы захотите выполнить поиск в выходных данных; используйте grep команда. Например, чтобы просмотреть файлы конфигурации (которые находятся под /etc):

dpkg -L tomcat7 | grep /etc

Файлы, которые вы хотите изменить, могут находиться в зависимостях от основного tomcat7 пакет. Поиск внутри пакета и его зависимостей более сложен. Вполне вероятно, что файлы, которые вы ищете, находятся в каком-то пакете, называемом tomcat7-something. Самый простой способ отобразить их - с помощью apt-file команда, которая не установлена по умолчанию (установите ее с помощью apt-get install apt-file).

apt-file list tomcat7

apt-file перечисляет имена файлов во всех пакетах Ubuntu (в соответствии с включенными вами источниками пакетов), независимо от того, установлены они или нет. Вы также можете использовать его для поиска файла:

$ apt-file search RequestInfoExample.javatomcat7-examples: /usr/share/tomcat7-examples/examples/WEB-INF/classes/RequestInfoExample.java

То, что я обычно делаю, это:

  • Запустите Synaptic (сначала вам нужно будет его установить)

  • найдите интересующий меня пакет

  • щелкните правой кнопкой мыши, выберите пункт Свойства

  • просмотр списка установленных файлов

Обратите внимание, что вскоре после этого я нашел, где установлен tomcat7, установив apache2, а затем посетив страницу по умолчанию @ localhost:8080, но на этой странице показано больше, чем показано. Поиск в файловой системе с помощью опции “поиск:” в браузере папок обнаружил еще много чего.

Также информативно: Как найти путь к приложению из командной строки?