Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

The number before colon is indeed called Epoch (E from EVR others mentioned). It is generally not used, but sometimes when it's necessary to downgrade a package this is the only way rpm will allow this. Example:

# rpm -q pyqtrailer
pyqtrailer-0.6.2-2.fc15.noarch

# yum install pyqtrailer-0.6.1-1.fc16.noarch.rpm
Examining pyqtrailer-0.6.1-1.fc16.noarch.rpm: pyqtrailer-0.6.1-1.fc16.noarch
pyqtrailer-0.6.1-1.fc16.noarch.rpm: does not update installed package.
Error: Nothing to do

But if we add epoch:

 yum install pyqtrailer-0.6.1-1.fc16.noarch.rpm
 Loaded plugins: aliases, remove-with-leaves
 Setting up Install Process
 Examining pyqtrailer-0.6.1-1.fc16.noarch.rpm: 1:pyqtrailer-0.6.1-1.fc16.noarch
 Marking pyqtrailer-0.6.1-1.fc16.noarch.rpm as an update to pyqtrailer-0.6.2-2.fc15.noarch
 Resolving Dependencies
 --> Running transaction check
 ---> Package pyqtrailer.noarch 0:0.6.2-2.fc15 will be updated
 ---> Package pyqtrailer.noarch 1:0.6.1-1.fc16 will be an update
 --> Finished Dependency Resolution
 ---- continued ---

This way we can sometimes downgrade a package if needed (for example if new package version is found to be defective too late and it's affecting users or other packages)

click to hide/show revision 2
add note about epoch not appearing in rpm filename

The number before colon is indeed called Epoch (E from EVR others mentioned). It is generally not used, but sometimes when it's necessary to downgrade a package this is the only way rpm will allow this. Example:

# rpm -q pyqtrailer
pyqtrailer-0.6.2-2.fc15.noarch

# yum install pyqtrailer-0.6.1-1.fc16.noarch.rpm
Examining pyqtrailer-0.6.1-1.fc16.noarch.rpm: pyqtrailer-0.6.1-1.fc16.noarch
pyqtrailer-0.6.1-1.fc16.noarch.rpm: does not update installed package.
Error: Nothing to do

But if we add epoch:epoch (Note: it is not visible in rpm filename):

 yum install pyqtrailer-0.6.1-1.fc16.noarch.rpm
 Loaded plugins: aliases, remove-with-leaves
 Setting up Install Process
 Examining pyqtrailer-0.6.1-1.fc16.noarch.rpm: 1:pyqtrailer-0.6.1-1.fc16.noarch
 Marking pyqtrailer-0.6.1-1.fc16.noarch.rpm as an update to pyqtrailer-0.6.2-2.fc15.noarch
 Resolving Dependencies
 --> Running transaction check
 ---> Package pyqtrailer.noarch 0:0.6.2-2.fc15 will be updated
 ---> Package pyqtrailer.noarch 1:0.6.1-1.fc16 will be an update
 --> Finished Dependency Resolution
 ---- continued ---

This way we can sometimes downgrade a package if needed (for example if new package version is found to be defective too late and it's affecting users or other packages)