Как найти куда установлен пакет

куда установлен пакет

Модератор: Bizdelnick

Аватара пользователя

vg2.0

Сообщения: 832
Статус: *BSD admin ;)
ОС: *BSD =)

куда установлен пакет

Подскажите, пожалуйста, как узнать в какие директории установлени пакет (из портов, исходников), (т.е. полный путь) после установки, а то где-то находил вовремя не записал, а теперь обыскался не могу найти.

Заранее спасибо.

FreeBSD 6-stable
FreeBSD 5.5-stable

Аватара пользователя

clx

Сообщения: 3121
Статус: Think Different !
ОС: Mac OS X

Re: куда установлен пакет

Сообщение

clx » 16.09.2005 15:40

Для vg2.0:
А проверить трудно ?
example:

Код: Выделить всё

[~] whereis mc
mc: /usr/bin/mc /usr/lib/mc /usr/X11R6/bin/mc /usr/bin/X11/mc /usr/share/mc /usr/share/man/man1/mc.1.gz
[~]

iMac 20″ Core Duo.

Аватара пользователя

vg2.0

Сообщения: 832
Статус: *BSD admin ;)
ОС: *BSD =)

Re: куда установлен пакет

Сообщение

vg2.0 » 16.09.2005 15:43

Большое спасибо.

А проверить трудно ?

Просто у меня нет под рукой ни Linux’а ни FreeBSD.

FreeBSD 6-stable
FreeBSD 5.5-stable

Аватара пользователя

flook

Сообщения: 585
Статус: Просто flook

Re: куда установлен пакет

Сообщение

flook » 16.09.2005 16:10

(clx @ Пятница, 16 Сентября 2005, 14:25) писал(а):man whereis

Это для команды! Например whereis coreutils ниче не вернет. Куда ложится пакет это ИМХО от дистриба зависит. Или я не так что-то понял?

В каждом из нас спит гений… и с каждым днем все крепче…

Аватара пользователя

clx

Сообщения: 3121
Статус: Think Different !
ОС: Mac OS X

Re: куда установлен пакет

Сообщение

clx » 16.09.2005 16:11

Для flook:
Бывает, что зависит. Я не понял тебя, чего не вернет?
whereis показывает, где лежат файлы нужной тулзы.

iMac 20″ Core Duo.

Аватара пользователя

flook

Сообщения: 585
Статус: Просто flook

Re: куда установлен пакет

Сообщение

flook » 16.09.2005 16:14

(clx @ Пятница, 16 Сентября 2005, 15:11) писал(а):Для flook:
Бывает, что зависит. Я не понял тебя, чего не вернет?
whereis показывает, где лежат файлы нужной тулзы.

Whereis просто грепает по стандартным путям заданое имя, чуть покуроченное. В инфу о пакетах она не лезет. В asplinux ls лежит в пакете coreutils. whereis coreutils не показывает ниодного файла.

В каждом из нас спит гений… и с каждым днем все крепче…

Аватара пользователя

t.t

Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: куда установлен пакет

Сообщение

t.t » 16.09.2005 17:19

(flook @ Пятница, 16 Сентября 2005, 15:14) писал(а):Whereis просто грепает по стандартным путям заданое имя, чуть покуроченное. В инфу о пакетах она не лезет. В asplinux ls лежит в пакете coreutils. whereis coreutils не показывает ниодного файла.

Вот именно. whereis ни малейшего отношения к пакетам не имеет; начиная с того, что некоторые одноимённые утилиты могут быть установлены из разных пакетов (или вообще не из пакетов) и заканчивая тем, что действительно она смотрит далеко не все каталоги (например, в /var тоже может чего-ньть установиться).

А правильный ответ зависит от дистрибутива; точнее, от пакетного менеджера. Для dpkg это dpkg -L имя-пакета, для rpm — rpm -ql имя-пакета.

¡иɯʎdʞ ин ʞɐʞ ‘ɐнɔɐdʞǝdu qнεиж

Аватара пользователя

polachok

Бывший модератор
Сообщения: 2199
Статус: главный форумный маргинал
ОС: gnu/linux
Контактная информация:

Re: куда установлен пакет

Сообщение

polachok » 16.09.2005 18:23

/var/db/pkg/$PKGNAME/+CONTENTS

polachok добавил в 16.09.2005 18:23

pkg_info -L

И немедленно выпил.

Аватара пользователя

clx

Сообщения: 3121
Статус: Think Different !
ОС: Mac OS X

Re: куда установлен пакет

Сообщение

clx » 16.09.2005 18:45

Для t.t:
Чем это неправильно? Человек просил — куда установился пакет. Команда whereis покажет куда он установился.

iMac 20″ Core Duo.

Аватара пользователя

flook

Сообщения: 585
Статус: Просто flook

Re: куда установлен пакет

Сообщение

flook » 16.09.2005 19:04

(clx @ Пятница, 16 Сентября 2005, 17:45) писал(а):Для t.t:
Чем это неправильно? Человек просил — куда установился пакет. Команда whereis покажет куда он установился.

Возьми и скажи whereis ls. По идее с ним в одном пактет идет еще и cat :) Найдет?

В каждом из нас спит гений… и с каждым днем все крепче…

Аватара пользователя

Valerius

Бывший модератор
Сообщения: 1469
Статус: Отпетый КДЕ’шник

Re: куда установлен пакет

Сообщение

Valerius » 16.09.2005 19:09

Для clx: whereis не показывает куда ставится пакет, точнее файлы пакета! Он только найдёт несколько файлов с задаными именами и больше ничего, а пакет обычно содержит намного больше файлов, больше того, может даже не содержать файлов с именами похожими на имя пакета.
Короче, смотри man whereis.

Свобода есть тонкая полоска между диктатурой и анархией.

———————
Mandriva Linux PowerPack 2006 (Cooker-нутая) / KDE-3.5.1

Аватара пользователя

alv

Бывший модератор
Сообщения: 7268
Статус: Пенсионер в законе
ОС: Cintu
Контактная информация:

Re: куда установлен пакет

Сообщение

alv » 16.09.2005 19:16

как верно было замечено, размещение файлов пакетов, устанавливаемых штатными средствами, штатными же средствами и определяется
я в Free обычно просто просматриваю
less /usr/ports/audio/lame/pkg-plist
для примера, другие способы привел polachok
в других системах — другие средства

99% пакетов, собираемых из исходников вручную, устанавливается (если не задать префикс при конфигурировании) в подкаталоги /usr/local — bin, sbin, lib и т.д. Куда именно что — нужно смотреть Makefile

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, интересуюсь всем, что связано с информационными технологиями и современной наукой.

#
7 лет назад

Темы:

8

Сообщения:

20

Участник с: 14 мая 2016

в вики не вижу у пакама ключей как найти пакет который уже установился а точнее куда он установился. КАк вообще можно узнать. Мне конкретно надо узнать где лежить Eclipse, но может потом еще пригодится. какаята есть команда (не find) , гдето видел так люди на форумах искали Java-home папку, чтобы узнать какую переменную сделать для java-home, я вот только не помню её, ну а вдруг пакетный менеджер умеет это делать… кто знает?

indeviral

#
7 лет назад

Темы:

39

Сообщения:

3199

Участник с: 10 августа 2013

pacman -Ql

Ошибки в тексте-неповторимый стиль автора©

zotkindm

#
7 лет назад

Темы:

70

Сообщения:

570

Участник с: 21 мая 2014

Как вариант заходишь в

/var/cache/pacman/pkg/

ищешь свой пакет открываешь архиватором, и вуаля, вся структура перед глазами.

kompot

#
7 лет назад

Темы:

8

Сообщения:

20

Участник с: 14 мая 2016

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

vadik

#
7 лет назад

Темы:

55

Сообщения:

5430

Участник с: 17 августа 2009

zotkindm
Как вариант заходишь в

Если уж вручную, то лучше в /var/lib/pacman/local/название_пакета, а там уже в файлике с названием files прописаны все пути куда и что устанавливалось (кроме хомяка конечно). Потому как кеш может и пустым оказаться. )

danil

#
6 лет, 10 месяцев назад

Темы:

3

Сообщения:

32

Участник с: 04 марта 2016

а чем вас не устраивает такой вариант?

whereis pkg_name

kurych

#
6 лет, 10 месяцев назад

Темы:

0

Сообщения:

1394

Участник с: 06 ноября 2011

danil
а чем вас не устраивает такой вариант?

whereis pkg_name

А потому что сам сравни вывод, например

whereis systemd

и

pacman -Ql systemd

Независимо от того, являетесь ли вы ветераном Linux или только начинаете с Linux, вы, должно быть, использовали apt-get или видели, как он где-то использовался. Это основной способ установки пакетов и зависимостей в Ubuntu. Проще говоря, apt-get — лучший выбор каждого пользователя Linux, когда он хочет установить программное обеспечение на свой компьютер. Возникает новый вопрос — куда apt-get устанавливает эти пакеты? Куда деваются файлы и как к ним получить доступ? В этом руководстве мы найдем ответы на эти вопросы.

Структура файловой системы Ubuntu

