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

Обновлено: 02.07.2024

Пакетный менеджер 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 при копировании материала ссылка на источник обязательна.


APT, также известный как Advanced Packaging Tool, является инструментом командной строки для управления пакетами в дистрибутивах на основе Debian, таких как Ubuntu 16.04, Ubuntu 18.04, Debian 8, Debian 9 и многих других.

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

В этом руководстве мы расскажем, как управлять пакетами с помощью инструмента командной строки APT на сервере Ubuntu 18.04 LTS.

Требования

  • Сервер под управлением Ubuntu 18.04 LTS.
  • Доступ с правами root или sudo на сервере.

Все команды ниже выполняются от имени пользователя root

. Войдите в систему как пользователь root или выполните команду:

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

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

Команда update извлекла пакеты из их местоположений и обновляет пакеты до более новой версии.

После выполнения вышеуказанной команды ваша база данных должна быть обновлена.

Команда update используется для обновления всех установленных на данный момент пакетов программного обеспечения до более новой версии.

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

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

Например, вы можете установить пакет веб-сервера Nginx, выполнив следующую команду:

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

Приведенная выше команда загрузит файл пакета в каталог /var/cache/apt/archives.

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

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

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

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

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

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

Поиск пакета с Apt-Cache

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

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

Вы должны увидеть следующий вывод:

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

Вы должны увидеть следующий вывод:

Вы можете проверить полную информацию о любом пакете (nano) с помощью следующей команды:

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

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

Расширенное использование APT

Вы также можете проверить наличие нарушенных зависимостей с помощью следующей команды.

Вы должны увидеть следующий вывод:

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

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

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

Вы должны увидеть следующий вывод:

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

Вы можете получить список всех доступных опций с помощью APT, выполнив следующую команду:

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

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

Здесь мы сделаем небольшое отступление и напомним современную политику поддержки дистрибутивов Ubuntu. Если коротко, то основу линейки составляют дистрибутивы с длительным сроком поддержки - LTS, именно они рекомендуются для стабильной работы или серверного применения. В промежутках между выпусками LTS выпускаются "стандартные " релизы, в которых могут обкатываться новые технологии и поэтому они могут работать нестабильно.

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

old-release-upgrade-001.jpg

Как видим, на момент написания данной статьи, актуальными являются LTS-релизы 12.04, поддержка которого заканчивается в апреле 2017, 14.04 и 16.04. Из стандартных релизов поддерживается только текущий - 16.10. Однако если мы заглянем в репозитории, то увидим там директории для уже снятых с поддержки дистрибутивов 15.04 и 15.10, а также находящегося в разработке 17.04.

old-release-upgrade-002.jpg

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

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

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

old-release-upgrade-007.jpg

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

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

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

Затем откроем /etc/apt/sources.list по умолчанию данный файл содержит только "родные" репозитории, но на всякий случай проверим его содержимое и удалим или закомментируем адреса сторонних репозиториев (если обнаружим). Подробнее о том, какие репозитории являются штатными можно прочитать здесь.

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

Снова откроем файл и убедимся, что все нужные нам строки "волшебным образом" изменились.

old-release-upgrade-009.jpg

Затем обновим список пакетов командой:

И перейдем непосредственно к обновлению:

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

old-release-upgrade-010.jpg

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

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

old-release-upgrade-011.jpg

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

Как видим - мы успешно обновили снятую с поддержки 15.04 до актуальной 16.04 LTS.

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

old-release-upgrade-013.jpg

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


Как я могу обновить один пакет, используя apt-get в Ubuntu ?, Есть ли способ обновить один пакет, используя apt-get в Debian ?

Наиболее распространенным способом обновления пакетов в Ubuntu / Debian является запуск команды sudo apt-get upgrade.

Проблема заключается в том, что все установленные пакеты будут обновлены до последних версий, доступных в настроенных репозиториях Ubuntu.

Что, если вы хотите обновить один пакет с помощью apt-get на машине с Ubuntu или Debian?

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

Обновите отдельный пакет в Ubuntu / Debian с помощью apt-get

Чтобы обновить отдельный пакет с помощью apt-get в любой системе на основе Ubuntu / Debian, используйте синтаксис:

Это будет работать для всех систем Ubuntu, Debian и Linux Mint.

Замените packagename на имя пакета, который вы хотите обновить.

Смотрите пример ниже, чтобы обновить Ubuntu-Keyring.

Обновите несколько пакетов в Ubuntu / Debian / Linux Mint

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

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

Обновите один пакет или несколько пакетов в Ubuntu с помощью скрипта

Мы можем создать простой скрипт, который будет передавать имена пакетов в качестве аргументов каждый раз, когда вы хотите обновить отдельный пакет с помощью apt-get в системе Ubuntu или Debian.

Создайте скрипт в /usr/local/bin/myupgrade с содержимым ниже.

Дайте скрипту бит выполнения.

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

Чтобы обновить один пакет, передайте один аргумент в конце

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

Если пакет еще не установлен, скрипт спросит вас, хотите ли вы установить его. Подтвердите нажатием «Y» или «y».

Это конец нашего руководства о том, как обновить отдельный пакет с помощью apt-get в Ubuntu / Debian.

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