Linux: Display rpm package architecture

Q. I’m using CentOS on 64 bit Linux. How do I find out rpm package architecture before installation such as i386 or x86_64 bit?

ADVERTISEMENTS

A. Almost each rpm package has i386 or x86_64 added to file extension. However some time you may see filename such as file-version.rpm. You can list all installed rpm packages with rpm -qa command but it will not display architecture. You can run following command to display rpm package architecture:
rpm -qa --qf "%{n}-%{arch}\n"
Ouput:

filesystem-x86_64
comps-extras-noarch
gnome-mime-data-x86_64
glibc-x86_64
atk-x86_64
libICE-x86_64
db4-x86_64
elfutils-libelf-x86_64
ncurses-x86_64
libsepol-x86_64
libcap-x86_64
sqlite-x86_64
pcre-x86_64
gdbm-x86_64
libsepol-i386
libXdmcp-x86_64
db4-i386
iptables-x86_64
libXrender-x86_64
libXi-x86_64
xorg-x11-font-utils-x86_64
slang-x86_64
libXpm-x86_64
startup-notification-x86_64
gzip-x86_64
libIDL-x86_64
libXau-i386
wireless-tools-x86_64
libvorbis-x86_64

Another option is to use following command to display detailed information about package:
rpm -qi {package-name}
If you wish to display package version along with architecture, enter:
rpm -qa --qf "%{n}-%{v}-%{r}.%{arch}\n" | less
Run rpm command to print a list of all of the tags it knows about when it is invoked with the –querytags argument.
rpm --querytags | less

🐧 Get the latest tutorials on SysAdmin, Linux/Unix, Open Source/DevOps topics:
CategoryList of Unix and Linux commands
File Managementcat
FirewallCentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNCentOS 8 Debian 10 Firewall Ubuntu 20.04

ADVERTISEMENTS
3 comments… add one
  • Simon McCartney Jun 3, 2011 @ 10:08

    Using

    rpm -qa –qf “%{n}.%{arch}\n”

    Will give you a name you can “rpm -ev”

    • Douglas Price Aug 2, 2017 @ 19:23

      rpm -qa –qf “%{n}.%{arch}\n”

      Note the double dashes. Otherwise you’ll get:
      regcomp failed: Invalid content of \{\}

  • Joe May 15, 2014 @ 21:02

    “However some time you may see filename such as file-version.rpm.”
    How do I tell what architecture a package is in these cases?

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre>, <code>...</code> and <kbd>...</kbd> for code samples.