пятница, 13 марта 2015 г.

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


Данная статья короткая и в ней расскажу, чем отличается команда apt-get upgrade от apt-get dist-upgrade.
А также расскажу, почему лучше использовать команду apt-get dist-upgrade.
dist-upgrade vs upgrade
Исчерпывающие ответы можно получить из документации Debian:


Также можно обратиться к мануалу в системе (если знаете английский язык):

man apt-get dist-upgrade

Если по-русски, то вот описание команд из мануала:
upgrade
upgrade используется для установки новейших версий всех установленных пакетов системы из источников, указанных в /etc/apt/sources.list. Будут разысканы новейшие версии установленных в настоящий момент пакетов и произведено обновление; ни в коем случае не будет удалено ни одного установленного пакета или установлено нового пакета, не имеющего уже установленной в системе предыдущей версии. Текущие версии установленных в настоящий момент пакетов, если они не могут быть обновлены новыми версиями без изменения статуса других пакетов, будут оставлены в неизменном виде. Для того, чтобы apt-get узнал о существовании доступных новых версиях пакетов, данной команде должна предшествовать команда update.

dist-upgrade
dist-upgrade, в дополнение выполняет функцию upgrade, а также разумно управляет изменением зависимостей с новыми версиями пакетов; apt-get имеет «умную» систему разрешения конфликтов и она будет в случае необходимости пытаться произвести обновление наиболее важных пакетов за счет менее важных. Файл /etc/apt/sources.list содержит список источников для получения пакетов, из которых будут получены файлы пакетов.
Таким образом, когда вы обновляете систему с помощью команды: 
sudo apt-get upgrade
то у вас только обновляются установленные пакеты, при этом могут возникнуть конфликты и неудовлетворенные зависимости и новые пакеты не будут устанавливаться.
Команда же: 
sudo apt-get dist-upgrade
удалит старые пакеты, разрешит конфликты, доставит необходимые зависимости, доставит новые пакеты, если требуется. Более умный и гибкий инструмент обновления системы.
Именно поэтому, я советую пользоваться dist-upgrade для обновления системы, а про upgrade вообще забыть.
И да команда:
sudo apt-get dist-upgrade
не обновляет версию дистрибутива Ubuntu,
для обновления дистрибутива до следующей версии есть другая отдельная команда: 
do-release-upgrade
Перед выполнением которой нужно очень долго подумать, прежде чем применять на LTS версии  Ubuntu (на дистрибутиве с долгосрочной версией поддержки). 
Кроме того, стоит упомянуть, что можно заблокировать обновление каких-либо пакетов:

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

1 комментарий: