Здравствуйте!
Купил новый HDD и торжественно водрузил на него Tumbleweed 64-bit.
Тут же система захотела обновить 1892 пакета!
Ну на, обновляйся.
Обновление завершилось вот чем:
Detected 7 file conflicts:
File /usr/lib64/libkdcraw.so.23.0.0
from install of
digikam-libs-4.14.0-2.1.x86_64 (openSUSE-Tumbleweed-Oss)
conflicts with file from package
libkdcraw23-15.08.2-1.1.x86_64 (@System)
File /usr/lib64/libkexiv2.so.11.3.0
from install of
digikam-libs-4.14.0-2.1.x86_64 (openSUSE-Tumbleweed-Oss)
conflicts with file from package
libkexiv2-11-15.08.2-1.1.x86_64 (@System)
File /usr/lib64/libkface.so.3.0.0
from install of
digikam-libs-4.14.0-2.1.x86_64 (openSUSE-Tumbleweed-Oss)
conflicts with file from package
libkface3-15.08.2-1.1.x86_64 (@System)
File /usr/lib64/libkgeomap.so.2.1.0
from install of
digikam-libs-4.14.0-2.1.x86_64 (openSUSE-Tumbleweed-Oss)
conflicts with file from package
libkgeomap2-15.08.2-1.1.x86_64 (@System)
File /usr/lib64/libkipi.so.11.1.0
from install of
digikam-libs-4.14.0-2.1.x86_64 (openSUSE-Tumbleweed-Oss)
conflicts with file from package
libkipi11-15.08.2-1.1.x86_64 (@System)
File /usr/lib64/libksane.so.0.2.0
from install of
digikam-libs-4.14.0-2.1.x86_64 (openSUSE-Tumbleweed-Oss)
conflicts with file from package
libksane0-15.08.2-1.1.x86_64 (@System)
File /usr/share/kde4/servicetypes/kipiplugin.desktop
from install of
digikam-libs-4.14.0-2.1.x86_64 (openSUSE-Tumbleweed-Oss)
conflicts with file from package
libkipi11-15.08.2-1.1.x86_64 (@System)
**Конфликты файлов случаются, когда два пакета пытаются установить файлы с одинаковым именем, но разным содержимым. Если вы продолжите, конф**
ликтующие файлы будут заменены с потерей предыдущего содержимого.
**Продолжить? да/нет] (нет): нет**
Семь лет сижу на openSUSE, а такое встретил первый раз!
Складывается ощущение, что разработчики еще не отошли от встречи Нового Года.
Нам все время объясняют сусевские Гуру, что это роллинг-релиз. То-есть не надо стремиться качать сегодняшний снапшот. Можно поставить снапшот “второй свежести”, а потом система сама обновится до актуального состояния. Ошибка, которую я заловил, показала, что это не так.
На этом форуме модераторы все время тыкали меня носом:
Предположим, у меня стоит openSUSE 13.1.
Вышла openSUSE 13.2.
Делаешь zypper dup и система обновляется до 13.2.
Здесь роллинг-дистрибутив.
Какой zypper dup?
Любой. Абсолютно любой zypper dup, который бесконфликтно обновит вас до последнего снапшота.
Не знаю, как именно вы загнали систему в это состояние, но выйти из него лучше именно так.
Читаем man: update (up) options] packagename]…
Update installed packages with newer versions, where possible.
This command will not update packages which would require change of package vendor unless the vendor is specified in /etc/zypp/vendors.d, or which would require manual resolution of problems with dependencies. Such non−installable updates will then be listed in separate section of the summary as “The following package updates will NOT be installed:”.
To update individual packages, specify one or more package names. You can use the ***** and ? wildcard characters in the package names to specify multiple packages matching the pattern.
dist−upgrade (dup) options]
Perform a distribution upgrade. This command applies the state of (specified) repositories onto the system; upgrades (or even downgrades) installed packages to versions found in repositories, removes packages that are no longer in the repositories and pose a dependency problem for the upgrade, handles package splits and renames, etc.
If no repositories are specified via the −−from option, zypper will do a global upgrade with all defined repositories. This global form of dup will also consider unchanged installed packages and re−evaluate their dependencies. This can be a problem if the system contains conflicting repositories, like repositories for two different distribution releases. This often happens if one forgets to remove an older release repository after adding a new one, say openSUSE 13.1 and openSUSE 13.2.
For all repositories which have the distribution version within their URL (like http://download.opensuse.org/distribution/13.1/repo/oss) using the $releasever variable instead may be helpful (http://download.opensuse.org/distribution/$releasever/repo/oss). The variable is per default substituted by the current distributions version (13.1) This value can be overwritten using the −−releasever global option. Calling zypper −−releasever 13.2*…* will cause these repos to use the new location (http://download.opensuse.org/distribution/13.2/repo/oss) without need to add/remove anything. Once the dup is performed, $releasever will default to the new distribution version. See section Repository Management for more info about variable substitution.
Note: distribution upgrades in openSUSE are currently only supported between consecutive releases. To upgrade multiple releases, upgrade each consecutive release one at a time. For more details see http://en.opensuse.org/SDB:System_upgrade and the openSUSE release notes at http://doc.opensuse.org/release−notes/.
“Perform a distribution upgrade” > Выполняет обновление дистрибутива до актуального релиза]
У роллинга нет релизов. Еще раз повторяю свой вопрос: как соотносятся команды zypper up и zypper dup применительно к роллинг дистрибутиву?
Up — обновляет только установленные пакеты из репозиториев с которых они были установлены. Здесь не применяется: установка рекомендуемых пакетов (только их обновление), смена поставщика и приоритет репозитория. Например, если мы хотим обновить пакеты из репозитория с более низким приоритетом, сменой поставщика, то мы должны сделать это вручную. В дальнейшем этот пакет будет обновляться только из этого репозитория. Данный метод позволяет поддержать роллинг-релиз в более чистом виде.
Dup — кардинальное изменение установленных пакетов вплоть до их откатки. Здесь применяется: установка рекомендуемых пакетов, смена поставщика и приоритет репозитория. Например, мы установили пакет из репозитория с более низким приоритетом и сменой поставщика, при этом мы еще применили параметр установки только требуемых пакетов ( --no-recommends), тогда при следующем выполнении команды “dup” автоматически произойдет установка пакета из репозитория с более высоким приоритетом, вне зависимости от поставщика, а также будут установлены рекомендуемые пакеты. Данный метод засоряет систему частыми выходами обновлениями, подтягивающие дополнительные зависимости.
Прошу заметить, что это не те рекомендуемые пакеты, которые предполагает параметр" --no-recommends",а те пакеты, которые разруливаются автоматически dup’ом, т. е. пакеты входящие в состав шаблонов и явно прописанные требуемые зависимости в спек-файлах, что не является редкостью.В этом и есть основное отличие dup от up,где dup автоматически решает вопрос с зависимостями, опираясь на список подключенных хранилищ, а up предполагает ручного вмешательства.
Говорят, практика - критерий истины. Включаю ПК. PackageKit радостно лезет в интернет и предлагает мне обновить 32 пакета.
Мы ему не даем этого делать.
linux-xnjy:/home/admin # zypper lu
PackageKit блокирует zypper. Это происходит, если у вас запущен апплет обновлений или другое приложение для управления ПО, использующее PackageKit.
Завершить PackageKit? да/нет] (нет): да
PackageKit всё ещё запущен (возможно, занят).
Попробовать ещё раз? да/нет] (нет): да
Загрузка данных о репозиториях...
Чтение установленных пакетов...
С | Репозиторий | Имя | Текущая версия | Доступная версия | Архитектура
--+-------------------------+----------------------+----------------+------------------+------------
v | openSUSE-Tumbleweed-Oss | Mesa | 11.1.1-131.1 | 11.1.1-132.1 | x86_64
v | openSUSE-Tumbleweed-Oss | Mesa-libEGL1 | 11.1.1-131.1 | 11.1.1-132.1 | x86_64
v | openSUSE-Tumbleweed-Oss | Mesa-libGL1 | 11.1.1-131.1 | 11.1.1-132.1 | x86_64
v | openSUSE-Tumbleweed-Oss | Mesa-libglapi0 | 11.1.1-131.1 | 11.1.1-132.1 | x86_64
v | openSUSE-Tumbleweed-Oss | Mesa-libva | 11.1.1-131.1 | 11.1.1-132.1 | x86_64
v | openSUSE-Tumbleweed-Oss | konsole | 15.12.1-1.1 | 15.12.1-2.1 | x86_64
v | openSUSE-Tumbleweed-Oss | konsole-part | 15.12.1-1.1 | 15.12.1-2.1 | x86_64
v | openSUSE-Tumbleweed-Oss | libgbm1 | 11.1.1-131.1 | 11.1.1-132.1 | x86_64
v | openSUSE-Tumbleweed-Oss | libhogweed4 | 3.1.1-2.3 | 3.2-1.1 | x86_64
v | openSUSE-Tumbleweed-Oss | libhogweed4-32bit | 3.1.1-2.3 | 3.2-1.1 | x86_64
v | openSUSE-Tumbleweed-Oss | libhttp-parser-suse0 | 2.6.0-1.1 | 2.6.0-2.1 | x86_64
v | openSUSE-Tumbleweed-Oss | libhyphen0 | 2.8.8-1.3 | 2.8.8-2.1 | x86_64
v | openSUSE-Tumbleweed-Oss | libjasper1 | 1.900.1-168.1 | 1.900.1-169.1 | x86_64
v | openSUSE-Tumbleweed-Oss | libnettle6 | 3.1.1-2.3 | 3.2-1.1 | x86_64
v | openSUSE-Tumbleweed-Oss | libnettle6-32bit | 3.1.1-2.3 | 3.2-1.1 | x86_64
v | openSUSE-Tumbleweed-Oss | libpsl5 | 0.12.0-1.1 | 0.12.0-2.1 | x86_64
v | openSUSE-Tumbleweed-Oss | libsensors4 | 3.4.0-1.2 | 3.4.0-2.1 | x86_64
v | openSUSE-Tumbleweed-Oss | libsolv-tools | 0.6.17-1.2 | 0.6.18-1.1 | x86_64
v | openSUSE-Tumbleweed-Oss | libvdpau_nouveau | 11.1.1-131.1 | 11.1.1-132.1 | x86_64
v | openSUSE-Tumbleweed-Oss | libvdpau_r300 | 11.1.1-131.1 | 11.1.1-132.1 | x86_64
v | openSUSE-Tumbleweed-Oss | libvdpau_r600 | 11.1.1-131.1 | 11.1.1-132.1 | x86_64
v | openSUSE-Tumbleweed-Oss | libvdpau_radeonsi | 11.1.1-131.1 | 11.1.1-132.1 | x86_64
v | openSUSE-Tumbleweed-Oss | libwayland-egl1 | 11.1.1-131.1 | 11.1.1-132.1 | x86_64
v | openSUSE-Tumbleweed-Oss | libzypp | 15.21.0-1.1 | 15.21.1-1.1 | x86_64
v | openSUSE-Tumbleweed-Oss | openSUSE-release | 20160205-1.1 | 20160207-1.2 | x86_64
v | openSUSE-Tumbleweed-Oss | python-solv | 0.6.17-1.2 | 0.6.18-1.1 | x86_64
v | openSUSE-Tumbleweed-Oss | yast2-core | 3.1.19-1.1 | 3.1.21-1.1 | x86_64
v | openSUSE-Tumbleweed-Oss | yast2-network | 3.1.140-1.2 | 3.1.142-1.1 | x86_64
v | openSUSE-Tumbleweed-Oss | yast2-update | 3.1.34-1.1 | 3.1.35-1.1 | x86_64
v | openSUSE-Tumbleweed-Oss | zypper | 1.12.29-1.1 | 1.12.31-1.1 | x86_64
v | openSUSE-Tumbleweed-Oss | zypper-aptitude | 1.12.29-1.1 | 1.12.31-1.1 | noarch
v | openSUSE-Tumbleweed-Oss | zypper-log | 1.12.29-1.1 | 1.12.31-1.1 | noarch
linux-xnjy:/home/admin # zypper dup
Предупреждение: Вы собираетесь обновить дистрибутив со всех включённых репозиториев. Перед тем, как продолжить, убедитесь, что эти репозитории совместимы. Больше информации об этой команде можно найти в 'man zypper'.
Загрузка данных о репозиториях...
Чтение установленных пакетов...
Просчёт обновления дистрибутива...
Будут установлены следующие 4 НОВЫХ пакета:
gimp-lang ktorrent-lang libkfbapi-lang libwebkitgtk2-lang
Будут УДАЛЕНЫ следующие 2 пакета:
libkdcraw23 libkexiv2-11
Будут обновлены следующие 63 пакета:
amarok choqok cln digikam digikam-doc digikam-lang digikam-libs gtk2-metatheme-breeze gtk3-metatheme-breeze k3b kipi-plugins
kipi-plugins-acquireimage kipi-plugins-geolocation kipi-plugins-lang konsole konsole-part konversation konversation-lang ktorrent
lensfun-data libastro1 libepub0 libgbm1 libhogweed4 libhogweed4-32bit libhttp-parser-suse0 libhyphen0 libjasper1 liblensfun0
libmarblewidget22 libnettle6 libnettle6-32bit libopencv2_4 libpackagekitqt5-0 libpsl5 libqalculate5 libsensors4 libsolv-tools
libtag-extras1 libtelepathy-qt4-2 libvdpau_nouveau libvdpau_r300 libvdpau_r600 libvdpau_radeonsi libwayland-egl1 libzypp Mesa
Mesa-libEGL1 Mesa-libGL1 Mesa-libglapi0 Mesa-libva metatheme-breeze-common moodbar openSUSE-release python-solv skanlite skanlite-doc
yast2-core yast2-network yast2-update zypper zypper-aptitude zypper-log
Будет обновлён следующий 1 продукт:
"openSUSE Tumbleweed"
Следующий 31 пакет изменит производителя:
amarok openSUSE -> obs://build.opensuse.org/KDE
choqok openSUSE -> obs://build.opensuse.org/KDE
cln openSUSE -> obs://build.opensuse.org/KDE
digikam openSUSE -> obs://build.opensuse.org/KDE
digikam-doc openSUSE -> obs://build.opensuse.org/KDE
digikam-lang openSUSE -> obs://build.opensuse.org/KDE
digikam-libs openSUSE -> obs://build.opensuse.org/KDE
gtk2-metatheme-breeze openSUSE -> obs://build.opensuse.org/KDE
gtk3-metatheme-breeze openSUSE -> obs://build.opensuse.org/KDE
k3b openSUSE -> obs://build.opensuse.org/KDE
kipi-plugins openSUSE -> obs://build.opensuse.org/KDE
kipi-plugins-acquireimage openSUSE -> obs://build.opensuse.org/KDE
kipi-plugins-geolocation openSUSE -> obs://build.opensuse.org/KDE
kipi-plugins-lang openSUSE -> obs://build.opensuse.org/KDE
konversation openSUSE -> obs://build.opensuse.org/KDE
konversation-lang openSUSE -> obs://build.opensuse.org/KDE
ktorrent openSUSE -> obs://build.opensuse.org/KDE
lensfun-data openSUSE -> obs://build.opensuse.org/KDE
libastro1 openSUSE -> obs://build.opensuse.org/KDE
libepub0 openSUSE -> obs://build.opensuse.org/KDE
liblensfun0 openSUSE -> obs://build.opensuse.org/KDE
libmarblewidget22 openSUSE -> obs://build.opensuse.org/KDE
libopencv2_4 openSUSE -> obs://build.opensuse.org/KDE
libpackagekitqt5-0 openSUSE -> obs://build.opensuse.org/KDE
libqalculate5 openSUSE -> obs://build.opensuse.org/KDE
libtag-extras1 openSUSE -> obs://build.opensuse.org/KDE
libtelepathy-qt4-2 openSUSE -> obs://build.opensuse.org/KDE
metatheme-breeze-common openSUSE -> obs://build.opensuse.org/KDE
moodbar openSUSE -> obs://build.opensuse.org/KDE
skanlite openSUSE -> obs://build.opensuse.org/KDE
skanlite-doc openSUSE -> obs://build.opensuse.org/KDE
63 пакета для обновления, 4 новых, 2 для удаления, 31 для смены производителя.
Общий размер загрузки: 100,5 MiB. Уже кэшировано: 0 B. После этой операции будет использовано дополнительно 33,9 MiB.
Продолжить? [y/n/? выводит все параметры] (y): y
Получение пакет choqok-1.5-16.1.x86_64 (1/67), 1,5 MiB ( 5,6 MiB после распаковки)
Получение: choqok-1.5-16.1.x86_64.rpm ....................................................
Я оборвал выдачу, чтобы она не была слишком длинной.
Как видим, PackageKit хотел только обновить 32 пакета, а zypper dup “63 пакета для обновления, 4 новых, 2 для удаления, 31 для смены производителя”.
Разница колосальная! Поэтому я не пользуюсь командой “zypper dup” в Tumbleweed. Вот я сейчас даже не знаю, сможет ли система нормально перезагрузиться
после такого “обновления”.
Оно вам не нужно. Вообще не нужно, это дублирующий, и скажем так, тупой пакетный менеджер. Тут есть zypper и полуживой нынче Yast2. А еще крон например, это если нужна проверка обновлений. Или там в “Разговорах”… хотя для перекатиполя возможно вывода будет слишком много.
the “best” method is subjective. It’s a matter of “risk”. zypper dup aka zypper dist-upgrade is designed to be a mechanism for upgrading from one major version of a Stable Distribution to another. In that case, you need an upgrade that ignores lots of safety features (like avoiding recommends, making sure you only get upgrades from repos that match the source/vendor where you got the original packages from, and stuff like that). In pure Tumbleweed (ie. no additional repos) a zypper dup and zypper up are pretty much interchangeable, the dupsometimes comes in handy if things like package splits and renames have happened, but on a day-to-day basis there shouldn’t be much of a difference The risk/danger from zypper dup really comes as you add more repositories. zypper dup is a very convenient way to use the packages from additional repos without having to manually select them because zypper will just try and find the latest version of everything, however you have to be in a position to trust those additional repos as well as you trust the main Tumbleweed ones. Remember only the official Tumbleweed repos are tested in openQA, any additional repo carries an element of increased risk with it, some more than others. The majority of the repositories in OBS are ‘Devel Projects’, which are designed to be where Developers can break things before they send them to Factory to become part of Tumbleweed (read:https://en.opensuse.org/openSUSE:Factory_development_model )
**To put this very simply the more additional repositories you add to your openSUSE machine, the more likely something will break if you do a zypper dup. (This advice is true for both Tumbleweed and the current Regular Releases. It will also likely remain true for Leap)
**Так вот, специально обученные люди считают, что для Tumbleweed пользоваться командой zypper dup “danger”!!!
Еще раз попытался подружиться с Tumbleweed.
Установил на ноутбук Tumbleweed-snapshot-20160911.
После установки, не делая никаких настроек и при установке не добавляя никаких пакетов, ноутбук не выключается.
Зависает на этой картинке:
Если выключить длительным нажатием на кнопку питания, то ничего в системе не ломается.
Спокойно снова можно включить ноутбук.
Я много раз пытался осилить Tumbleweed, но именно такого бага у меня не было никогда.