Обновление ОС: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
 
(не показано 30 промежуточных версий 13 участников)
Строка 1: Строка 1:
[[Категория:Branches]]
[[en:Updating the os]]
[[Категория:Changes]]
Под обновлением операционной системы обычно подразумевается приведение всех её компонентов в актуальное состояние. Обратитесь далее к нужному разделу: Обновление ОС или Обновление до следующей версии ОС.
[[Категория:Upgrade]]
 
== Обновление ОС ==
{{Внимание | здесь рассматривается обновление в рамках одной ветки (бренча) репозитория, переход с одной ветки на другую требует особых действий, например, [[Update/p10 | oбновление до ветки p10]] }}
 
Выполнить обновление можно командами
<source lang=bash>
# apt-get update && apt-get dist-upgrade && update-kernel
</source>
 
или одной командой
<source lang=bash>
# epm full-upgrade
</source>
 
{{cmd|epm full-upgrade}} предпримет все действия по обновлению всех установленных компонентов (в том числе установленных через epm play, flatpak, snap).
 
== Обновление до следующей версии ОС ==
Как правило, возможно обновление установленного дистрибутива ALT Linux до следующей версии без необходимости переустановки заново.
Как правило, возможно обновление установленного дистрибутива ALT Linux до следующей версии без необходимости переустановки заново.


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


Само обновление производится путём указания требуемых репозиториев в файлах {{path|/etc/apt/sources.list.d/*.list}}, {{path|/etc/apt/sources.list}} и выполнения команд {{cmd|apt-get update; apt-get dist-upgrade}}  
Само обновление производится путём указания требуемых репозиториев в файлах {{path|/etc/apt/sources.list.d/*.list}}, {{path|/etc/apt/sources.list}} и выполнения команд {{cmd|apt-get update && apt-get dist-upgrade}}  


<source lang=bash>
<source lang=bash>
apt-get update; apt-get dist-upgrade
# apt-get update && apt-get dist-upgrade
</source>
</source>


Строка 15: Строка 31:


<source lang=bash>
<source lang=bash>
update-kernel
# update-kernel
</source>
</source>


Если при попытке сделать {{cmd|apt-get dist-upgrade}} выводится ругань о неудовлетворённых зависимостях, то следует обновить сначала apt и rpm:


<source lang=bash>
# apt-get update && apt-get install apt rpm && apt-get dist-upgrade
</source>
В любом случае рекомендуется перед {{cmd|apt-get dist-upgrade}} обновлять <tt>apt</tt> и <tt>rpm</tt>.
== Обновление до следующей версии ОС с использованием epm ==
{{main|epm}}
Чтобы выполнить обновление дистрибутива до следующей версии, выполните
<source lang=bash>
# epm release-upgrade
</source>
Обновление включает в себя смену репозиториев, обновление всех пакетов, обновление ядра.
Обновление дистрибутива до Сизифа выполняется следующей командой (рекомендуется только если вы знаете, что делаете):
<source lang=bash>
# epm release-upgrade Sisyphus
</source>


== В любом случае ==
== В любом случае ==
* '''не смешивайте репозитории различных версий (и особенно с нестабильным [[Sisyphus]])!'''
* '''не смешивайте [[Репозитории_ALT_Linux|репозитории]] различных версий (и особенно с нестабильным [[Sisyphus]])!'''
* '''следует указывать один репозиторий''' (возможно, содержащий несколько компонент или архитектурных разделов)<br>не забудьте проверить содержимое {{path|/etc/apt/sources.list.d/*.list}}, среди них несложно пропустить {{path|/etc/apt/sources.list.d/sources.list}} либо {{path|/etc/apt/sources.list.d/cdrom.list}}
* '''следует указывать один репозиторий''' (возможно, содержащий несколько компонент или архитектурных разделов)<br>не забудьте проверить содержимое {{path|/etc/apt/sources.list.d/*.list}}, среди них несложно пропустить {{path|/etc/apt/sources.list.d/sources.list}} либо {{path|/etc/apt/sources.list.d/cdrom.list}} Как вариант, посредством '''apt-repo rm all''' отключить сразу все, это не удалит записи о репозиториях, а лишь закомментирует. После чего вручную подключить (раскомментировать, удалив # в строках) только нужные.
* для смены источника, начиная с p7, так же удобно использовать утилиту {{cmd|apt-repo}}.
{{main|apt-repo}}
* наиболее общим репозиторием для каждого дистрибутива, начиная с версии 3.0, является соответствующий [[Branches|бранч]]
* наиболее общим репозиторием для каждого дистрибутива, начиная с версии 3.0, является соответствующий [[Branches|бранч]]
* начиная с ветки 4.0, '''обязательно''' подключение не только архитектурно-зависимого (<tt>i586</tt> или <tt>x86_64</tt>), но и межархитектурного ('''<tt>noarch</tt>''') раздела соответствующего репозитория второй строкой
* начиная с ветки 4.0, '''обязательно''' подключение не только архитектурно-зависимого (<tt>i586</tt> или <tt>x86_64</tt>), но и межархитектурного ('''<tt>noarch</tt>''') раздела соответствующего репозитория второй строкой
* если используется ПО со связанной ядерной/пользовательской частью (например, драйвер [[NVIDIA]] или [[VirtualBox]]) -- '''необходимо''' также выполнить [[обновление ядра]] при помощи {{pkg|update-kernel}}.
* если используется ПО со связанной ядерной/пользовательской частью (например, драйвер [[NVIDIA]] или [[VirtualBox]]) -- '''необходимо''' также выполнить [[обновление ядра]] при помощи {{pkg|update-kernel}}.
* при существенном количестве кандидатов на удаление лучше отказаться от dist-upgrade, перепроверить конфигурацию репозиториев и посоветоваться в рассылке community@
* при существенном количестве кандидатов на удаление лучше отказаться от dist-upgrade, перепроверить конфигурацию репозиториев и посоветоваться в рассылке community@
* в ubuntu и ей подобных дистрибутивах принята другая последовательность команд (apt-get update; apt-get upgrade). В дистрибутивах ALT она в общем случае не работает, т.к. не отслеживает изменение зависимостей. Применение такой последовательности команд ведёт к возникновению неисправимых ошибок в зависимостях.


== В пределах версии ==
== В пределах версии ==
Строка 34: Строка 72:
* '''не следует предпринимать «прыжки» дальше, нежели на соседний бранч!'''<br>например, процедура по возможности безболезненного обновления с Server 4.0 на бранч t6 выглядит как цепочка обновлений между ветками: 4.0=>4.1=>5.0=>5.1=>t6<ref>Несмотря на то, что выпуск дистрибутивов на 5.0/branch был отменён, обновление между 4.1 и 5.1 с его участием в качестве промежуточной точки проходит мягче, чем непосредственно.</ref>
* '''не следует предпринимать «прыжки» дальше, нежели на соседний бранч!'''<br>например, процедура по возможности безболезненного обновления с Server 4.0 на бранч t6 выглядит как цепочка обновлений между ветками: 4.0=>4.1=>5.0=>5.1=>t6<ref>Несмотря на то, что выпуск дистрибутивов на 5.0/branch был отменён, обновление между 4.1 и 5.1 с его участием в качестве промежуточной точки проходит мягче, чем непосредственно.</ref>
* перед попыткой перехода между бранчами '''следует накатить все доступные обновления из текущего''' (особенно {{pkg|rpm}} и {{pkg|apt}} — {{cmd|apt-get update; apt-get install rpm apt}})
* перед попыткой перехода между бранчами '''следует накатить все доступные обновления из текущего''' (особенно {{pkg|rpm}} и {{pkg|apt}} — {{cmd|apt-get update; apt-get install rpm apt}})
* подробности перехода уточняйте на соответствующих страничках для [[Update/p10|p10]], [[Update/p9|p9]], [[Update/p8|p8]] и т.д.
== apt-get upgrade ==
Несмотря на то, что команда upgrade существует, использовать её следует осторожно, либо не использовать вовсе ({{altbug|30867}}). Цитата из "ALT Linux Master 2.0. Руководство системного администратора":
<div style='padding:6px;border:1px solid red;'>Для обновления всех установленных пакетов используется команда apt-get upgrade. Она позволяет обновить те и только те установленные пакеты, для которых в репозитариях, перечисленных в /etc/apt/sources.list, имеются новые версии; при этом из системы не будут удалены никакие другие пакеты. Этот способ полезен при работе со стабильными пакетами приложений, относительно которых известно, что они при смене версии изменяются несущественно.<br><br>
Иногда, однако, происходит изменение в именовании пакетов или изменение их зависимостей. Такие ситуации не обрабатываются командой apt-get upgrade, в результате чего происходит нарушение целостности системы: появляются неудовлетворенные зависимости. Например, переименование пакета MySQL-shared, содержащего динамически загружаемые библиотеки для работы с СУБД MySQL, в libMySQL, отражая общую тенденцию к наименованию библиотек в дистрибутиве, не приводит к тому, что установка обновленной версии libMySQL требует удаления старой версии MySQL-shared. Для разрешения этой проблемы существует режим обновления в масштабе дистрибутива — apt-get dist-upgrade.</div>


== Ссылки ==
== Ссылки ==
Строка 39: Строка 84:
<references />
<references />


[[Категория:Branches]]
[[Категория:Changes]]
[[Категория:Admin]]
[[Категория:FAQ]]
[[Категория:Upgrade]]
[[Категория:Upgrade]]
{{Category navigation|title=Обновление|category=Upgrade|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=Обновление|category=Upgrade|sortkey={{SUBPAGENAME}}}}
[[Категория:Использование Epm]]
[[Категория:Управление ПО]]

Текущая версия от 23:55, 2 июля 2024

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

Обновление ОС

Внимание: здесь рассматривается обновление в рамках одной ветки (бренча) репозитория, переход с одной ветки на другую требует особых действий, например, oбновление до ветки p10

Выполнить обновление можно командами

# apt-get update && apt-get dist-upgrade && update-kernel

или одной командой

# epm full-upgrade

epm full-upgrade предпримет все действия по обновлению всех установленных компонентов (в том числе установленных через epm play, flatpak, snap).

Обновление до следующей версии ОС

Как правило, возможно обновление установленного дистрибутива ALT Linux до следующей версии без необходимости переустановки заново.

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

Само обновление производится путём указания требуемых репозиториев в файлах /etc/apt/sources.list.d/*.list, /etc/apt/sources.list и выполнения команд apt-get update && apt-get dist-upgrade

# apt-get update && apt-get dist-upgrade

либо эквивалентными действиями в графической утилите synaptic; после чего следует обновить и ядро командой update-kernel (не реализовано в Synaptic).

# update-kernel

Если при попытке сделать apt-get dist-upgrade выводится ругань о неудовлетворённых зависимостях, то следует обновить сначала apt и rpm:

# apt-get update && apt-get install apt rpm && apt-get dist-upgrade

В любом случае рекомендуется перед apt-get dist-upgrade обновлять apt и rpm.

Обновление до следующей версии ОС с использованием epm

Основная статья: epm

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

# epm release-upgrade

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

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

# epm release-upgrade Sisyphus

В любом случае

  • не смешивайте репозитории различных версий (и особенно с нестабильным Sisyphus)!
  • следует указывать один репозиторий (возможно, содержащий несколько компонент или архитектурных разделов)
    не забудьте проверить содержимое /etc/apt/sources.list.d/*.list, среди них несложно пропустить /etc/apt/sources.list.d/sources.list либо /etc/apt/sources.list.d/cdrom.list Как вариант, посредством apt-repo rm all отключить сразу все, это не удалит записи о репозиториях, а лишь закомментирует. После чего вручную подключить (раскомментировать, удалив # в строках) только нужные.
  • для смены источника, начиная с p7, так же удобно использовать утилиту apt-repo.
Основная статья: apt-repo
  • наиболее общим репозиторием для каждого дистрибутива, начиная с версии 3.0, является соответствующий бранч
  • начиная с ветки 4.0, обязательно подключение не только архитектурно-зависимого (i586 или x86_64), но и межархитектурного (noarch) раздела соответствующего репозитория второй строкой
  • если используется ПО со связанной ядерной/пользовательской частью (например, драйвер NVIDIA или VirtualBox) -- необходимо также выполнить обновление ядра при помощи update-kernel.
  • при существенном количестве кандидатов на удаление лучше отказаться от dist-upgrade, перепроверить конфигурацию репозиториев и посоветоваться в рассылке community@
  • в ubuntu и ей подобных дистрибутивах принята другая последовательность команд (apt-get update; apt-get upgrade). В дистрибутивах ALT она в общем случае не работает, т.к. не отслеживает изменение зависимостей. Применение такой последовательности команд ведёт к возникновению неисправимых ошибок в зависимостях.

В пределах версии

  • обновления можно получать из соответствующего дистрибутиву бранча (например, p8/branch для Альт p8 или p5/branch для Альт Линукс Школьный 5.0)

Между версиями

  • не следует предпринимать «прыжки» дальше, нежели на соседний бранч!
    например, процедура по возможности безболезненного обновления с Server 4.0 на бранч t6 выглядит как цепочка обновлений между ветками: 4.0=>4.1=>5.0=>5.1=>t6[1]
  • перед попыткой перехода между бранчами следует накатить все доступные обновления из текущего (особенно rpm и apt — apt-get update; apt-get install rpm apt)
  • подробности перехода уточняйте на соответствующих страничках для p10, p9, p8 и т.д.

apt-get upgrade

Несмотря на то, что команда upgrade существует, использовать её следует осторожно, либо не использовать вовсе (altbug #30867). Цитата из "ALT Linux Master 2.0. Руководство системного администратора":

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

Иногда, однако, происходит изменение в именовании пакетов или изменение их зависимостей. Такие ситуации не обрабатываются командой apt-get upgrade, в результате чего происходит нарушение целостности системы: появляются неудовлетворенные зависимости. Например, переименование пакета MySQL-shared, содержащего динамически загружаемые библиотеки для работы с СУБД MySQL, в libMySQL, отражая общую тенденцию к наименованию библиотек в дистрибутиве, не приводит к тому, что установка обновленной версии libMySQL требует удаления старой версии MySQL-shared. Для разрешения этой проблемы существует режим обновления в масштабе дистрибутива — apt-get dist-upgrade.

Ссылки

  • Changes — страничка про наиболее царапучие изменения; содержит также ссылки на страницы по бранчам и весьма рекомендуемые к изучению заранее — по rpm и apt
  1. Несмотря на то, что выпуск дистрибутивов на 5.0/branch был отменён, обновление между 4.1 и 5.1 с его участием в качестве промежуточной точки проходит мягче, чем непосредственно.