Прежде чем мы углубимся в технические детали вопроса, давайте начнем с получения базовых знаний о стандарте иерархии файловой системы, известном как FHS. Все дистрибутивы Linux получают свою структуру каталогов и содержимое из стандарта иерархии файловой системы. Мы кратко рассмотрим некоторые части, которые имеют решающее значение для понимания того, где находятся пакеты установки apt-get и почему.

FHS не считается авторитетом в области структуры и содержимого каталогов абсолютно для каждого дистрибутива Linux, но, как правило, это наиболее распространенный стандарт разметки файлов. Все каталоги и файлы в FHS появляются в «/» — корневом каталоге. Давайте взглянем на некоторые часто используемые каталоги.

  • Каталог / bin содержит основные двоичные файлы команд.
  • Каталог / dev содержит файлы устройств.
  • В каталоге / etc есть файлы конфигурации для конкретного хоста.
  • Папка / home содержит личные настройки пользователя и сохраненные файлы.

Некоммерческая организация, известная как Linux Foundation, поддерживает стандарт иерархии файловой системы, и последнее обновление (версия 3.0) было сделано 3 июня 2015 года.

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

Управление пакетами

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

В Ubuntu (и Debian) dpkg — это менеджер пакетов, который использует большинство людей. Вы можете управлять пакетами с расширениями .deb через dpkg. Обсуждение этой утилиты имеет отношение к нашей теме, поскольку мы будем использовать ее для поиска пакетов установки apt-get. «Aptitude» — это более удобный способ использования dpkg, поскольку он обеспечивает интерфейс для пользователей. Давайте посмотрим, как dpkg работает в Ubuntu, его синтаксис и как вы можете использовать его, чтобы узнать, где apt-get устанавливает пакеты.

Общий синтаксис этой команды следующий.

$ dpkg[действия]

Другой распространенный метод использования:

$ dpkg[опции] имя файла

Вы можете установить пакет в вашей системе Linux, выполнив следующую простую команду dpkg.

$ dpkg имя пакета

Мы поймем, как можно использовать dpkg и apt-get для установки пакетов, и узнаем, где устанавливаются пакеты, в следующих разделах.

Как работает apt-get?

К этому моменту мы все знаем, что apt-get можно использовать для установки, удаления и обновления пакетов Linux. Мы также узнали, что он служит интерфейсом для dpkg, собственной утилиты управления пакетами для Ubuntu и Debian. Но как это на самом деле работает? А что происходит с файлами, которые он устанавливает? Давайте выясним!

Начнем с установки тестового пакета под названием ack. Для этого мы воспользуемся apt-get, а позже проследим установленные им файлы до их конкретных мест.

Идите вперед и запустите новое окно терминала через меню «Действия» или нажмите Ctrl + Alt + T на клавиатуре. Следующий шаг — убедиться, что у вас добавлен репозиторий мультивселенной. Без этого вы не сможете установить ack. Очевидно, что вы можете использовать любой другой пакет по вашему выбору.

Итак, чтобы добавить репозиторий, выполните следующую команду в Терминале.

$ судо мультивселенная apt-add-repository

Как только это будет решено, мы перейдем к установке пакета.

$ судоapt-get install подтверждать

(Обратите внимание, что вместо ack-grep был установлен ack. Вот почему мы будем изменять следующие выполняемые команды)

Установка будет завершена в течение нескольких секунд. Сделав это, мы исследуем пакет с помощью нашего диспетчера пакетов dpkg. Мы узнаем, где были установлены файлы пакета и как получить к ним доступ.

Вспомните общий синтаксис команды dpkg, который мы описали в предыдущих разделах. Здесь мы будем использовать вариант этой команды для вывода списка файлов в установленном пакете.

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

$ dpkg-L подтверждать

Как вы можете видеть на изображении, все файлы, установленные менеджером пакетов, показаны вместе с их адресами на компьютере.

В дополнение к этому, некоторые файлы создаются или изменяются сценариями pre / postrm и pre / postinstall, включенными в установленный пакет. Вы можете просмотреть эти сценарии в следующем каталоге.

/вар/lib/dpkg/Информация

Дополнительная информация

Теперь, когда мы рассмотрели основную часть учебника, мы добавим дополнительную информацию для тех, кому интересно узнать больше.

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

$ dpkg-Икс имя пакета

Вы также можете получить такие файлы, как preinst, postrm, postinst и другие, с помощью команды, приведенной ниже.

$ dpkg-e имя пакета

Это также извлечет указанные файлы в текущий каталог.

Вывод

На этом мы завершаем данное руководство. Сегодня мы узнали несколько вещей об apt-get. Мы видели стандарт иерархии файловой системы, как работает менеджер пакетов Ubuntu и, наконец, как мы можем найти, куда apt-get устанавливает пакеты.

Понравилась статья? Поделить с друзьями: