Такое оно Перекатиполе

Здравствуйте!
Купил новый 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, а такое встретил первый раз!
Складывается ощущение, что разработчики еще не отошли от встречи Нового Года.

Arbichev wrote:

> Купил новый HDD и торжественно водрузил
> на него Tumbleweed 64-bit.
> Тут же система захотела обновить 1892
> пакета!

Значит, не тот Tumbleweed устанавливали. Надо было последний снапшот
скачивать.
Сделайте ‘zypper dup’.

Нам все время объясняют сусевские Гуру, что это роллинг-релиз. То-есть не надо стремиться качать сегодняшний снапшот. Можно поставить снапшот “второй свежести”, а потом система сама обновится до актуального состояния. Ошибка, которую я заловил, показала, что это не так.

Она показывает только то, что вы не делали zypper dup
Никаких конфликтов в нормально обновлённой системе нет:

Сведения — пакет digikam-libs:
Версия: 4.14.0-2.1
Сведения — пакет libkdcraw23:
Версия: 15.08.3-1.3
пакет ‘libkexiv2’ не найден.
пакет ‘libkface3’ не найден.
Сведения — пакет libkgeomap2:
Версия: 15.08.3-1.1
Сведения — пакет libkipi11:
Версия: 15.08.3-1.1
Сведения — пакет libksane0:
Версия: 15.08.3-1.2

На этом форуме модераторы все время тыкали меня носом:
Предположим, у меня стоит openSUSE 13.1.
Вышла openSUSE 13.2.
Делаешь zypper dup и система обновляется до 13.2.
Здесь роллинг-дистрибутив.
Какой zypper dup?

Любой. Абсолютно любой zypper dup, который бесконфликтно обновит вас до последнего снапшота. :slight_smile:
Не знаю, как именно вы загнали систему в это состояние, но выйти из него лучше именно так.

Роллинг-релиз не от большого ума вытирают :wink:

Тогда чем отличается использование команд “zypper up” и “zypper dup” в случае роллинг-дистрибутива?

export BROWSER=firefox
man -H zypper

недобро так глядя на латентных вендузятников

Читаем 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 предполагает ручного вмешательства.

Я б деньги брал за чтение мануалов и тем более их пересказ :slight_smile: С кдешников причем в тройном размере.

Говорят, практика - критерий истины. Включаю ПК. 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 dup’ есть параметр --no-allow-vendor-change.
Тогда производитель не будет меняться.

PackageKit

Оно вам не нужно. Вообще не нужно, это дублирующий, и скажем так, тупой пакетный менеджер. Тут есть zypper и полуживой нынче Yast2. А еще крон например, это если нужна проверка обновлений. Или там в “Разговорах”… хотя для перекатиполя возможно вывода будет слишком много.

Почему он “полуживой”? Вы меня пугаете!

Yast2 живее всех живых. Очень много обновлений последнее время.
https://lizards.opensuse.org/author/yast-team/

Решил вернуться к разговору. Случайно обнаружил по этому адресу:
https://www.reddit.com/r/openSUSE/comments/3czbzt/regarding_updating_tumbleweed_what_is_the_best/
Разговор длинный, поэтому привожу цитату:

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.
После установки, не делая никаких настроек и при установке не добавляя никаких пакетов, ноутбук не выключается.
Зависает на этой картинке:

http://paste.opensuse.org/502178

Если выключить длительным нажатием на кнопку питания, то ничего в системе не ломается.
Спокойно снова можно включить ноутбук.
Я много раз пытался осилить Tumbleweed, но именно такого бага у меня не было никогда.