Synaptic is a graphical front end for apt-get, which is a command-line front end for rpm, which manages the packages by keeping a record (database) of what is installed. The packages are archives of files to be installed in various locations together with commands to be run before or after installation or removal, and information on dependencies.
Somehow, it seems, the database entry for this package got written twice. Whether that was a bug in rpm's database code, or whether something forced the package to be installed over itself, is anyone's guess. This upset all three programs and they refused to work with it. The matter was complicated by the fact the package concerned contains vital system components without which your computer could not run, and therefore the package could not be removed, even temporarily.
What you did was to remove both entries from the database with "rpm -e --nodeps --allmatches --justdb" - -e means remove the package, --nodeps means ignore the dependencies, because rpm would refuse otherwise to remove a package on which others depend, --allmatches tells it to remove all packages which match the entry, otherwise it just complains there are multiple matches as you saw. --justdb means just update the database as if the package were removed but don't delete any files or run any commands. In other words; delete all entries from the database for this package, but leave the files on the system.
Then the second stage was "rpm -ivh --nodeps --justdb". -i means install, v means be verbose, and h means make a progress meter out of '#'s. The v and h are not essential but give feedback on what's going on. --nodeps and --justdb mean what they meant in the first command, so you were telling rpm to write an entry in the database for the package but not to do anything else. The result is one entry in the database for what was already installed, so the record now matches as it should.
Marvellous! Terrific! You have got where you are today.