Linux кому принадлежит пакет

Содержание
  1. Linux кому принадлежит пакет
  2. Как просмотреть подробную информацию о пакете в Linux
  3. Команда YUM: просмотр информации о пакете на системах RHEL и CentOS
  4. Команда YUMDB: просмотр информации о пакете на системах RHEL & CentOS
  5. Команда RPM: просмотр информации о пакете в системах RHEL / CentOS / Fedora
  6. Команда DNF: просмотр информации о пакете в системе Fedora
  7. Команда Zypper: просмотр информации о пакете на системе openSUSE
  8. Команда pacman: просмотр информации о пакете на Arch Linux и Manjaro
  9. Команда Apt-Cache: просмотр информации о пакете в системах Debian / Ubuntu / Mint
  10. Команда APT: просмотр информации о пакете в системах Debian / Ubuntu / Mint
  11. Команда dpkg: просмотр информации о пакете в системах Debian / Ubuntu / Mint
  12. Команда Aptitude: просмотр информации о пакете в системах Debian / Ubuntu / Mint
  13. Как в Linux узнать, в каком пакете содержится файл
  14. apt-file
  15. whichpkg
  16. auto-apt
  17. dlocate
  18. Заключение
  19. Какому пакету принадлежит файл в Linux
  20. Узнаем какому пакету принадлежит файл в dpkg
  21. Как узнать имя пакета по файлу в apt-file
  22. Узнаем какому пакету принадлежит файл в rpm
  23. Какому пакету принадлежит файл в ArchLinux
  24. Поиск пакета по файлу в Gentoo
  25. Выводы

Linux кому принадлежит пакет

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

Опция -qf позволяет использовать rpm для поиска информации о принадлежности указанного файла конкретному пакету. Основной синтаксис:

# rpm -qf путевое_имя_файла

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

# which grep

В данном примере определяется положение утилиты grep. Теперь можно определить принадлежность grep конкретному пакету.

# rpm -qf /bin/grep

Осталось объединить команды в одну средствами Linux:

# rpm -qf `which grep`

Если используется bash shell, имеется возможность использовать свойства этой оболочки:

# rpm -qf $(which grep)

Если файл не принадлежит пакету (а это пользовательские файлы, документы etc.), будет выведено сообщение:

# rpm -qf mail

file mail is not owned by any package

Одна из причин, почему команда rpm -qf довольно часто используется, это отсутствие связи между именами команд и именами пакетов, в которые они входят. Например:

Источник

Как просмотреть подробную информацию о пакете в Linux

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

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

Тот, кто придерживается командной строки, большую часть времени предпочитает менеджеров пакетов на базе CLI.

Основными менеджерами пакетов CLI для Linux являются Yum, Dnf, Rpm, Apt, Apt-Get, Deb, pacman и zypper.

В качестве системного администратора вы должны знать, откуда идут пакеты, какой репозиторий, версия пакета, размер пакета, выпуск, URL-адрес источника пакета, информация о лицензии и т. д.

Это поможет вам понять использование пакета простым способом, так как оно идет с описанием пакета.

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

Команда YUM: просмотр информации о пакете на системах RHEL и CentOS

YUM означает Yellowdog Updater, Modified – это утилита управления интерфейсом командной строки с открытым исходным кодом для RPM-систем, таких как Red Hat Enterprise Linux (RHEL) и CentOS.

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

Команда YUMDB: просмотр информации о пакете на системах RHEL & CentOS

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

Поскольку yum 3.2.26 yum начал хранить дополнительную информацию за пределами базы данных rpm (где пользователь указывает, что она была установлена пользователем, а dep означает, что она была введена как зависимость).

Команда RPM: просмотр информации о пакете в системах RHEL / CentOS / Fedora

RPM означает Red Hat Package Manager – мощная утилита управления пакетами для командной строки Red Hat, например, (RHEL, CentOS, Fedora, openSUSE & Mageia).

Утилита позволяет вам устанавливать, обновлять, удалять, запрашивать и проверять программное обеспечение на вашей системе Linux / сервере.

Файлы RPM поставляются с расширением .rpm. RPM-пакет, построенный с использованием требуемых библиотек и зависимостей, которые не конфликтуют с другими пакетами, были установлены в вашей системе.

