This article will help you understand the package naming convention followed while naming RPM or DEB packages. It helps while you work on package management.
Linux world is moved by packages since you need a flavor punch on plain vanilla OS! Although there are quite a few package managers available in the market largely two package managers are popular: RPM (Red Hat package manager) & DEB (Debian package manager).
Red Hat package managers release their packages with extension .rpm
while Debian package managers have .deb
extension. The extension really doesn’t matter in Linux world but still, it’s there for identification purposes for humans!
Recommended read:
Apart from extensions they also have a package naming convention which makes it easy to identify package name, version, release & what architecture it supports. Lets quickly walk through these conventions.
Red Hat package naming convention
Red Hat package name follows below format –
packagename-version-release.architecture.rpm
Field involved here are
- It starts with the package name
- Then its version (separated by hyphen – from the last field)
- Then its release (separated by hyphen – from the last field)
- Sometimes OS details are padded here (separated by a dot . from the last field)
- Then architecture for which package built (separated by a dot . from the last field)
- Ends with rpm extension (separated by a dot . from the last field)
For example, look at this telnet package file name “telnet-0.17-60.el7.x86_64.rpm“
Here,
- telnet is a package name
- 0.17 is version
- 60 is release
- el7 is enterprise Linux 7 (package built for rhel7)
- x86_64 is architecture
Extra OS details mentioned in names can be :
- elX or rhlX – RHEL X
- suseXXY – Suse Linux XX.Y
- fcX – Fedora Core X
- mdv or mdk – Mandriva Linux
Debian package naming convention
Debian package name follows below format –
packagename_version-release_architecture.deb
Field involved here are
- It starts with the package name
- Then its version (separated by underscore – from the last field)
- Then its release (separated by a hyphen – from the last field)
- Sometimes Debian codename details are padded here (separated by hyphen – from the last field)
- Then architecture for which package built (separated by a dot . from the last field)
- Ends with deb extension (separated by a dot . from the last field)
Debian codename can be squeeze or wheezy.
For example look at this telnet package file name “telnet_0.17-40_amd64.deb“
Here,
- telnet is a package name
- 0.17 is version
- 40 is release
- amd64 is architecture
Different types of architectures which can be seen in names are :
- x86_64 or amd64 – 64 bit on x86 microprocessor
- i386 – The Intel x86 family of microprocessors, starting with the 80386.
- ppc – The Power PC microprocessor family.
- alpha – The Digital Alpha microprocessor family.
- sparc – Sun Microsystem SPARC processor family.
- noarch – No particular architecture. The package may work on all types of architecture.
Share Your Comments & Feedback: