как узнать в каком пакете находится файл linux

Шпаргалка начинающего Debian/Ubuntu администратора по управлению пакетами

Краткая справка Debian администратора

Основное и общеизвестное

Получение информации о новых/обновлённых пакетах

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

Поиск пакета по точному названию

Информация о пакете

Полное удаление (вместе с конфигами)

Очистить кэш загруженных пакетов (освободить место)

Для получения доп информации

и смотрим документацию (/usr/share/doc/aptitude/html/en/index.html), кому быструю справку по поисковым шаблонам, тому сюда — /usr/share/doc/aptitude/html/en/ch02s04.html. Если лень ставить доку, то в сети она есть.
Вводная на Debian Wiki: wiki.debian.org/Aptitude

А теперь то что не очевидно или требует полного прочтения документации

1. Как после update посмотреть какие пакеты будут обновлены?

также можно юзать (если поставить)

но после его установки точно также будет себя вести и обычный update

2. Как узнать что изменилось в пакетах которые будут обновлены?
Можно пробовать

для каждого пакета.
Но лучше поставить apt-listchanges, тогда перед любой установкой обновлений будет показан список изменений, по умолчанию настройки не очень удобные, поэтому лучше перенастроить под себя, например, выбрать формат вывода (пока использую текст, при больших обновлениях наверно pager лучше), не слать писем, спрашивать подтверждения, выводить всю информацию. Для этого нужно запустить

3. Что делать если обновление что-то поломало и нужно откатиться?
Отката нет, можно попробовать найти предыдущую версию пакета

4. Как найти все пакеты установленные вручную?
есть вариант команды (aptitude search ‘

M’), но к сожалению он не даёт желаемого результата, так что вопрос остаётся открытым, есть куча способов основанных на анализе логов

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

5. Как посмотреть список файлов в пакете?
если пакет установлен

для любых пакетов поставить apt-file и

6. Как посмотреть какому пакету принадлежит файл?

7. Как удалить все пакеты, где есть key в названии пакета?

8. Как удалить оставшиеся конфиги от удалённых пакетов?

9. Как найти пакет пакет, в котором содержится файл lib.so:

10. Как сконвертировать rpm пакет в deb?

11. Как найти список установленных ядер?

12. Как установить пакет из testing или experimental?
На эту тему нужно писать отдельно (например так), но если кратко, то команды для этого есть

13. Как удалить метапакет, но оставить одну из зависимостей?
придётся почитать документацию про ключ unmarkauto или глянуть сюда.

14. Как узнать что попало в файловую систему мимо системы управления пакетами?
Есть утилита cruft, хотя вопрос интерпретации результатов (файла report) пока открыт

15. Какие есть дополнительные репозитории?
Debian — wiki.debian.org/UnofficialRepositories
Ubuntu — множество всяких PPA

16. Что есть ещё?
apt-cdrom
apt-spy
auto-apt. заметка на хабре
apt-key
apt-add-repository
Некоторые вещи умеет только apt-get
Есть альтернативные утилиты для управления пакетами, например wajig, который пытается вобрать в себя функционал всех остальных утилит.

17. Как найти пакеты зависящие от данного

также может пригодится

Благодарю всех кто помог своими советами в рассылке, жж (JackYF) и хабре ( run4way, sledopit, nazarpc, AgaFonOff, amarao, traaance, adrianopol, Karamax). Замечания и дополнения приветствуются.

Источник

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

как узнать в каком пакете находится файл linux. %D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA %D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0 %D0%BE%D1%82 2018 07 10 17 02 26. как узнать в каком пакете находится файл linux фото. как узнать в каком пакете находится файл linux-%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA %D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0 %D0%BE%D1%82 2018 07 10 17 02 26. картинка как узнать в каком пакете находится файл linux. картинка %D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA %D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0 %D0%BE%D1%82 2018 07 10 17 02 26.

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

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

Тот, кто придерживается командной строки, большую часть времени предпочитает менеджеров пакетов на базе 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 / сервере.

Команда 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: просмотр информации о пакете в системах Debian / Ubuntu / Mint

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

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

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

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

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

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

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

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

Источник

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

Управление пакетами в Kali Linux и других дистрибутивах на основе Debian (поиск, установка и удаление программ, решение проблем)

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

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

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

Данная статья сфокусирована на менеджере пакете apt и дистрибутиве Kali Linux, но всё сказанное в ней применимо и к другим основанным на Debian дистрибутивам (Linux Mint, Ubuntu).

Как работают репозитории приложений Linux