Команда DNF: просмотр информации о пакете в системе Fedora

DNF означает Dandified yum.

Мы можем сообщить DNF, следующее поколение менеджера пакетов yum (Fork of Yum), используя библиотеку hawkey / libsolv для бэкэнд.

Aleš Kozumplík начал работать над DNF с Fedora 18 и, наконец, был реализован в Fedora 22.

Команда Dnf используется для установки, обновления, поиска и удаления пакетов в Fedora 22 и более поздних версиях системы.

Она автоматически разрешает зависимости и упрощает установку пакета без каких-либо проблем.

Команда Zypper: просмотр информации о пакете на системе openSUSE

Zypper – это менеджер пакетов в командной строке, который использует libzypp. Zypper предоставляет такие функции, как доступ к репозиторию, решение проблем, установка пакетов и т. д.

Команда pacman: просмотр информации о пакете на Arch Linux и Manjaro

Pacman означает утилиту диспетчера пакетов. pacman – простая утилита командной строки для установки, сборки, удаления и управления пакетами Arch Linux.

Pacman использует библиотеку libalpm (библиотека управления пакетами Arch Linux (ALPM)), чтобы выполнять все действия.

Команда Apt-Cache: просмотр информации о пакете в системах Debian / Ubuntu / Mint

Команда apt-cache может отображать большую часть информации, хранящейся во внутренней базе данных APT.

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

Команда APT: просмотр информации о пакете в системах Debian / Ubuntu / Mint

APT означает Advanced Packaging Tool (APT), который является заменой apt-get, например, как DNF появился вместо YUM.

Это многофункциональные средства командной строки, включающие все фьючерсы в одной команде (APT), такие как apt-cache, apt-search, dpkg, apt-cdrom, apt-config, apt-key и т. д,. и несколько других уникальных функций.

Например, мы можем легко установить пакеты .dpkg через APT, но мы не сможем выполнить через Apt-Get аналогичные дополнительные функции, включенные в команду APT. APT-GET заменен APT Из-за блокировки фьючерсов, отсутствующих в apt-get, которая не была решена.

Команда dpkg: просмотр информации о пакете в системах Debian / Ubuntu / Mint

dpkg означает менеджер пакетов Debian (dpkg).

dpkg – это инструмент командной строки для установки, сборки, удаления и управления пакетами Debian. dpkg использует Aptitude (первичный и более удобный) в качестве front-end для выполнения всех действий.

Другие утилиты, такие как dpkg-deb и dpkg-query, используют dpkg в качестве интерфейса для выполнения некоторых действий. В настоящее время большинство администраторов используют Apt, Apt-Get & Aptitude для управления пакетами без головной боли и ее надежного управления.

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

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

Команда Aptitude: просмотр информации о пакете в системах Debian / Ubuntu / Mint

aptitude – это текстовый интерфейс к пакетной системе Debian GNU / Linux.

Он позволяет пользователю просматривать список пакетов и выполнять задачи управления пакетами, такие как установка, обновление и удаление пакетов.

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

Источник

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

Если вы компилируете программы из исходных кодов, то вы, наверняка, сталкивались с ошибками компиляции, когда программа не находит какой-либо файл и компиляция обрывается. Что делать в данной ситуации? Понятно, что нужно установить пакет, который содержит требуемый файл. Но как узнать имя этого пакета?

Вполне возможно, что вас выручит Гугл, достаточно в строке поиска набрать что-нибудь вроде fatal error: ffi.h и уже в первых результатах поиска вы найдёте сайты с ответом на ваш вопрос. Это не самый хороший способ, поскольку:

  • если постоянно надеяться только на Google, то в конце-концов он подведёт;
  • обычно ссылки ведут нас на англоязычные сайты — а с иностранными языками в РФ так себе;
  • ну и, в конце-концов, это просто нубство.

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

apt-file

Эта программа предназначена для поиска файлов в пакетах. Также она может показать все файлы в пакете.

Сразу после установки кэш данных о программах пуст. Чтобы его обновить нужно выполнить команду (можно выполнять как от рута, так и от пользователя):

Когда всё готово, то поиск осуществляется так:

К примеру я ищу файл ffi.h:

Как можно увидеть файл найден, но кроме него ещё и много лишнего:

На помощь можно призвать умные регулярные выражения, к примеру в следующей строке замените ffi.h на тот файл, который вы ищите — и вы всегда будете получать самый точный результат:

Ну и для любителей графического интерфейса, вот вам от меня графический интерфейс:

Справка по команде apt-file

whichpkg

whichpkg — это единая оболочка для управления пакетами в Debian. Она является обёрткой вокруг apt, apt-cache, dpkg, aptitude и других. Её цель — простое управление пакетами из одного интерфейса путём унификации главных функций этих инструментов.

Как видно, показаны совпадения в установленных и в неустановленных пакетах. НО мой предыдущий фокус с фильтрацией командой grep здесь не работает.

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

auto-apt

Программа auto-apt предназначена для поиска пакетов по файлу и установке пакетов по требованию.

Инструмент auto-apt проверяет доступ к файлам запущенными программами внутри своего окружения, и если программа пытается получить доступ к файлу про который известно, что он принадлежит к неустановленному пакету, то auto-apt установит этот пакет используя apt-get. Эта функция требует рабочих apt и sudo.

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

После установки нужно обновить список пакетов следующей командой:

Поиск осуществляется так:

Лично у меня программа не сработала ни на одной из двух систем (на одной не смогла полностью загрузить файлы с содержанием пакетов, как следствие — поиск ничего не нашёл, на другой системе программа вообще ничего не стала загружать).

dlocate

dlocate является альтернативой dpkg -L и dpkg -S. Её преимуществом является более быстрый поиск, разные дополнительные функции вроде подсчёта занимаемого места, но… она ищет только по установленным пакетам — т. е. для целей, которые озвучены в начале заметки она неприменима.

Заключение

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

Источник

Какому пакету принадлежит файл в Linux

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

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

Для получения такой информации в Ubuntu есть несколько способов. Это стандартная утилита dpkg, которая работает только с существующими файлами, а также инструмент apt-file, позволяющий получить название программы зная имя исполняемого файла. Подобные инструменты есть и для других дистрибутивов.

Узнаем какому пакету принадлежит файл в dpkg

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

Теперь если хотим получить информацию о пакете, используем опцию -s:

Или объедением эти команды:

Как узнать имя пакета по файлу в apt-file

Утилита apt-file не является стандартной для системы Ubuntu, поэтому сначала ее нужно установить:

Затем нужно обновить базу данных программы, при обновлении загрузиться около 30 Мегабайт данных:

Теперь можно использовать:

Узнаем какому пакету принадлежит файл в rpm

В системах на базе Red Hat Linux тоже можно выполнить аналогичное действие. Здесь вместо dpkg используется консольная утилита rpm. Для получения информации о пакетах используется опция -q, если комбинировать ее с опцией -f и передать адрес файла, мы сможем узнать какому пакету принадлежит файл:

Хотите более подробной информации о пакете, добавьте опцию -i:

Пакетный менеджер yum, используемый в системах, основанных на Red Hat, тоже умеет искать пакеты по файлу, для этого есть команда whatpovides:

Какому пакету принадлежит файл в ArchLinux

ArchLinux использует собственный менеджер пакетов, очень сильно отличающийся от описанных выше. Но здесь тоже можно сделать то, что нам нужно. Для этого есть опция -Qo:

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

Теперь посмотрим какому пакету принадлежит /bin/evince:

Теперь вы можете узнать из какого пакета можно получить нужную вам программу.

Поиск пакета по файлу в Gentoo

Еще один интересный дистрибутив со своеобразной системой работы с пакетами. Здесь пакеты поставляются в виде исходных кодов и скриптов для сборки. Найти пакет по файлу вы можете с помощью утилиты equery, передав ей параметр b. Например:

Такой способ работает только для установленных пакетов. Из-за специфики дистрибутива для не установленных пакетов способа поиска не существует.

Выводы

Теперь вы знаете как понять какому пакету принадлежит файл в любом из самых популярных дистрибутивов Linux. Во всех дистрибутивах, основанных на Ubuntu и Debian, работает dpkg, для RPM-based дистрибутивов подходит утилита rpm. А два остальных менее популярных, но очень интересных мы рассмотрели отдельно. Если у вас остались вопросы, спрашивайте в комментариях!

Источник

Читайте также:  Windows 10 pro x32 x64 oem
Оцените статью