Я правильно использую 'zypper'?

5327
n0pe

Я относительно новый пользователь OpenSuse, работающий с Ubuntu уже несколько лет. В Ubuntu диспетчер обновлений время от времени появлялся и сообщал мне, когда мне нужно что-то установить. Если бы я вручную хотел проверять наличие обновлений, я бы sudo apt-get update. В OpenSuse я не получаю средства обновления GUI, поэтому всякий раз, когда я вспоминаю, я получаю sudo zypper updateи никогда не получаю много. Однако сегодня я получаю это:

Loading repository data... Reading installed packages...  The following package updates will NOT be installed: amarok choqok curl digikam digikam-lang DirectFB DirectFB-Mesa ecj ecj-bootstrap gstreamer-0_10 gstreamer-0_10-fluendo-mp3  jpackage-utils k3b kipi-plugins kipi-plugins-acquireimage ksshaskpass ktorrent ladspa lame libcurl4 libcurl4-32bit libdca0  libdvbpsi6 libfaac0 libfaad2 libgstreamer-0_10-0 libgstreamer-0_10-0-32bit libktorrent3 liblash1 libmad0 libmp3lame0 libmpeg2-0  libopencore-amrnb0 libopencore-amrwb0 libopencv2_2 libproxy1 libqjson0 libSDL-1_2-0 libSDL_image-1_2-0 libshout3 libtag-extras1  libtheora0 libtwolame0 libvlc5 libvlccore4 libxine1 libxine1-gnome-vfs libxine1-pulse libxvidcore4 oxygen-gtk python-numpy  shared-desktop-ontologies skanlite virtualbox-guest-kmp-desktop virtualbox-guest-tools virtualbox-guest-x11 vlc vlc-aout-pulse  vlc-gnome vlc-noX vlc-qt xalan-j2 xerces-j2 xerces-j2-xml-apis   Nothing to do. 

Так нужно ли обновлять эти пакеты или нет? Зачем Зипперу даже рассказывать мне о них, если они не нуждаются в моем внимании? Я спрашиваю, потому что я пытался собрать материал из исходного кода, и я получаю ошибки на gcc и тому подобное (когда я знаю, что я их установил - это может быть совсем другая проблема).

Кроме того, есть ли способ сделать обновления полуавтоматическими, как в Ubuntu?

РЕДАКТИРОВАТЬ: Я посмотрел в диспетчере программного обеспечения (через YAST), и я не вижу обновлений пакетов.

4
Вы установили пакет (ы) как заблокированный или запретный, и какую среду рабочего стола вы используете? bwDraco 13 лет назад 0
Я никогда не делал ничего подобного вручную (поэтому я предполагаю, что все так, как было при первоначальной установке). Я использую KDE. n0pe 13 лет назад 0
Под KDE должен быть включен автоматический уведомитель об обновлении [Kupdateapplet] (http://en.opensuse.org/Kupdateapplet), включенный по умолчанию. Я никогда не видел такого поведения от Zypper раньше. Какую версию openSUSE вы используете? bwDraco 13 лет назад 0
11.4 Полагаю, самый последний. n0pe 13 лет назад 0

3 ответа на вопрос

6
Fred Jones

Это все о репозиториях. Когда вы обновляете с помощью zypper, он просматривает все ваши включенные репозитории. Но некоторые программные пакеты появляются в более чем одном хранилище. Допустим, например, у вас есть активные репозитории «Suse update» и «Packman». Тогда zypper может найти обновление для скажем gstreamer в обоих из них. Так что же делать? Ну, поскольку он «знает», из какого репозитория пришел ваш текущий установленный gstreamer (скажем, Suse update), он будет устанавливать только обновление из этого репозитория Suse. Но перед обновлением вам сообщат, что он также нашел обновление gstreamer в хранилище Packman, но не будет его использовать. Вот почему вы получаете список вещей, которые «не будут установлены».

Так что на самом деле это не проблема, просто несколько версий одних и тех же пакетов находятся в разных репозиториях. В приведенном выше примере, если вы отключите хранилище Packman, вы обнаружите, что сообщение «не будет установлено» исчезнет.

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

Можно ли использовать другой репозиторий обновлений (например, packman) для пакетов, созданных в SuSE-Repos? Как я могу принудительно обновить их? Master of Celebration 9 лет назад 1
0
n0pe

Я решил это.

Оказывается, я удалил опцию «Автоматически обновлять» в YAST для своих репозиториев. Настройка обновления автоматически решает проблему, и я успешно запустил «обновление sudo zypper»

0
alpha1

Also the best way to update all installed packages at once is to open Install software in yast and go to the Package Menu, then All packages and then update if newer version available. This will select all updated packages for installation. When you open Yast install software is usually refreshes the repos if you have them set to auto refresh.

Похожие вопросы