Linux как узнать какого пакета файлы

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

Как просмотреть подробную информацию о пакете в 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 для бэкэнд.

Читайте также:  Linux какие процессы используют файлы

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 как узнать какого пакета файлы

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

Опция -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 по дате

Sep 20, 2018 07:02 · 536 words · 3 minute read tips ubuntu debian centos

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

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

Например, если вы используете дистрибутив Debian (и производные — Ubuntu, Kubuntu, Xubuntu и т.д.), то для вывода списка установленных пакетов достаточно запустить команду:

Как можно догадаться, данная команда выведет список пакетов, если их установка зафиксирована в файле /var/log/dpkg.log . Так как в Linux используется ротация логов с целью экономии места на диске, старые установочные логи хранятся в архивах. Если нужно узнать список вообще всех установленных пакетов в хронологическом порядке, то стоит воспользоваться командой:

Результат выполнения команды будет примерно следующим:

Команда zcat читает содержимое заархивированных файлов, после чего вывод перенаправляется на обработку команде grep . Если нужно найти время установки конкретного пакета, название (или хотя бы часть) которого вы знаете, можно сделать так:

В качестве альтернативы еще можно использовать команду zgrep , например:

Вывод команды будет несколько отличаться:

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

Для RPM-based дистрибутивов (RedHat, CentOS, Scientific Linux, Fedora, SUSE) вывести список установленных пакетов по дате можно с помощью следующей команды:

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

Для поиска даты установки конкретного пакета, достаточно добавить его название в качестве параметра к команде выше, например:

В дистрибутивах Arch Linux (в том числе Antergos, Manjaro, Apricity, Ninja OS) для решения нашей задачи можно воспользоваться утилитой expac . Для получения информации в понятном формате, вызывать данную утилиту необходимо с использованием параметра:

Можно дополнить данный вызов сортировкой и дополнительными фильтрами — все зависит только от ваших требований. Например, так можно вывести 5 последних установленных пакетов в системе:

Источник

Как в 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. Её преимуществом является более быстрый поиск, разные дополнительные функции вроде подсчёта занимаемого места, но… она ищет только по установленным пакетам — т. е. для целей, которые озвучены в начале заметки она неприменима.

Заключение

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

Источник

Поиск пакетов, содержащих определенный файл

В данной статье рассматривается утилита apt-file, которая позволяет найти, к какому пакету относится определенный файл. Утилита работает в Ubuntu-based дистрибутивах.

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

Установка apt-file

Установим утилиту apt-file. Выполняем команду:

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

Поиск пакетов

Синтаксис команды apt-file для поиска пакетов следующий:

  • —ignore-case или -i — не учитывать регистр.
  • —regexp или -x — рассматривать имя_файла, как регулярное выражение. Используется синтаксис регулярных выражений Perl.
  • —package-only или -l — показывать только имена пакетов. Не показывать имена файлов.
  • —fixed-string или -F — искать строго по заданному имени_файла (полное вхождение/совпадение).

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

Команда apt-file выполняет поиск пакетов, которые содержат внутри себя файлы, соответствующие искомому имени_файла .

Примеры

Рассмотрим несколько примеров.

Найдем пакеты, которые содержат файл fftw3.h:

Найдем пакеты, содержащие файл firefox:

Обратите внимание, что при поиске будут найдены все вхождения слова firefox в путях файлов, это, например, файлы firefox.png и так далее. Поэтому, можно задать более конкретный запрос, указав часть пути:

Пример использования регулярного выражения (используется perl regex):

Список файлов в пакете

Еще одна полезная возможность команды apt-file — это вывод списка файлов внутри определенного пакета. Для этого используется действие show.

Например, выведем список файлов в пакете cowsay:

Чтобы получить справку по всем возможностям apt-file выполните в терминале команду:

Источник

Читайте также:  Windows исправление ошибок hdd
Оцените статью