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

Обновлено: 04.07.2024

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

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

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

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

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

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

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

Для установки пакета из репозитория достаточно выполнить команду apt install с указанием имени пакета. Эта команда сама найдёт адрес файла .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 не только для поиска пакетов, но и просмотра информации о том, установлены ли они.


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

  • строка «[установлен]» — пакет установлен вручную
  • строка «[установлен, автоматически]» — пакет установлен как зависимость или как включённый в метапакет (во время установке операционной системы Kali Linux активно использует метапакеты, поэтому многие инструменты имеют такую отметку)
  • ничего не написано — значит пакет не установлен

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

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

  • номер версии
  • адрес сайта
  • краткое описание
  • список зависимостей
  • размер установки
  • репозиторий-источник
  • приоритет
  • к какому виду программ относится

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как установить локальный .deb пакет

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

aptitude

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

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

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

synaptic

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

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

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

  • Поиск и фильтрация списка доступных пакетов
  • Выполняйте интеллектуальные обновления системы
  • Исправление неработающие зависимости пакетов
  • Редактирование списка используемых репозиториев (sources.list)
  • Загрузка последнего журнала изменений пакета
  • Настройка пакеты через систему debconf
  • Просмотр всей доступной документации, относящуюся к пакету (требуется dwww)

wajig

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

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

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

Программы Linux можно использовать как портативные. К примеру, вы можете скачать файл .deb, извлечь из него исполнимый файл и запускать его из любого места. Некоторые пакеты содержат кроме установочного файла ещё и другие файлы: конфигурационный, файлы расширения функциональности и прочее — в этом случае для большинства программ можно указать расположение этих файлов с помощью опций.

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

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

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

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

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

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

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

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

Warning: apt-key is deprecated

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

Консольная утилита apt-cache используется для поиска в кеше программных пакетов APT. Говоря простыми словами, этот инструмент, используется для поиска пакетов, сбора информации о пакетах и поиска пакетов, доступных для установки в операционных системах, основанных на Debian или Ubuntu.

Как можно получить список всех доступных пакетов?

Чтобы увидеть все доступные пакеты, выполните следующую команду:

Как можно найти имя пакета и его описание.

Чтобы найти название пакета и его описание перед установкой, используйте флаг «search». Использование “search” c apt-cache отобразит список подходящих пакетов с кратким описанием. Например, вы хотите найти описание пакета vsftpd : чтобы сделать это, команда должна быть вот такой:

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

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

Например, если вы хотите ознакомиться с информацией о пакете, с его кратким описанием, отображающим номер версии, контрольные суммы, размер, размер после установки, категории и так далее, вы можете использовать подкоманду «show», как показано ниже:

Как можно проверить зависимости какого-либо пакета?

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

Как можно просмотреть статистику кэша?

Подкоманда stats отобразит полную статистику о кеше, например, полное число пакетов, найденное в кеше. Используйте такую команду:

Как обновить список пакетов в системе?

Команда update используется для синхронизации и обновления индексных файлов пакетов. Синхронизация происходит с источниками, указанными в файле /etc/apt/sources.list. Эту команду можно использовать, например, чтобы не упускать важные обновления пакетов.

Как обновить пакеты в системе?

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

Но если вы хотите обновиться вне зависимости от требований пакетов, используйте подкоманду dist-upgrade :

Как я могу установить или обновить какой-либо конкретный пакет?

Подкоманда install используется для установки или обновления какого-либо пакета.

Как я могу установить несколько пакетов сразу?

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

Как установить несколько пакетов по «маске» названия

С помощью регулярных вырежний вы можете добавлять несколько пакетов с помощью специальных символов. Например, можно использовать звездочку, чтобы установить все пакеты, которые содержат строку «name» в названии:

Как установить пакеты без обновления.

Использование флага –no-upgrade предотвратит обновление уже установленных пакетов.

Как только обновить определенные пакеты?

Флаг –only-upgrade не установит новые пакеты, а только обновит существующие.

Как я могу установить определенную версию пакета?

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

Как удалить пакеты без удаления настроек?

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

Как полностью удалить пакеты?

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

Или вы можете объединить обе команды, вот так:

Как можно очистить место на диске?

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

Как только загрузить исходный код пакета?

Чтобы только загрузить исходный код пакета, вы можете использовать опцию –download-only source с именем пакета, например:

Как можно загрузить и распаковать пакет?

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

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

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

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

Используя опцию «download», вы можете загрузить любой пакет, не устанавливая его. Например, следующая команда только загрузит пакет nethogs в текущую рабочую директорию.

Как можно просмотреть лог изменений (changelog) пакета?

Флаг changelog загружает лог изменений пакета и отображает версию пакета, если он установлен.

Команда «check» — инструмент для диагностики, он используется для обновления кеша пакетов и проверки на сломанные зависимости.

Как можно найти и собрать зависимости?

Команда build-dep ищет и устанавливает собранные зависимости нужного пакета. Если пакет отсутствует в локальном репозитории, вы получите ошибку.

Как можно автоматически очистить кеш Apt-Get?

Команда autoclean удаляет все .deb-файлы из /var/cache/apt/archives для освобождения свободного места на жестком диске.

Как можно автоматически удалить ненужные пакеты?

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

В этой статье мы узнаем, как устанавливать, обновлять, удалять, находить пакеты, управлять пакетами и репозиториями в системах Linux с помощью инструмента YUM (Yellowdog Updater Modified), разработанного RedHat. Примеры команд, показанные в этой статье, практически протестированы на нашем сервере CentOS вы можете использовать эти материалы для целей обучения, сертификации или просто для изучения способов установки новых пакетов и поддержания вашей системы в актуальном состоянии. Основное требование этой статьи — у вас должно быть базовое понимание команд и работы операционной системы Linux, где вы можете изучить и практиковать все команды, перечисленные ниже.

Что такое yum?

YUM (Yellowdog Updater Modified) — это инструмент с интерфейсом командной строки, а также графический инструмент управления пакетами с открытым исходным кодом для систем Linux на основе RPM (RedHat Package Manager). Эта программа позволяет пользователям и системному администратору легко устанавливать, обновлять, удалять или искать программные пакеты в системе. Она была разработана и выпущен Сетом Видалем под GPL (General Public License) как открытый исходный код, что означает, что любой может загрузить и получить доступ к коду для исправления ошибок и разработки индивидуальных пакетов. YUM использует многочисленные сторонние репозитории для автоматической установки пакетов, решая проблемы с их зависимостями.

1. Как установить пакет с yum

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

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

2. Удаление пакета с помощью yum

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

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

3. Обновление пакета с помощью yum

Допустим, у вас устаревшая версия пакета MySQL и вы хотите обновить её до последней стабильной версии. Просто выполните следующую команду, она автоматически решит все проблемы с зависимостями и установит их.


4. Поиск пакетов по точному имени в yum

Используйте функцию list для поиска определённого пакета по имени. Например, чтобы найти пакет с именем openssh, используйте команду.


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

5. Поиск пакетов по части имени в yum

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


6. Как в yum получить информацию о пакете

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


7. Как в yum перечислить все доступные пакеты

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

8. Как вывести список всех установленных пакетов с помощью yum

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

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


10. Как в yum проверить наличие обновления

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

11. Как обновить систему с помощью yum

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

12. Как вывести список пакетов определённой группы

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


13. Установка группы пакетов

Чтобы установить определённую группу пакетов, мы используем опцию groupinstall. Например, чтобы установить «MySQL Database», просто выполните следующую команду.

14. Обновление групповых пакетов

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

15. Удаление групповых пакетов

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

16. Список включённых репозиториев Yum

Чтобы вывести список всех включённых репозиториев Yum в вашей системе, используйте следующую опцию.

16. Список всех включённых и отключённых репозиториев Yum.

Следующая команда отобразит все включённые и отключённые репозитории yum в системе.

17. Как установить пакет из определённого репозитория

Чтобы установить определённый пакет из определённого включённого или отключённого репозитория, вы должны использовать параметр --enablerepo в своей команде yum. Например, чтобы установить пакет phpMyAdmin, просто выполните команду.

18. Интерактивная оболочка Yum Shell

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

19. Как очистить кеш Yum

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

20. Просмотр истории Yum

Чтобы просмотреть все прошлые транзакции команды yum, просто используйте следующую команду.

