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

Решил написать себе шпаргалку про правильное выполнение обновлений. Я покажу на примере обновления версии PHP, так, чтобы версия с 5.3 не обновилась на 5.4. Обратите внимание на правильный порядок выполнения команд.

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

# aptitude update

Теперь проверим, какие пакеты хотят обновиться:

# aptitude search ?upgradable
i   openssh-server                                           - secure shell (SSH) server, for secure access from remote machines  
i   php-pear                                                 - PEAR - PHP Extension and Application Repository                    
i   php5                                                     - server-side, HTML-embedded scripting language (metapackage) 

Ага, у нас хочется обновиться пакет php5, но мы не хотим, чтобы он обновился на версию выше чем у нас есть. А давайте посмотрим, какая у нас версия php:

# aptitude show php5
Package: php5                            
State: installed
Automatically installed: no
Version: 5.3.3-7+squeeze17
Priority: optional
Section: php
Maintainer: Debian PHP Maintainers <pkg-php-maint@lists.alioth.debian.org>
Uncompressed Size: 20.5 k
Depends: libapache2-mod-php5 (>= 5.3.3-7+squeeze17) | libapache2-mod-php5filter (>= 5.3.3-7+squeeze17) | php5-cgi (>=
         5.3.3-7+squeeze17), php5-common (>= 5.3.3-7+squeeze17)
...

Так, видим что наш PHP версии 5.3.3-7+squeeze17 5.4. Теперь давайте проверим, на какую версию он хочет обновиться, для этого мы смотрим версию пакета, который будет установлен (см. справа):

aptitude search <package> -F "%c %p %d %V"

Подробнее:

%c = status (package installed or not)
%p = package's name
%d = package's description
%V = available package's version

Так, видим что наш PHP хочет обновиться до обновленной версии 5.3, а нас это устраивает.

Теперь у нас есть 2 варианта обновления:

  1. aptitude safe-upgrade (она же aptitude upgrade) - обновить, установленные версии пакетов, не изменив при этом их состав. Т. е. будут обновлены те пакеты системы, для обновления которых не требуется удалять другие пакеты. Aptitude сообщит об этой ситуации, но эти пакеты не обновит.
  2. aptitude full-upgrade (она же aptitude dist-upgrade) - обновить все пакеты, для которых есть новые версии. Если потребуется удаление пакетов, оно будет выполнено.

Т.к. версия PHP остается 5.3, то я выбираю 2-й вариант.

Источник: 1 - 2

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

aptitude search '~i' -F '%p %V' | grep php

Оцени публикацию:
  • 5,18
Оценили человек: 5
Теги : обновление, update

Похожие статьи:


Комментарии посетителей:
  • Посмотреть версию пакета, который будет установлен, можно так:
    aptitude search <package> -F "%c %p %d %V"
    %c = status (package installed or not)
    %p = package's name
    %d = package's description
    %V = available package's version
    Подробнее http://linux.die.net/man/8/aptitude
    16 июня 2014, 05:29 коммент полезен : 0 # Subbota (гость)
  • aptitude search '~i' -F '%p %V' | grep php
    отображает установленные пакеты, но не их версию, а последнюю версию данного пакета в репозитории (а точнее в кэше)
    при фактическом отличии версии установленного пакета и версии доступного в репозитории пакета, в данном можно убедится командой aptitude show имя_пакета, которая выведет версию установленного пакета
    04 апреля 2017, 10:40 коммент полезен : 0 # Лисандр
Предложения и пожелания:
Ваше имя:
Ваш E-mail:
Сколько будет Οдин + Τри
Главная
X

youtube.com/watch?v=7hFivbgIEqk

При полном или частичном использовании материалов данного сайта, ссылка на сайт "yapro.ru" обязательна как на источник информации.
Автоматический импорт материалов и информации с сайта запрещен.
Copyrights © 2007 - 2018 YaPro.Ru

Главная » Веб-мастеру » Unix »