LinuxFAQ.ru

apt install —only-upgrade: как обновить один пакет в Linux без полной системы

Иногда в Linux необходимо обновить только один пакет, а не всю систему целиком. Эта статья покажет, как сделать это с помощью apt на примере пакета curl, используя параметр --only-upgrade.

Почему стоит использовать apt install —only-upgrade

  • Массовое обновление занимает больше времени и может нарушить стабильность системы.
  • Обновление всех пакетов иногда приводит к конфликтам зависимостей.
  • Необходимо протестировать новую версию конкретного пакета без влияния на другие компоненты.
  • Экономия трафика и ресурсов — особенно на серверах с ограниченной пропускной способностью.

Пошаговое решение

Шаг 1. Обновите индекс пакетов

sudo apt update

Команда обновляет список пакетов в системе. Пример вывода:

Get:1 http://archive.ubuntu.com/ubuntu focal InRelease [265 kB]
Fetched 2,345 kB in 2s (1,050 kB/s)
Reading package lists... Done
Building dependency tree       
Reading state information... Done
All packages are up to date.

Шаг 2. Проверьте доступные версии пакета

apt policy curl

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

curl:
  Installed: 7.68.0-1ubuntu2.18
  Candidate: 7.68.0-1ubuntu2.19
  Version table:
     7.68.0-1ubuntu2.19 500
        500 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
 *** 7.68.0-1ubuntu2.18 100
        100 /var/lib/dpkg/status

Здесь видно, что доступна новая версия 7.68.0-1ubuntu2.19.

Шаг 3. Обновите только этот пакет

sudo apt install --only-upgrade curl

Параметр --only-upgrade заставляет apt обновить только установленный пакет, не устанавливая новые. Пример вывода:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be upgraded:
  curl
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 234 kB of archives.
After this operation, 2,048 B of additional disk space will be used.
Do you want to continue? [Y/n]

Шаг 4. Проверьте результат обновления

dpkg -s curl | grep Version

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

Version: 7.68.0-1ubuntu2.19

Шаг 5. Очистите кэш (по желанию)

sudo apt clean

Эта команда удаляет скачанные .deb файлы из /var/cache/apt/archives, освобождая место и предотвращая конфликты при будущих обновлениях.

Альтернативные методы

Если по какой-то причине параметр --only-upgrade не работает, можно использовать аналогичные команды:

sudo apt-get install --only-upgrade curl

или, если установлен aptitude:

sudo aptitude install curl --target-release stable

Для систем с RPM (Fedora, CentOS, AlmaLinux) аналог — sudo dnf upgrade curl или sudo yum update curl.

Проверка результата

  1. Убедитесь, что пакет обновлён:
    dpkg -l | grep curl
  2. Проверьте версию программы:
    curl --version

    Пример вывода:

    curl 7.68.0 (x86_64-pc-linux-gnu) libcurl/7.68.0 OpenSSL/1.1.1f
  3. Если это сервис, перезапустите его:
    sudo systemctl restart service_name

Как избежать проблем в будущем

  • Регулярно обновляйте индекс пакетов (sudo apt update).
  • Перед важными обновлениями делайте резервные копии.
  • Используйте --only-upgrade для избирательного обновления важных компонентов.
  • Перед обновлением проверяйте доступные версии с помощью apt policy.

FAQ

Почему apt install без —only-upgrade может установить новые пакеты?
Без этого параметра apt может добавить недостающие зависимости или установить пакет, если он отсутствует.

Можно ли обновить вручную через .deb файл?
Да, но это повышает риск конфликтов зависимостей. Лучше использовать apt с официальных репозиториев.

Что делать, если обновление вызывает ошибки?
Проверьте логи (/var/log/apt/), выполните sudo apt install --reinstall curl или откатите пакет к предыдущей версии.

Смотрите также: Как откатить пакет до предыдущей версии в apt.

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

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

Свежие материалы