Сопроводители дистрибутивов Linux отбирают программы для помещения в репозитории. Эти программы упаковываются в пакеты, для Debian и производных это файлы с расширением .deb. В эти пакеты помещаются скомпилированные файлы программ, файлы настроек и все другие, необходимые для работы прогрммы файлы, а также метаинформация, в которой указано, какие ещё пакеты нужно установить для разрешения зависимостей, а также какие действия нужно выполнить перед и после установки пакета, а также перед и после его удаления.

В случае выхода новых версий пакетов, их все можно обновить одной командой — очень удобно.

Для чего нужны зависимости

Если вы уже устанавливали пакеты в Linux, то вы могли обратить внимание, что вы вводите имя одной программы для установки, но зачастую одновременно с ней устанавливаются ещё и другие пакеты — это зависимости.

Зависимости — это библиотеки, программы, драйверы и прочее, что необходимо для работы другой программы. Такой подход позволяет один и тот же код (библиотеку) использовать в различных программах. К примеру, мы пишем приложение, в которое ходим добавить сетевые функции с поддержкой различных протоколов — нам не нужно всё писать с нуля, мы можем воспользоваться библиотекой libcurl (от авторов программы cURL), которая уже поддерживает десятки сетевых протоколов. И так могут поступить многие другие программы — они все могут использовать одну библиотеку без необходимости дублировать код — достаточно установить библиотеку в ОС один раз.

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

Использовать apt или apt-get

Для управления пакетами может применяться команда apt или apt-get. На самом деле, выбор ещё больше: dpkg, aptitude, synaptic, wajig, а также графические интерфейсы от авторов дистрибутивов. Но все эти менеджеры пакетов имеют свои чёткие особенности, а apt и apt-get очень похожи, у них практически одинаковые команды и опции, они выполняют одинаковые функции. Разберёмся, чем отличаются apt и apt-get.

Программа apt предназначена для интерактивного использования и её поведение может меняться с выходом новых версий. А программа apt-get предназначена для использования в скриптах и её поведение и вывод очень консервативны.

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

Я предпочитаю apt как более «свежую», но на самом деле практически во всех последующих примерах команд вы можете заменить «apt» на «apt-get» и не почувствуете никакой разницы.

Обновления кэша с информацией о приложениях

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

Этого же результата (обновления кэша) можно достичь разными способами, в том числе имеется ещё несколько команд. Например, следующая команда также обновит кэш (нет принципиальной разницы, какую команду вы используете):

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

Как установить программу

Используйте команду вида:

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

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

Для поиска пакетов предназначена команда вида:

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

Обратите внимание, что для данной команды, в отличие от большинства других с apt, не требуются права root (можно использовать без sudo).

Поиск пакетов только по названию

Предыдущая команда бывает бесполезной из-за слишком большого вывода информации. Вы можете использовать следующую команду для поиска по имени пакета:

Вы также можете указать подстановочные символы, например для поиска по названию, начинающемуся на слово ПАКЕТ:

Для поиска по названию, оканчивающемуся на слово ПАКЕТ:

Для поиска по названию, в котором присутствует слово ПАКЕТ:

Ещё более удобной, на мой взгляд, командой для поиска пакетов является:

Последняя команда ищет в именах по слову ПАКЕТ и выводит список всех пакетов, где оно встречается. Использовать подстановочные символы не нужно.

Как проверить, установлен ли пакет

Вы можете использовать команды apt list или apt search не только для поиска пакетов, но и просмотра информации о том, установлены ли они.

как узнать в каком пакете находится файл linux. apt. как узнать в каком пакете находится файл linux фото. как узнать в каком пакете находится файл linux-apt. картинка как узнать в каком пакете находится файл linux. картинка apt.

Рядом с описанием пакетов вы можете увидеть один из трёх вариантов:

Как посмотреть информацию о пакете

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

Чтобы узнать информацию о пакете используйте команду вида:

как узнать в каком пакете находится файл linux. apt show. как узнать в каком пакете находится файл linux фото. как узнать в каком пакете находится файл linux-apt show. картинка как узнать в каком пакете находится файл linux. картинка apt show.

Как удалить пакет

Для удаления используйте команду вида

Можно удалять сразу много пакетов за раз:

Как полностью удалить пакет, вместе с конфигурационными файлами

При удалении пакета удаляются все его файлы, но обычно остаются небольшие (изменённые) файлы конфигурации пользователя на случай, если удаление было случайным. В этом случае простая отправка запроса на установку для случайно удалённого пакета восстановит его работу, как и раньше. С другой стороны, вы можете избавиться от этих остатков, вызвав purge даже для уже удалённых пакетов. Обратите внимание, что это не влияет на данные или конфигурацию, хранящиеся в вашем домашнем каталоге.

Итак, для полного удаления пакета используйте команду вида:

Обновление всех пакетов системе в Kali Linux

Чтобы обновить все пакеты, для которых вышли новые версии, а также установить необходимые зависимости и удалить мешающие пакеты, используется команда:

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

Аналогичный результат можно получить командами (это одна из немногих команд, которая различается для apt и apt-get):

Для удобства можно объединить команду обновления кэша и команду запуска полного обновления системы в одну, опция -y используется для того, чтобы у нас не спрашивалось подтверждение, а сразу начался процесс установки новых пакетов:

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

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

С помощью программы apt-file можно искать по именам файлов в пакетах (как установленных, так и нет). Также она может показать все файлы в пакете.

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

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

К примеру поиск файла ffi.h:

У программы apt-file есть альтернативы, подробности смотрите в статье «Как в Linux узнать, в каком пакете содержится файл».

Как посмотреть зависимости пакета

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

Как узнать, для каких программ данный пакет является зависимостью

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

Как просмотреть список изменений пакета

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

Как скачать пакет без установки

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

Как проверить, всё ли впорядке с кэшем приложений

Если вы хотите узнать, имеются ли сломанные зависимости, то выполните диагностическую команду:

Следующая команда dpkg установит пакет без проверки зависимостей:

При выполнении операции менеджером пакетов, например, обновление кэша:

может возникнуть сообщение об отсутствующих зависимостях, исправить это можно командой:

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

Удаление ненужных программ

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

Для этого применяется команда:

Её использование безопасно и не должно приводить к проблемам.

Очистка кэша установочных файлов

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

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

clean вычищает локальный репозиторий от полученных файлов пакетов. Она удаляет все, кроме lock файла из /var/cache/apt/archives/ и /var/cache/apt/archives/partial/.

Исправление ошибок установки пакетов и зависимостей

Опция -f исправляет, пытается привести в норму систему с нарушенными зависимостями. Эта опция, когда используется с install/remove, может пропустить какие-либо пакеты, чтобы позволить APT найти вероятное решение. Если пакеты указаны, эта команда должна полностью исправить проблему.

Альтернативы для apt

Для apt, кроме программы apt-get, которая является очень похожей, существует ещё несколько альтернатив.

В Debian вы можете выбрать среди следующих менеджеров пакетов:

dpkg — этот пакет предоставляет низкоуровневую инфраструктуру для обработки установки и удаления пакетов программного обеспечения Debian. При установке программ не устанавливает зависимости.

aptitude

aptitude — это менеджер пакетов с рядом полезных функций, в том числе: похожий на mutt синтаксис для гибкого сопоставления пакетов, возможность извлекать и отображать журнал изменений Debian для большинства пакетов и режим командной строки, аналогичный режиму apt-get. Программа не позволяет разрастаться кэшу слишком сильно и выполняет автоматическую очистку.

Чтобы былы понятны основные возможности программы, посмотрите на доступные команды и опции.

Действия (если не задано, aptitude запускается в диалоговом режиме):

synaptic

Synaptic — это графический инструмент для управления пакетами, основанный на GTK+ и APT.

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

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

wajig

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

Кроме рассмотренных программ, в дистрибутивах Linux могут применяться и собственные инструменты. К примеру, в Linux Mint имеется собственный инструмент с графическим интерфейсом для обновления программ. Также в Linux Mint при запуске программы apt вместо неё будет использоваться собственный скрипт, который является обёрткой для aptitude (из-за этого вывод команды apt может вас смутить).

Портативные программы в Linux

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

Как решить проблему «команда не найдена» («command not found»)

Если при попытке запуска программы вы столкнулись с ошибкой «команда не найдена» («command not found»), то она означает, что не установлен пакет, содержащей данную программу. Конечно, при условии, что вы правильно ввели имя команды — поэтому начните с проверки имени, а также используйте клавишу TAB для вывода подсказок и автоматического дополнения.

Начните с попытки установить пакет с одноимённым именем — довольно часто название команды совпадает с именем пакета, например nmap, sqlmap — это команды запуска и имена пакетов, которые их содержат:

Если вы получите сообщение, что пакет с таким именем не найден, то попробуйте выполнить поиск по описанию пакетов — довольно часто в описании перечислены программы, которые включены в данный пакет:

Если удалось определить имя пакета, установите его.

Если и это не помогло, то установите (если ещё не сделали) команду apt-file, обновите кэш и выполните поиск:

Данный способ наверняка поможет найти нужный пакет. Если даже это не сработало, то возможны следующие варианты:

Warning: apt-key is deprecated

Команда apt-key управляет ключами, которые отвечают за проверку подписи репозиториев пакетов приложений.

Теперь при любом использовании команды apt-key вы будете получать сообщение:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *