Linux как установить пакет определенной версии

Обновлено: 07.07.2024

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

Пакетный менеджер Apt или Advanced Package Tool используется во множестве дистрибутивов, основанных на Debian или Ubuntu, а таких дистрибутивов сейчас очень много. Этот пакетный менеджер поддерживает все необходимые функции, вы можете устанавливать и удалять пакеты, обновлять то, что было уже установлено, искать пакеты, устанавливать их из файла или загружать без установки. При этом все зависимости будут разрешаться автоматически.

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

Синтаксис и опции apt

Синтаксис команды apt очень простой и похож на другие команды Linux:

$ apt опции команда параметры_команды

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

А теперь давайте пройдёмся по командам apt, которые вы можете использовать:

  • install - установить пакет;
  • remove - удалить пакет, конфигурационные файлы, которые были изменены в вашей системе удалены не будут;
  • purge - полностью удалить пакет, вместе со всеми его конфигурационными файлами;
  • autoremove - очистить ненужные пакеты;
  • autoclean - очистить кэш пакетов;
  • update - обновить списки пакетов из репозиториев;
  • upgrade - обновить версию пакета до последней, если пакет не указан будут обновлены все пакеты;
  • full-upgrade - полное обновление системы, включая удаление несовместимых или больше ненужных пакетов;
  • list - список установленных пакетов;
  • search - поиск пакетов;
  • show - посмотреть информацию о пакете;
  • download - скачать пакет в текущую папку;
  • edit-sources - открыть с настройками репозиториев в текстовом редакторе.
  • source - скачать исходный код пакета в текущую папку;
  • build-dep - установить зависимости необходимые для сборки выбранного пакета;

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

Как пользоваться apt

1. Обновление пакетов

Сначала давайте обновим список пакетов apt из репозиториев. Репозитории находятся на удалённых серверах и когда утилита apt ищет пакет для установки, естественно, что она не обращается ко всем репозиториям подряд чтобы узнать где он находится. В системе уже есть сохранённых кэш информации о том, какие пакеты вообще есть и где их можно скачать. Для обновления этого кэша используйте команду update:

sudo apt update

Во время загрузки URL репозиториев обозначаются специальными префиксами, вот что они означают:

  • Hit (Сущ) - список не изменился с момента предыдущей загрузки;
  • Ign (Игн) - репозиторий игнорируется, либо он слишком новый, либо произошла незначительная ошибка во время загрузки;
  • Get(Пол) - доступна новая версия и она будет загружена.

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

sudo apt list --upgradable

Аналогично можно посмотреть установленные пакеты apt:

sudo apt list --installed


Или всех доступных:

sudo apt list --all-versions


Затем можно обновить все пакеты в системе:

sudo apt full-upgrade


2. Установка пакетов

Чтобы установить пакет apt используйте команду install, например, для установки программы Gimp используйте команду install:

sudo apt install gimp


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

sudo apt install gimp --reinstall

Как видите, опции можно указывать не только перед командой, но и после неё, аналогично можно установить несколько пакетов сразу, например:

sudo apt install gimp inkskape -y

Чтобы не подтверждать установку вручную используем опцию -y. Допустим вы установили пакет с помощью dpkg и теперь хотите установить для него зависимости, запустите команду install без параметров с опцией -f или --fix-broken:

sudo apt install --fix-broken

Можно скачать deb пакет в текущую папку без установки:

apt download gimp

Скачивать пакеты надо от имени обычного пользователя, иначе тогда они не будут доступны для работы с ними. Если вам нужно установить пакет из файла, просто передайте путь к файлу команде install:

sudo apt install gimp_2.8.22-1_amd64.deb

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

sudo apt install linux-headers-generic=4.15.0.20.23

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

sudo apt policy linux-headers-generic

Если вы не знаете как точно называется пакет, можно выполнить поиск пакетов apt с помощью команды search:

sudo apt search gimp

3. Удаление пакетов

Чтобы удалить ненужный пакет используйте команду remove:

sudo apt remove gimp

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

sudo apt purge gimp

Чтобы удалить лишние пакеты, которые в системе больше не нужны выполните команду autoremove:

sudo apt autoremove

А для очистки кэша пакетов - autoclean:

sudo apt autoclean

Выводы

В этой статье мы рассмотрели примеры использования и основные команды apt Ubuntu, как видите, команд у этой утилиты хватает на все случаи жизни. Но, как видите, всё очень просто если разобраться. Я не рассказал только об одной команде, попробуйте ввести в терминале apt moo, увидите что будет. Это небольшая пасхалка от разработчиков.

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

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

В Ubuntu, как и в других операционных системах, есть понятие зависимостей. Это значит, что программу можно установить, только если уже установлены пакеты, от которых она зависит. Такая схема позволяет избежать дублирования данных в пакетах (например, если несколько программ зависят от одной и той же библиотеки, то не придётся пихать эту библиотеку в пакет каждой программы — она поставится один раз отдельным пакетом). В отличие от, например, Slackware или Windows, в Ubuntu зависимости разрешаются пакетным менеджером (Synaptic, apt, Центр приложений, apt-get, aptitude) ­— он автоматически установит зависимости из репозитория. Зависимости придётся устанавливать вручную, если нужный репозиторий не подключен, недоступен, если нужного пакета нет в репозитории, если вы ставите пакеты без использования пакетного менеджера (используете Gdebi или dpkg), если вы устанавливаете программу не из пакета (компилируете из исходников, запускаете установочный run/sh скрипт).

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

Репозиторий - место централизованного хранения пакетов программного обеспечения. Использование репозиториев позволяет упростить установку программ и обновление системы. Пользователь волен выбирать, какими репозиториями будет пользоваться, и даже может создать собственный. Список используемых репозиториев содержится в файле /etc/apt/sources.list и в файлах каталога /etc/apt/sources.list.d/ , проще всего его посмотреть через специальное приложение, которое можно вызвать через главное меню: Система→Администрирование→Источники Приложений, или через Менеджер пакетов Synaptic.

Если вы не добавляли локальные репозитории (например, CD/DVD диски), то для установки программ из репозиториев вам понадобится интернет.

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

С использованием графического интерфейса

Выберите Система → Администрирование → Менеджер пакетов Synaptic и получите более функциональный инструмент для работы с пакетами. В частности вы можете например устанавливать программы частично, если вам, например, не нужна документация или еще что-то. Запустите программу Менеджер пакетов Synaptic Система→Администрирование→Менеджер пакетов Synaptic. По запросу введите свой пароль. В запустившейся программе нажмите кнопку «Обновить», подождите, пока система обновит данные о доступных программах.

В списке доступных программ сделайте двойной клик на нужной программе (либо клик правой кнопкой - пункт «Отметить для установки»). После того, как все нужные программы помечены для установки, нажмите кнопку «Применить». Подождите, пока необходимые пакеты будут скачаны и установлены. Схожие функции выполняет программа "Установка и удаление приложений" её можно легко найти в меню Приложения→Установка/удаление…

С использованием командной строки

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

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

По запросу введите пароль. Учтите, что при вводе в терминале пароль не отображается, ни звёздочками, ни кружками, никак. Это нормально. Для установки нужной программы введите команду:

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

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

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

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

где keyword - название программы, часть названия программы или слово из её описания.

Установка определенной версии пакета

Ищем нужную версию пакета:

Устанавливаем нужную версию пакета:

Установка из deb-пакета

С использованием графического интерфейса

Перейдите при помощи Nautilus в папку, где находится deb-пакет, откройте свойства файла (правая клавиша → Свойства), во вкладке «Права» разрешите выполнение файла (галочка у «Разрешить исполнение файла как программы»). Далее закрываем свойства файла, и по двойному щелчку Nautilus предложит нам открыть код или выполнить файл. Запускаем. Либо возможно это сделать специальным установщиком GDebi (установить можно из Центра приложений, вписав в поиск GDebi, либо вписав в командную строку:

После установки запускаем deb-пакет с помощью установщика программ GDebi все, что от вас потребуется - это просто нажать кнопку «Установить пакет».

Возможные ошибки

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

С использованием командной строки

Запустите терминал (Меню: Приложения - Стандартные - Терминал). Установка выполняется с помощью программы dpkg

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

Запрет обновления пакета

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

Через dpkg

имя пакета берется из команды, которой вы ставили этот пакет. Чтобы разрешить обновлять делаем так:

Смотрим статус пакета:

Через apt

Здесь все проще. Чтобы заблокировать пакет:

Чтобы разблокировать пакет:

Установка программ с собственным инсталлятором из файлов sh, run

Иногда программы могут распространяться с собственным инсталлятором. Это ничем не отличается от ситуации в Windows. Только здесь, распаковав tar.gz архив с дистрибутивом программы, вы вместо setup.exe увидите что-то наподобие install.sh. Это заранее собранный пакет ПО, который оформлен в виде скрипта или бинарника, он берёт на себя работу по размещению файлов в нужных местах и прописыванию нужных параметров. При этом пропадает возможность управлять таким ПО с помощью пакетного менеджера. Пользоваться такими пакетами нежелательно, но если выбора нет, то переходим в директорию с файлом, например:

Разрешаем выполнять этот файл:

Иногда программу можно установить и без прав суперпользователя (без sudo ), но это, скорее, исключение.

Иногда дистрибутив программы распространяется в виде самораспаковывающегося архива. В таком случае это будет просто один единственный файл .sh который и нужно запустить. Дальше вы просто получите мастер где нужно будет ответить на ряд вопросов, так же как это делается в Windows. Так устанавливаются официальные драйверы nVidia, ATI, среда разработчика NetBeans и т.п.

Есть программы, которые не нуждаются в инсталляции и распространяются в виде обычного архива tar.gz, который просто достаточно куда-то распаковать. В Windows также есть такие программы, их еще часто называют словом Portable. Устанавливать такие программы не требуется, достаточно распаковать в любое место, но стандартное место обычно - это каталог /opt. Конечно, пункты на запуск в меню вам придется добавлять вручную, для этого нужно щелкнуть правой кнопкой по заголовку меню Программы и выбрать Правка меню.

Установка из исходников

Если для вашей системы нигде нет deb-пакетов, то программу можно собрать (скомпилировать) самому из исходных кодов, которые можно скачать на официальном сайте любой Open Source программы либо из source-репозитория дистрибутива.

Я рекомендую по возможности избегать этого способа установки программ. Основное, что вам понадобится - это средства для компиляции, для этого сначала нужно установить пакет build-essential. Дальше, нужно распаковать архив с кодами программы в какую-то временную папку. Потом нужно найти файл README или INSTALL, прочитать его и выполнить то, что там написано. Чаще, установка программ таким способом ограничивается последовательным выполнением следующих команд:

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

Автоматическая установка зависимостей при сборке из исходников

Такой тип установки лучше чем просто ./configure && make && make install, и подходит для установки программ отсутствующих в репозиториях.

Переходим в папку с распакованными исходниками и командуем:

Команда auto-apt сама доставит необходимые пакеты для сборки, и позволит задавать меньше вопросов.

Создание deb пакета для более простой работы в дальнейшем, (установка, удаление, и прочее):


Команда apt apt-get

APT (сокращение от Advanced Packaging Tool) — это набор утилит для установки, удаления, обновления, поиска пакетов в Linux, а также для управления репозиториями. APT еще называют пакетным менеджером.

APT использует репозитории пакетов. Список репозиториев для APT хранится в файле /etc/apt/sources.list, а также в директории /etc/apt/sources.list.d/.

APT используется в дистрибутивах, основанных на Dedian и Ubuntu.

Для управления APT существуют разные утилиты, но самые популярные из них это утилиты командной строки apt-get и apt.

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

Чем отличаются apt и apt-get

Кратко ответим на очень популярный вопрос, а в чем разница между командами apt и apt-get?

apt это утилита, которая появилась, как альтернатива apt-get. Она выполняет практически все те же функции, что и apt-get, но с ней проще и понятнее работать.

Например, все команды apt имеют простой синтаксис: apt название_команды. А у apt-get есть дополнительные команды, например, apt-cache. Таким образом, при использовании apt, пользователю не нужно запоминать дополнительные наборы команд.

Помимо упрощения работы с командами, apt нагляднее выводит информацию, вроде бы мелочи, но работать удобнее. Например, apt умеет показывать прогресс бар, а при выполнении apt update можно увидеть сколько пакетов можно обновить.

Стоит отметить, что утилита apt-get более функциональна, чем apt. Но для рядового пользователя apt будет более чем достаточно.

Команда apt

Синтаксис команды apt следующий:

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

У APT есть список репозиториев, из которых происходит установка пакетов. Список хранится в текстовом файле /etc/apt/sources.list, а также в директории /etc/apt/sources.list.d/. При выполнении команды apt update, APT проходит по списку репозиториев и из каждого репозитория в списке получает информацию о пакетах, находящихся в репозитории. Вся эта информация сохраняется в системе.

Если выходит новая версия какого-нибудь пакета, то APT не узнает об этом, пока не будет выполнена команда apt update. Поэтому, если установить данный пакет (не выполнив предварительно apt update), то будет установлена та версия пакета, информация о которой хранится в системе в данный момент.

Нужно ли выполнять apt update перед установкой каждого пакета?

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

Крайне рекомендуется выполнять apt update перед обновлением пакетов (перед apt upgrade).

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

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

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

Есть еще одна команда для обновления пакетов:

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

Установить пакет

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

Установить несколько пакетов

Для установки нескольких пакетов их имена записываются через пробел:

Установить определенную версию пакета

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

Удалить пакет

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

Удалить пакет и его конфигурационные файлы

apt purge работает аналогично apt remove, но удаляет еще и конфигурационные файлы, относящиеся к пакету. Это означает, что если вы установили какую-нибудь программу, настроили ее, а потом удалили командой apt remove, то конфигурационный файл этой программы останется в системе. Если вы теперь установите эту программу снова, то можно будет использовать предыдущий конфигурационный файл, так как он не был удален.

apt purge не удаляет конфигурационные файлы, хранящиеся в вашей домашней директории.

Если вы удалили пакет командой apt remove, то вы можете выполнить apt purge для данного, уже удаленного пакета, чтобы «доудалить» его конфигурационные файлы.

Удалить неиспользуемые пакеты

Когда вы устанавливаете пакет, то часто устанавливаются дополнительные пакеты, являющиеся его зависимостями. Если теперь вы удалите этот пакет, то зависимости останутся в системе. apt autoremove удаляет эти зависимости, но только те, которые не нужны другим установленным пакетам.

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

Команда apt list используется для вывода списка пакетов по какому-то критерию.

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

Вывести список пакетов, которые требуют обновления (у которых вышла новая версия):

Вывести список всех пакетов доступных для вашей системы:

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

Данная команда выполняет поиск указанного слова в названии пакетов и в описании пакетов. Поддерживаются регулярные выражения.

Можно выполнять поиск только по названиям пакетов для этого используется опция --names-only :

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

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

Выводит информацию о пакете. Отображается версия, размер, описание, зависимости и другая информация.

Одна важная вещь, которую нужно освоить при администрировании системы/сервера Linux, — это управление пакетами с использованием различных инструментов управления пакетами.

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

Инструменты управления пакетами помогают администраторам системы/сервера во многих отношениях, например:

  • Скачивание и установка программного обеспечения
  • Компилирование программного обеспечение из исходников
  • Отслеживание всего установленного программного обеспечения, его обновлений и обновлений
  • Обработка зависимостей
  • А также хранение другой информации об установленном программном обеспечении и многом другом

Что такое apt?

Утилита apt — это мощная и бесплатная программа командной строки для управления пакетами, которая используется для работы с библиотекой APT (Advanced Packaging Tool) в Debian и производных дистрибутивах для установки новых пакетов программного обеспечения, удаления существующих пакетов программного обеспечения, обновления существующих пакетов программного обеспечения и даже используется для обновления всей операционной системы.

Что такое apt-cache?

Инструмент командной строки apt-cache используется для поиска в кэше пакетов программного обеспечения apt. Проще говоря, этот инструмент используется для поиска пакетов программного обеспечения, сбора информации о пакетах, а также для поиска доступных пакетов, готовых к установке в системах на основе Debian или Ubuntu.

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

Когда в репозиторий вносятся изменения, например, при обновлении пакета, необходимо синхронизировать эту информацию с локальным кэшем вашей операционной системы 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, запустите команду с именем файла в качестве аргумента, как показано ниже:

Как удалить неиспользуемые пакеты

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

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

Как очистить старый репозиторий загруженных пакетов.

Опция «clean» или «autoclean» удалит все старые локальные репозитории загруженных файлов пакетов.

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

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

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

Чтобы найти и перечислить все пакеты, начинающиеся с «СЛОВА», вы можете использовать следующую команду.

Как проверить статистику кеша

Подкоманда «stats» отображает общую статистику о кеше. Например, следующая команда отобразит Общее количество имен пакетов - это количество пакетов, найденных в кеше.


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

Подкоманда «install» отслеживается одним или несколькими пакетами, которые хотят установить или обновить.

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

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

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

Команда «--only-upgrade» не устанавливает новые пакеты, а только обновляет уже установленные пакеты и отключает новую установку пакетов.

Как установить конкретную версию пакета?

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

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

Чтобы загрузить только исходный код определенного пакета, используйте параметр «--download-only» с «именем пакета», как показано.

Как я могу скачать и распаковать пакет

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

Как я могу скачать, распаковать и скомпилировать пакет

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

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

Эта команда «build-dep» выполняет поиск в локальных репозиториях в системе и устанавливает зависимости сборки для пакета. Если пакет не существует в локальном репозитории, она вернёт код ошибки.

Как автоматически удалить зависимости удаляемого пакета

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

Как найти все файлы пакета

Следующая команда поможет вам составить список всех файлов, содержащихся в пакете:

Как проверить пакет на наличие неработающих зависимостей.

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

Как перечислить все рекомендуемые отсутствующие пакеты данного пакета

Эта команда покажет, какие пакеты рекомендованы, но не установлены. Работает только в Linux Mint.

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

Следующая команда покажет вам версию установленного пакета.

Резюме

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

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

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