When I search packages with zypper, repository of some packages is shown as “(System Packages)”. What does it mean?
For an instance, I have Amarok installed from KDE:/Unstable:/Playground, but zypper shows “(System Packages)” as its repository. Why is that?
Firstly, I have to say that I don’t know for sure.
But I have a guess, after having gathered some experience as a C programmer.
Look, amarok is a standard program of KDE/openSUSE.
So the developers probably marked it as ‘System Package’ by default
(just because this status isn’t to be expected to change).
That would be a very simple, practical, and plausible reason.
That seems kind of obvious indeed, but I wonder why it’s necessary.
Can anyone who knows for sure confirm that?
How is it displayed in YaST?
This is what I get from: zypper what-provides amarok
olav@DDAmt:~> zypper what-provides amarok
Repository 'openSUSE BuildService - KDE:Extra' is out-of-date. You can run 'zypper refresh' as root to update it.
Repository 'Packman Repository' is out-of-date. You can run 'zypper refresh' as root to update it.
Loading repository data...
Reading installed packages...
S | Name | Type | Version | Arch | Repository
--+--------+---------+-------------+--------+-------------------
v | amarok | package | 2.6.0-7.25 | x86_64 | Packman Repository
i | amarok | package | 2.5.0-6.2.2 | x86_64 | openSUSE-12.2-Oss
v | amarok | package | 2.6.0-7.25 | i586 | Packman Repository
v | amarok | package | 2.5.0-6.2.2 | i586 | openSUSE-12.2-Oss
olav@DDAmt:~>
Here’s what I get:
]$ zypper what-provides amarokLoading repository data...
Reading installed packages...
S | Name | Type | Version | Arch | Repository
--+--------+---------+----------------------------+--------+-----------------------
v | amarok | package | 2.6.40git.1355159551-180.2 | x86_64 | KDE:/Upstream/Unstable
v | amarok | package | 2.6.0-175.2 | x86_64 | KDE:/UpdatedApps
v | amarok | package | 2.6.0-169.1 | x86_64 | KDE:/Upstream/Core
v | amarok | package | 2.6.40git.1355159551-180.2 | i586 | KDE:/Upstream/Unstable
v | amarok | package | 2.6.0-175.2 | i586 | KDE:/UpdatedApps
v | amarok | package | 2.6.0-169.1 | i586 | KDE:/Upstream/Core
v | amarok | package | 2.6.0-175.2 | x86_64 | Backports
v | amarok | package | 2.6.0-7.25 | x86_64 | Packman
v | amarok | package | 2.5.0-6.2.2 | x86_64 | Oss
v | amarok | package | 2.6.0-175.2 | i586 | Backports
v | amarok | package | 2.6.0-7.25 | i586 | Packman
v | amarok | package | 2.5.0-6.2.2 | i586 | Oss
i | amarok | package | 2.6.40git.1355159551-180.1 | x86_64 | (System Packages)
I did a check on my system trying out how package I had installed manually looked like, I have never really used zypper much before:
olav@DDAmt:~> zypper what-provides arnold
Loading repository data...
Reading installed packages...
S | Name | Type | Version | Arch | Repository
--+--------+---------+--------------+--------+------------------
i | arnold | package | 20090317-2.1 | x86_64 | (System Packages)
olav@DDAmt:~> zypper what-provides ho1
Loading repository data...
Reading installed packages...
S | Name | Type | Version | Arch | Repository
--+------+---------+------------+--------+------------------
i | ho1 | package | 1.431-1483 | noarch | (System Packages)
And there it was:)
Arnold is available from a repo but that repo is not active on my system, while Hattrick Organizer (ho1) is just from an rpm I downloaded elsewhere. I would guess that packages is to be labelled ‘(System Packages)’ by zypper whenever zypper find a package or a version of a package installed on the system but not available from any active repositories.
Yes, I’ve had this impression too, but currently many packages being installed apparently from “(System Packages)” have their repository available just fine.
Actually I did a test now:
$ zypper se -s amarok
S | Name | Type | Version | Arch | Repository
--+-----------------------+------------+----------------------------+--------+-----------------------
v | amarok | package | 2.6.40git.1355159551-180.2 | x86_64 | KDE:/Upstream/Unstable
...
i | amarok | package | 2.6.40git.1355159551-180.1 | x86_64 | (System Packages)
$ sudo zypper in --from KDE:/Upstream/Unstable amarok
...
1 package to upgrade.
...
$ zypper se -s amarok
S | Name | Type | Version | Arch | Repository
--+-----------------------+------------+----------------------------+--------+-----------------------
i | amarok | package | 2.6.40git.1355159551-180.2 | x86_64 | KDE:/Upstream/Unstable
So maybe I have changed my repositories after installing Amarok the last time, eg. maybe I removed KDE:/Upstream/Unstable and then re-added it or smth.
I guess that’s it
(System packages) simply means that package is installed on your system but not present in any defined (or may be enabled) repository. This can easily happen when package in repository was updated. Then you have old version installed locally and new version in repo.
Or you just installed something using “rpm -i file.rpm”.
Actually it’s still a bit weird - I have not changed my repositories lately and now I again see Amarok’s repository as “(System Packages)”.
Is there a way to find out the real repository of the package from zypper? Because when I open up yast2 it detects the current repository correctly, so I guess the correct information should still be somewhere
Well, if the package gets updated in the repo, the old package isn’t available anymore, so it shows up as “(System Packages)”.
The Repository column doesn’t show where a package comes from, but where it is available… You are doing a package search here, after all.
You can check from which repo a package comes from with:
wolfi@amiga:~> rpm -qi amarok
Name : amarok
Version : 2.7.1
Release : 13.3
Architecture: x86_64
Install Date: Die 28 Mai 2013 09:45:35 CEST
Group : Productivity/Multimedia/Sound/Players
Size : 22058024
License : GPL-2.0+
Signature : RSA/SHA1, Mon 27 Mai 2013 18:25:29 CEST, Key ID 45a1d0671abd1afb
Source RPM : amarok-2.7.1-13.3.src.rpm
Build Date : Mon 27 Mai 2013 17:27:15 CEST
Build Host : swkj01
Relocations : (not relocatable)
Packager : packman@links2linux.de
**Vendor : http://packman.links2linux.de**
URL : http://amarok.kde.org/
Summary : Media Player for KDE
Description :
Amarok is a media player for all kinds of media. This includes MP3, Ogg
Vorbis, audio CDs, podcasts and streams. Play lists can be stored in
.m3u or .pls files.
Distribution: Essentials / openSUSE_12.3
or
wolfi@amiga:~> zypper info amarok
Loading repository data...
Reading installed packages...
Information for package amarok:
Repository: Packman Repository
Name: amarok
Version: 2.7.1-13.3
Arch: x86_64
**Vendor: http://packman.links2linux.de**
Installed: Yes
Status: up-to-date
Installed Size: 21.0 MiB
Summary: Media Player for KDE
Description:
Amarok is a media player for all kinds of media. This includes MP3, Ogg
Vorbis, audio CDs, podcasts and streams. Play lists can be stored in
.m3u or .pls files.
The “Vendor” is what YaST/zypper use to know from which repo a package comes and if it should be updated to an available version.
Let me re-confirm - so command ‘search’ in zypper does not use the same information source as the ‘info’ command for finding out package’s repository?
Because when I compare package ‘amarok’ to ‘akonadi-runtime’ with ‘zypper info’, both of them have ‘Repository: KDE:/Factory/Distro’ and ‘Vendor: obs://build.opensuse.org/KDE’ and the only difference is that ‘akonadi-runtime’ is up-to-date, but ‘amarok’ is not, so it shows ‘(System Packages)’ as repository.
Any good reason why ‘search’ does not get the repository information as ‘info’ does?
They just present different information. ‘search’ shows in which repository a package is available **now **(at the moment). ‘info’ shows where it was available when it was installed.
Good stuff on using Zypper there. I have been playing with zypper a lot the last few weeks and anyone that would like to have access to its many commands through a bash script, should have a look here: Z.A.P.I.T. - Zypper Automation Package Information Tool .
Thank You,