Мы постарались охватить все основные шаги по продвижению команд yum с их примерами. Если что-то, связанное с командами yum, могло быть упущено, то напишите об этом в комментариях и статья будет обновлена.


Шпаргалка по работе с пакетным менеджером Yum (Yellowdog Updater, Modified), который используется в популярных Linux дистрибутивах: RedHat, CentOS, Scientific Linux (и других). В целях экономии места вывод команд не представлен.

Оглавление

список названий пакетов из репозиторий

список всех доступных пакетов

список всех установленных пакетов

установлен ли указанный пакет

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

список пакетов, относящихся к ядру

отображение информации о пакете

список зависимостей и необходимых пакетов

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

поиск пакета по имени и описанию


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

вывести список групп

вывести описание и содержимое группы

установка группы пакетов «Basic Web Server»

Проверка на доступные обновления

список подключенных репозиториев

информация об определенном репозитории

информация о пакетах в указанном репозитории

установить все пакеты из репозитория

удалить пакеты установленные из репозитория

проверить локальную базу rpm (поддерживаются параметры dependencies, duplicates, obsoletes, provides)


просмотр yum истории (вывод списка транзакций)

просмотр информации определенной транзакции (установленные пакеты, установленные зависимости)

дополнительно можно просмотреть лог

удалить пакеты сохраненные в кэше

удалить все пакеты и метаданные

обновить все пакеты

обновить до определенной версии

установить из локальной директории (поиск/установка зависимостей будут произведены из подключенных репозиториев)

откатиться к предыдущей версии пакета

переустановка пакета (восстановление удаленных файлов)

удаление ненужных более пакетов

создание локальных репозиториев (createrepo ставится отдельно)

установка обновлений по расписанию (yum-cron устанавливается отдельно)

Опции Yum

ответить «yes» при запросе,


ответить «no» при запросе

использовать Yum без плагинов

или отключить определенный плагин

включить плагины, которые установлены, но отключены

включить отключенный репозиторий

скачать пакеты, но не устанавливать
(на Centos 7 x86_64 будут скачаны в '/var/cache/yum/x86_64/7/base/packages/')

Cледующие команды доступны после установки пакета yum-utils

найти из какого репозитория установлен пакет

найти процессы, пакеты которых обновлены и требуют рестарта

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

синхронизировать yum репозиторий updates в локальную директорию repo1

проверить локальный репозиторий на целостность

установить необходимые зависимости для сборки RPM пакета

управление конфигурационными опциями и репозиториями yum

запрос к локальной базе yum, отображение информации о пакете
(использованная команда, контрольная сумма, URL с которого был установлен и другое)

скачать rpm пакеты из репозитория

скачать src.rpm пакет из репозитория
(должен быть подключен соответствующий репозиторий, например в '/etc/yum.repos.d/CentOS-Sources.repo' в CentOS)

Конфигурационные файлы Yum и их расположение

Основной конфигурационный файл

директория, с конфигурациями (например, yum плагины)

директория, содержащая информацию о репозиториях

Некоторые опции yum.conf:

Директория, где yum хранит кэш и файлы базы (по умолчанию '/var/cache/yum')

Определяет должен или нет Yum хранить кэш заголовков и пакетов после успешной установки. Значения: 0 или 1. (по умолчанию 1)

лог файл (по умолчанию '/var/log/yum.log')

обновлять устаревшие пакеты

проверка подписи пакетов. Значения: 0 или 1 (по умолчанию 1)

включение плагинов. Значения: 0 или 1 (по умолчанию 1)

Некоторые полезные плагины

Добавляет опцию командной строки для просмотра ченжлога перед/после обновлениями

выбирает более быстрые репозитории из списка зеркал

добавляет команды keys, keys-info, keys-data, keys-remove, которые позволяют работать с ключами.

блокировать указанные пакеты от обновления, команда yum versionlock

добавление команд yum verify-all, verify-multilib, verify-rpm для проверки контрольных сумм пакетов

Работа Yum через прокси сервер

Для всех пользователей:
добавить в секцию [main] в /etc/yum.conf

при необходимости указать пароль, добавить

указать прокси для отдельного пользователя


Буду рад любым дополнениям и замечаниям.
Дополнительно читайте:

Читайте также: