Linux обновить определенный пакет

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

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

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

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

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

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

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

  • -v, —version — выводит версию утилиты;
  • -h, —help — выводит справку по использованию утилиты;
  • -y, —yes — автоматически отвечать «да» на все возникающие вопросы;
  • —assume-no — автоматически отвечать «нет» на все возникающие вопросы;
  • -d, —download-only — только скачать пакеты и больше ничего не делать;
  • -f, —fix-broken — исправить недостающие зависимости;
  • —no-download — ничего не загружать, использовать только пакеты из кэша;
  • -s, —simulate — режим симуляции, никакие операции не выполняются, только выводится информация на экран;
  • —allow-unauthenticated — позволяет установить пакеты, из репозиториев, для которых нет GPG подписи;
  • —no-install-recommends — не устанавливать рекомендованные пакеты, по умолчанию будут установлены;
  • -m, —ignore-missing — игнорировать пакеты, которые существует;
  • -q, —quiet — выводить минимум информации, не показывать прогресс бар;
  • -V, —verbose-versions — показывать полные версии обновленных пакетов;
  • —only-upgrade — не устанавливать новые пакеты, только обновлять;
  • —allow-downgrades — разрешить откатывать версию пакетов;
  • —reinstall — переустановить пакет если он уже установлен;

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

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

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

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

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

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

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

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

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

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

sudo apt list —all-versions

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

Источник

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

Как я могу обновить один пакет, используя 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, используйте синтаксис:

sudo apt-get install --only-upgrade packagename

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

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

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

$ sudo apt-get install --only-upgrade ubuntu-keyring Reading package lists… Done Building dependency tree Reading state information… Done The following packages will be upgraded: ubuntu-keyring 1 upgraded, 0 newly installed, 0 to remove and 190 not upgraded. Need to get 22.4 kB of archives. After this operation, 4,096 B of additional disk space will be used. Get:1 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 ubuntu-keyring all 2018.09.18.1~18.04.0 [22.4 kB] Fetched 22.4 kB in 1s (34.5 kB/s) (Reading database … 261497 files and directories currently installed.) Preparing to unpack …/ubuntu-keyring_2018.09.18.1~18.04.0_all.deb … Unpacking ubuntu-keyring (2018.09.18.1~18.04.0) over (2018.02.28) … Setting up ubuntu-keyring (2018.09.18.1~18.04.0) …

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

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

sudo apt-get install --only-upgrade thunderbird cinnamon cinnamon-common

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

Читайте также:  Create file systems in linux

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

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

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

#!/bin/bash pakage_names="$@" [[ -z $pakage_names ]] && < echo "Usage: $(basename $0) package1 package 2 package.."; exit 1; ># Check if package is already installed for package in $; do if dpkg -s "$package" 2>/dev/null | grep -q Status.*installed; then echo "Attempting to upgrade $package" sudo apt-get --only-upgrade -y install $package else echo "Package $package is not installed, install it (y/n): " read selection if [[ $selection == "y" ]] || [[ $selection == "Y" ]]; then sudo apt-get -y install $package else echo "Okay!, next time" fi fi done 

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

sudo chmod +x /usr/local/bin/myupgrade

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

$ myupgrade Usage: myupgrade package1 package 2 package..

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

$ myupgrade util-linux Attempting to upgrade util-linux [sudo] password for jmutai: Reading package lists… Done Building dependency tree Reading state information… Done Suggested packages: util-linux-locales The following packages will be upgraded: util-linux 1 upgraded, 0 newly installed, 0 to remove and 182 not upgraded. Need to get 902 kB of archives. After this operation, 0 B of additional disk space will be used. Get:1 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 util-linux amd64 2.31.1-0.4ubuntu3.3 [902 kB] Fetched 902 kB in 2s (518 kB/s) (Reading database … 261497 files and directories currently installed.) Preparing to unpack …/util-linux_2.31.1-0.4ubuntu3.3_amd64.deb … Unpacking util-linux (2.31.1-0.4ubuntu3.3) over (2.31.1-0.4ubuntu3.2) … Setting up util-linux (2.31.1-0.4ubuntu3.3) … Processing triggers for mime-support (3.60ubuntu1) … Processing triggers for ureadahead (0.100.0-20) … Processing triggers for systemd (237-3ubuntu10.9) … Processing triggers for man-db (2.8.3-2ubuntu0.1) …

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

$ myupgrade nplan openssl perl

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

$ myupgrade elinks Package elinks is not installed, install it (y/n) y Reading package lists… Done Building dependency tree Reading state information… Done The following additional packages will be installed: elinks-data libfsplib0 liblua5.1-0 libtre5 Suggested packages: elinks-doc tre-agrep The following NEW packages will be installed: elinks elinks-data libfsplib0 liblua5.1-0 libtre5 0 upgraded, 5 newly installed, 0 to remove and 169 not upgraded. Need to get 1,062 kB of archives. .

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

Читайте также:  Создать установочный образ linux

Я надеюсь, что это было полезно, и спасибо за посещение.

Источник

Linux обновить определенный пакет

Как обновить только один пакет в Ubuntu / Debian

Как обновить только один пакет, используя apt в Ubuntu / Debian / Linux Mint?

Обычно, самым распространенным способом обновления пакетов является запуск команды apt upgrade. Но проблема заключается в том, что все установленные пакеты будут обновлены до последних версий, доступных в настроенных репозиториях. А что, если Вы хотите обновить только один пакет с помощью apt на хосте с Ubuntu или Debian?

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

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

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

# apt install --only-upgrade package

Где package – имя пакета, который вы хотите обновить. Это будет работать для всех систем Ubuntu, Debian и Linux Mint.

Приведем пример обновления пакета curl:

# apt install —only-upgrade curl
Reading package lists. Done
Building dependency tree
Reading state information. Done
The following additional packages will be installed:
libcurl4
The following packages will be upgraded:
curl libcurl4
2 upgraded, 0 newly installed, 0 to remove and 137 not upgraded.
Need to get 597 kB of archives.
After this operation, 2,048 B of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 http://security.debian.org buster/updates/main amd64 curl amd64 7.64.0-4+deb10u2 [265 kB]
Get:2 http://security.debian.org buster/updates/main amd64 libcurl4 amd64 7.64.0-4+deb10u2 [332 kB]
Fetched 597 kB in 5s (121 kB/s)
Reading changelogs. Done
(Reading database . 314016 files and directories currently installed.)
Preparing to unpack . /curl_7.64.0-4+deb10u2_amd64.deb .
Unpacking curl (7.64.0-4+deb10u2) over (7.64.0-4+deb10u1) .
Preparing to unpack . /libcurl4_7.64.0-4+deb10u2_amd64.deb .
Unpacking libcurl4:amd64 (7.64.0-4+deb10u2) over (7.64.0-4+deb10u1) .
Setting up libcurl4:amd64 (7.64.0-4+deb10u2) .
Setting up curl (7.64.0-4+deb10u2) .
Processing triggers for man-db (2.8.5-2) .
Processing triggers for libc-bin (2.28-10) .

Теперь Вы знаете, как обновить только один пакет, используя apt в Ubuntu / Debian / Linux Mint и других линукс-дистрибутивах на их основе.

Источник

Оцените статью
Adblock
detector