Обновление ОС: различия между версиями
Нет описания правки |
|||
(не показано 13 промежуточных версий 8 участников) | |||
Строка 6: | Строка 6: | ||
При обновлении следует придерживаться нескольких правил, чтоб избежать неприятностей в виде удаления пакетов и развала системы по причине неосмотрительно отданной Вами административной команды. | При обновлении следует придерживаться нескольких правил, чтоб избежать неприятностей в виде удаления пакетов и развала системы по причине неосмотрительно отданной Вами административной команды. | ||
Само обновление производится путём указания требуемых репозиториев в файлах {{path|/etc/apt/sources.list.d/*.list}}, {{path|/etc/apt/sources.list}} и выполнения команд {{cmd|apt-get update | Само обновление производится путём указания требуемых репозиториев в файлах {{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 update && apt-get dist-upgrade | ||
</source> | </source> | ||
Строка 18: | Строка 18: | ||
</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>. | |||
== В любом случае == | == В любом случае == | ||
* '''не смешивайте репозитории различных версий (и особенно с нестабильным [[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 | * для смены источника, начиная с 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 она в общем случае не работает, т.к. не отслеживает изменение зависимостей. Применение такой последовательности команд ведёт к возникновению неисправимых ошибок в зависимостях. | ||
== В пределах версии == | == В пределах версии == | ||
Строка 36: | Строка 43: | ||
* '''не следует предпринимать «прыжки» дальше, нежели на соседний бранч!'''<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/p8]] | * подробности перехода уточняйте на соответствующих страничках для [[Update/p8|p8]], [[Update/p7|p7]] и т.д. | ||
== 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> | |||
== Ссылки == | == Ссылки == |
Версия от 19:03, 2 июня 2019
Как правило, возможно обновление установленного дистрибутива 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.
- наиболее общим репозиторием для каждого дистрибутива, начиная с версии 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)
- подробности перехода уточняйте на соответствующих страничках для p8, p7 и т.д.
apt-get upgrade
Несмотря на то, что команда upgrade существует, использовать её следует осторожно, либо не использовать вовсе (altbug #30867). Цитата из "ALT Linux Master 2.0. Руководство системного администратора":
Иногда, однако, происходит изменение в именовании пакетов или изменение их зависимостей. Такие ситуации не обрабатываются командой apt-get upgrade, в результате чего происходит нарушение целостности системы: появляются неудовлетворенные зависимости. Например, переименование пакета MySQL-shared, содержащего динамически загружаемые библиотеки для работы с СУБД MySQL, в libMySQL, отражая общую тенденцию к наименованию библиотек в дистрибутиве, не приводит к тому, что установка обновленной версии libMySQL требует удаления старой версии MySQL-shared. Для разрешения этой проблемы существует режим обновления в масштабе дистрибутива — apt-get dist-upgrade.
Ссылки
- Changes — страничка про наиболее царапучие изменения; содержит также ссылки на страницы по бранчам и весьма рекомендуемые к изучению заранее — по rpm и apt
- ↑ Несмотря на то, что выпуск дистрибутивов на 5.0/branch был отменён, обновление между 4.1 и 5.1 с его участием в качестве промежуточной точки проходит мягче, чем непосредственно.