我是否正确使用了“zypper”?

n0p*_*0pe 5 opensuse repository updates zypper

我是一个相对较新的 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.
Run Code Online (Sandbox Code Playgroud)

那么这些软件包是否需要更新?如果他们不需要我的注意,为什么 zypper 甚至会告诉我他们的事?我问是因为我已经尝试从源代码构建东西,但我在 gcc 和类似的东西上遇到错误(当我知道我已经安装了它们时——这可能完全是另一个问题)。

另外,有没有办法像在 Ubuntu 中那样半自动地进行更新?

编辑:我查看了软件管理器(通过 YAST),但看不到任何软件包更新。

小智 6

这都是关于存储库的。当您使用 zypper 进行更新时,它会查看所有已启用的存储库。但是有些软件包出现在多个存储库中。例如,假设您同时激活了“Suse 更新”和“Packman”存储库。然后 zypper 可能会在它们两个中找到 say gstreamer的更新。那有什么办法呢?好吧,因为它“知道”您当前安装的gstreamer来自哪个存储库(比如 Suse 更新),所以它只会安装来自该 Suse 存储库的更新。但是在更新之前,它会告诉您它也在 Packman 存储库中找到了 gstreamer 更新,但不会使用它。这就是为什么你会得到一个“不会安装”的东西的列表。

所以这不是一个真正的问题,只是有多个版本的相同包位于不同的存储库中。在上面的示例中,如果您禁用 Packman 存储库,您会发现“不会安装”消息将消失。

为了保持一切整洁,您应该将活动存储库的数量保持在您需要的绝对最小值。


n0p*_*0pe 0

我已经解决了。

结果我已经在 YAST 中为我的存储库删除了“自动更新”选项。设置自动更新解决了问题,我成功运行了“sudo zypper update”