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

Материал из ALT Linux Wiki
Перейти к навигации Перейти к поиску
м (init off fresh M40->M51 (and overall) experience)
 
 
(не показано 35 промежуточных версий 14 участников)
Строка 1: Строка 1:
[[Категория:Admin]]
Как правило, возможно обновление установленного дистрибутива ALT Linux до следующей версии без необходимости переустановки заново.
[[Категория:Branches]]
 
[[Категория:Changes]]
При обновлении следует придерживаться нескольких правил, чтоб избежать неприятностей в виде удаления пакетов и развала системы по причине неосмотрительно отданной Вами административной команды.
[[Категория:Upgrade]]
 
[[Категория:FAQ]]
Само обновление производится путём указания требуемых репозиториев в файлах {{path|/etc/apt/sources.list.d/*.list}}, {{path|/etc/apt/sources.list}} и выполнения команд {{cmd|apt-get update && apt-get dist-upgrade}}
 
<source lang=bash>
# apt-get update && apt-get dist-upgrade
</source>
 
либо эквивалентными действиями в графической утилите {{pkg|synaptic}}; после чего следует обновить и ядро командой {{cmd|update-kernel}} (не реализовано в Synaptic).
 
<source lang=bash>
# update-kernel
</source>
 
Если при попытке сделать {{cmd|apt-get dist-upgrade}} выводится ругань о неудовлетворённых зависимостях, то следует обновить сначала apt и rpm:


При обновлении дистрибутивов ALT Linux до новых версий следует придерживаться нескольких правил, чтоб избежать неприятностей в виде удаления пакетов и развала системы по причине неосмотрительно отданной Вами административной команды.
<source lang=bash>
# apt-get update && apt-get install apt rpm && apt-get dist-upgrade
</source>


Само обновление производится путём указания требуемых репозиториев в файлах {{path|/etc/apt/sources.list.d/*.list}}, {{path|/etc/apt/sources.list}} и отдания команд {{cmd|apt-get update; apt-get dist-upgrade}} либо эквивалентными действиями в графической утилите {{pkg|synaptic}}.
В любом случае рекомендуется перед {{cmd|apt-get dist-upgrade}} обновлять <tt>apt</tt> и <tt>rpm</tt>.


== В любом случае ==
== В любом случае ==
* '''не смешивайте репозитории различных версий (и особенно с нестабильным [[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}}.
* при существенном количестве кандидатов на удаление лучше отказаться от dist-upgrade, перепроверить конфигурацию репозиториев и посоветоваться в рассылке community@
* при существенном количестве кандидатов на удаление лучше отказаться от dist-upgrade, перепроверить конфигурацию репозиториев и посоветоваться в рассылке community@
* в ubuntu и ей подобных дистрибутивах принята другая последовательность команд (apt-get update; apt-get upgrade). В дистрибутивах ALT она в общем случае не работает, т.к. не отслеживает изменение зависимостей. Применение такой последовательности команд ведёт к возникновению неисправимых ошибок в зависимостях.


== В пределах версии ==
== В пределах версии ==
* если к дистрибутиву выпускаются обновления, то можно оставить только репозиторий <tt>main</tt> дистрибутива и соответствующий репозиторий <tt>updates</tt>; в общем случае обновления можно получать из соответствующего дистрибутиву бранча (например, [[Branches/4.0|4.0/branch]] для Server 4.0 или [[Branches/p5|p5/branch]] для Альт Линукс Школьный 5.0)
* обновления можно получать из соответствующего дистрибутиву бранча (например, [[Branches/p8|p8/branch]] для Альт p8 или [[Branches/p5|p5/branch]] для Альт Линукс Школьный 5.0)
* '''смешивать updates и бранч смысла нет'''


== Между версиями ==
== Между версиями ==
* '''не следует предпринимать «прыжки» дальше, нежели на соседний бранч!'''<br>например, процедура по возможности безболезненного обновления с Server 4.0 на бранч 5.1 выглядит как цепочка обновлений между ветками: 4.0->4.1->5.0->5.1
* '''не следует предпринимать «прыжки» дальше, нежели на соседний бранч!'''<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>


== Ссылки ==
== Ссылки ==
* [[Changes]] — страничка про наиболее царапучие изменения; содержит также ссылки на страницы по бранчам и весьма рекомендуемые к изучению заранее — по [[Changes/rpm|rpm]] и [[Changes/apt|apt]]
* [[Changes]] — страничка про наиболее царапучие изменения; содержит также ссылки на страницы по бранчам и весьма рекомендуемые к изучению заранее — по [[Changes/rpm|rpm]] и [[Changes/apt|apt]]
<references />
[[Категория:Branches]]
[[Категория:Changes]]
[[Категория:Admin]]
[[Категория:FAQ]]
[[Категория:Upgrade]]
{{Category navigation|title=Обновление|category=Upgrade|sortkey={{SUBPAGENAME}}}}

Текущая версия от 08:35, 4 февраля 2022

Как правило, возможно обновление установленного дистрибутива 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.

В любом случае[править]

  • не смешивайте репозитории различных версий (и особенно с нестабильным 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 с его участием в качестве промежуточной точки проходит мягче, чем непосредственно.