Linux Notes: x86-64
- The information presented here is intended for educational use by qualified computer technologists.
- The information presented here is provided free of charge, as-is, with no warranty of any kind.
Edit: 2025-08-02
CAVEAT: Now that
IBM-RED HAT has retired
CentOS,
I recommend you choose
AlmaLinux as your first choice alternative. Why? First off, last year
IBM-RED HAT announced that they are dropping driver support for older hardware (would affect Rocky Linux as well as Oracle Linux to only name two
of many). This would eventually cause problems for embedded RAID controllers in HP/HPE equipment to just name one problem of many. But the good
folks at Alma Linux said they would continue to include drivers for older hardware. Secondly, Alma Linux is now the recommended preferred distro in academia including
CERN in Geneva (home of the LHC) and FermiLab (just west of Chicago).
The Distro Name Game: x86, x86-64, x64, ia64 (what does it all mean?)
- So you want to play with Linux but don't have a spare Itanium or Alpha Server to mess around with?
- Download an all-in-one DVD for your PC then just boot it up to check it out.
- It will come up entirely in memory so will not mess up your hard drives
- Note: many people install Oracle VM VirtualBox then install one, or more, Linux distributions as a VM instance
- The target-platform name-game used my most Linux distros
- x86
- amd86 is used for any x86 chips from any company supporting 64-bit extensions
- gets the prefix amd because AMD was the first company to introduce 64-bit extensions to x86
- i686 is used for any x86 chips from any company (starting after Pentium) not supporting 64-bit extensions (a.k.a. 32-bit only)
- gets the prefix i because Intel was the first company to introduce 686
- i586 is used for any Pentium-class x86 chips
- some distros put Pentium-class chips in their i686 packages
- i486 is used for any x86 chips before Pentium
- x32 means pure 32-bit on x86
- x64 means pure 64-bit on x86-64
- Itanium (this is Intel's original 64-bit CPU)
- i64 and ia64 both mean Itanium which will only work on an Itanium or Itanium2 platform
The HP/HPE name game
Regarding the DL380 and DL385
- CPU technology: 380 = Intel; 385 = AMD
- HP split into two separate companies in 2014-2015
- HP will concentrate on consumer computers and printers
- HPE (HP Enterprise) will concentrate on the commercial market
- the HP DL380p_gen8 was the last x86-64 machine manufactured by HP
- 380p means performance; 380e mean entry level
- the gen8 is a BIOS-only machine
- the HPE DL380_gen9 was the first x86-64 machine manufactured by HPE
- the gen9 is a UEFI machine
Installing CentOS-5 on an HP DL360_g5
date: 2016-09-xx
- hardware:
- HP ProLiant DL360-G5 (manufactured in 2007)
- 4 GB of memory; P400i on-board RAID controller
- My only reason for doing this was to test the claim that shutdown problems associated with large XtraDB (which masquerade as InnoDB) tables in MariaDB-5 were fixed in
MariaDB-10
- I tried installing CentOS-7 but it would not recognize the RAID controller (no hard discs found)
- I tried installing CentOS-6 but got the same error (no hard discs found)
- I was able to install CentOS-5.11 in under an hour (caveat: support for CentOS-5 will be dropped in March-2017)
- This older distro came with MySQL-5 but replacing it with MariaDB-10 was trivial after reading the instructions associated with repository configuration tool found at
the MariaDB home site
- test results:
- MariaDB-10 can be shutdown quickly without corrupting the InnoDB tables
- I do not like how CentOS-5 handles virtual memory.
- After the system has been up for a few days with the console left logged in for ~ 24-hours, starting a GUI app (Terminal or Firefox) can take several minutes
Installing CentOS-6 on an HP DL380_g6 (gen 6 CPU)
date: 2016-10-xx
- hardware
- HP ProLiant DL380-G6 (manufactured in 2010)
- 8 GB of memory; P400i on-board RAID controller
- I was able to install CentOS-6 with ease so I suspect CentOS-7 (which I am using at home) would work here as well
- test results:
- MariaDB-10 can be shutdown quickly without corrupting the InnoDB tables
- I do not like how CentOS-6 handles virtual memory.
- After the system has been up for a few days with the console left logged in for ~ 24-hours, starting a GUI app (Terminal or Firefox) can take a minute
- This system is a little better than CentOS-5 on DL360 described above but not much better (could this improvement be due to twice as much physical memory?
Perhaps)
date: 2017-01-xx
- I replaced CentOS-6 with CentOS-7 which was a huge improvement
Installing CentOS-7 on an HP ProLiant ML370-g6 (gen 6 CPU)
date: 2016-12-xx
- hardware:
- HP ProLiant ML370-G6 (manufactured in 2011)
- 64 GB of memory; P410i on-board RAID controller
- 24 SAS disks (we are only using 2)
- 16 NICs (we are only using 1)
- I was able to install CentOS-7 in under an hour
- This newer distro came with MariaDB-10.1.19
- test results:
- MariaDB-10 can be shutdown quickly without corrupting the InnoDB tables (it is also VERY fast)
- This OS does not seem to be exhibiting memory problems seen with CentOS-5; is the OS doing a better job managing virtual memory or is the due to the fact that
this platform has 16 times more memory? (Not Sure)
Installing CentOS-7 on an HP DL385_g7
date: 2017-02-xx
- hardware:
- HP ProLiant DL385-G7 (manufactured in 2011)
- 2 CPUs for a total of 16 cores (385 = AMD; 380 = Intel)
- 12 GB of memory
- P410i onboard RAID controller
- So I just noticed that this machine does not have an optical drive. I have lots of optical media laying around the work bench so it would be nice to have access to a
DVD drive on a USB cable but today is a holiday in Canada which means that all the retail stores are closed. So I played around with lots of freeware meant to
write ISO images to a USB stick. Here are a few noteworthy solutions (moved here)
USB-boot Caveat: during hardware power-up these systems will run ROM-based diagnostics which
may clobber your USB stick (why did they never include a USB write-protect mechanism?) so I recommend this procedure:
- startup the server with all writable USB devices out (USB sticks as well as portable writable DVDs)
- during the next 5-minutes you might be presented with a small menu of startup options (only lasts 5-seconds) asking you to hit key
one-or-all of: F9, F10 or F11. Hit the F11 key for the boot menu
- let everything continue until you see the boot menu.
- now connect your USB boot device
- warning: if you are connecting a DVD drive on a USB-cable, you must wait at least 30 seconds for the drive to become ready; A28
firmware will not wait for a drive not-yet ready (so will attempt to boot from a NIC or existing hard-drive which may not be what you want)
- now type the menu number associated with either: one-time boot of thumb drive or one-time- boot of DVD-CD
- Since this machine will be a hot-spare for the other two (see above), I think it will make a great LVM learning tool
Installing CentOS-7 on an HP DL385p_gen8
date: 2018-07-xx
- hardware:
- HP ProLiant DL385-gen8 (manufactured in 2014)
- 2 CPUs for a total of 24 cores (385 = AMD; 380 = Intel)
- 128 GB of memory (this is not a typo; how many people remember when PCs maxed out at 4 MB (or even 640 KB)?
- P420i on-board RAID controller (with a 1 GB buffer)
- I ended up acquiring seven of these during a server refresh (they were slated to be crushed)
- This machine supports RAID-60 which I knew nothing about. Here is
a short blurb from the way-back machine
- iLO configuration from RHEL/CentOS moved here
- Caveat: beginning with gen8 servers, HPE has changed the caddy (plastic mounting adapter) used to insert the SAS disk drive into its slot.
- These SFF (small form factor) caddies are not interchangeable since the new style is a little shorter.
- Why shorter? A wiring cable (not seen in this photo) connects an array of multicolored LEDs (seen as green in the seccon photo) to the back end of the socket.
- Note that the drive electronics has not changed so a small Phillips screwdriver is all you need to swap a drive between the old and new adapters.
- This machine does not have an optical drive so I used a portable USB-based DVD
- I wrote the ISO to optical media using the Windows app FreeIsoBurner (moved here)
- Here is how to write the iso to a usb stick on CentOS-7
(1) insert usb # Linux will almost always auto-mount
(2) sudo lsblk # view inserted devices (and their possibly mounted volumes)
# you might see something similar to this:
#
# /dev/sdb Kingston (device)
# +- /dev/sdb1 part partition (might be a mounted volume)
# +- /dev/sdb2 part partition (might be a mounted volume)
#
(3) sudo umount /dev/sdb* # dismount all mounted volume(s) associated with /dev/sdb
# (if unit 'b' is the one associated with your USB stick)
(4) cd Downloads # location where your ISO was stored if you used a browse
(5) sudo dd if=file-name.iso \
of=/dev/sdb \
bs=4M \
status=progress \
oflag=sync
------------------------------------------------------------------------------------------------------
caveats: (1) You must write an ISO image to the device, not any of the partitions.
(2) If you direct 'dd' to write to a partition, the device will not be bootable
- If you employ either a USB stick or a USB-based CD/DVD then be sure to read this USB caveat ~ 20 lines above
- MariaDB served up by CentOS-7 is scary-fast
Downloading Older Distros
This side of Y2K we all live in the world of cloud computing where network costs are cheap and storage costs almost free. So I do not know why many Linux distros are
deleting their old offerings which could be used for anything from computer museums to just supporting older (but not yet dead) hardware.
openSUSE
CentOS
Ubuntu
Debian
Various
Installing openSUSE in 2021
caveat: if you want to migrate your EL-based system from CentOS to something else but similar, consider using the
ELevate
tool published by AlmaLinux.
- According to Wikipedia, the CentOS Linux distro project began in 2004
- In 2014 the CentOS project was informally merged with Red Hat.
- Red Hat wanted this so that students and startups could developer new solutions on a platform (CentOS) which would be virtually bit-for-bit identical to RHEL (Red
Hat Enterprise Linux). Then when those students and startups were working in the business world it was expected that they would shift over to RHEL
- Red Hat was also supplying (but not supporting?) Scientific Linux to academia (Fermilab,
CERN, DESY to only name three of many) and wanted to nudge those
organizations over to a single bit-for-bit solution which was CentOS.
- Red Hat became a subsidiary of IBM on July 9, 2019. Many have suggested that IBM change the name from Red
Hat to Blue Hat
- On 2020-12-07 we learned from this blog post "future-is-centos-stream" that IBM: Red
Hat has decided to break up the current relationship between CentOS and RHEL
Articles:
Comparing the product offerings of two founding Linux distros
- IBM-Red Hat, a company that starts each project with open source code, announced on 2023-06-21 they were going to restrict access to their source code modifications
- If having an American company (IBM) pulling the plug on open source reminds you of how Oracle attempted to do the same to MySQL after Oracle acquired SUN, then you
might consider jumping to a European-headquartered product.
- SuSE was founded in 1992 Germany
- Red Hat was founded in 1993 USA
- SuSE 8.2 was followed by SUSE 9.0 in October of 2003 (notice the shift to all upper case?)
Comparing products:
Company |
Product |
Notes |
SUSE |
SLE (Suse Linux Enterprise) |
requires a paid license to install, and an active support contract to update and/or upgrade |
|
openSUSE Leap |
free: is a once-a-year release (employing major-minor version numbers) virtually identical to SLE |
|
openSUSE Tumbleweed |
free: is a constantly rolling release (think BETA) targeted at students and developers |
IBM - Red Hat |
RHEL (Red Hat Enterprise Linux) |
requires a paid license to install, and an active support contract to update and/or upgrade |
|
CentOS-7.0 to 7.9 |
free: is a major-minor point release done in lockstep with RHEL (RHEL is released first)
Note: this will continue until 2024-06-24 when this version will no longer be supported |
|
CentOS-8.0 to 8.5 |
free: was a major-minor point release done in lockstep with RHEL (RHEL was released first)
Note: support ended 2021-12-31 |
|
CentOS Stream 8 |
free: is a constantly rolling BETA of RHEL-8 (due to the invisible hand of IBM?)
available from university mirrors |
|
CentOS Stream 9 |
free: is a constantly rolling BETA of RHEL-9 (due to the invisible hand of IBM?)
NOT available from university mirrors |
SUSE trial install on an HP-Compaq-6000 (old desktop PC)
- 2020-12-23
- One of our technicians retired in October and his old desktop (an HP-Compaq 6000) has been sitting on the shelf ever since
- So I downloaded a copy of openSUSE Leap 15.2 onto a different PC then burned it to a
DVD (a lot of older PC's cannot boot from a USB thumb drive so this step might not be the best way for YOU to proceed)
- The DVD booted without a hitch and I had openSUSE installed and running in just under an hour (this hardware is SLOW)
- While there are a lot of similarities between the CentOS installer and the openSUSE installer there were also so notable differences:
- After the Christmas break I will experiment with installing openSUSE onto a server (HP DL385p_gen8)
SUSE trial install on an HP DL385p_gen8 (server)
- 2021-01-08
- this install was fast while uneventful and only required 45-minutes
- Step-1 (install Linux):
01) boot from DVD
02) waited for menu then selected "Installation"
03) waited for "Initializing Network Configuration" on the left-hand menu
04) waited for "Welcome: License Agreement" then clicked NEXT
05) waited for "Online Repositories" then clicked NO for "YaST2: activate online repositories?"
06) waited for "System Role" then picked the "Server" recipe
07) waited for "Suggested Partitioning" then accepted the recommendations, clicked LVM, did not encrypt the hard disk
08) waited for "Installation Settings"
09) clicked "Software" then also enabled, "console tools", "software management", all 3 "Gnome offerings"
10) clicked "Default Target" then selected "Graphical"
11) clicked "Install" then waited ~ 45 minutes"
- Step-2 (install zypper):
neil@localhost:~> sudo rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
neil@localhost:~> sudo zypper --gpg-auto-import-keys refresh
Repository 'Non-OSS Repository' is up to date.
Repository 'Main Repository' is up to date.
Repository 'Main Update Repository' is up to date.
Repository 'Update Repository (Non-Oss)' is up to date.
All repositories have been refreshed.
- Step-3 (install mariadb):
neil@localhost:~> sudo zypper addrepo --gpgcheck --refresh https://yum.mariadb.org/10.5/opensuse/15/x86_64 mariadb
neil@localhost:~> sudo zypper install MariaDB-server MariaDB-client
Retrieving repository 'mariadb' metadata ...................................................................[done]
Building repository 'mariadb' cache ........................................................................[done]
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following 6 NEW packages are going to be installed:
galera-4 libboost_program_options1_66_0 MariaDB-client MariaDB-common MariaDB-server socat
6 new packages to install.
Overall download size: 36.9 MiB. Already cached: 0 B. After the operation, additional 208.5 MiB will be used.
Continue? [y/n/v/...? shows all options] (y): y
Retrieving package MariaDB-common-10.5.8-1.x86_64 (1/6), 77.8 KiB (298.0 KiB unpacked)
Retrieving: MariaDB-common-10.5.8-1.x86_64.rpm .............................................................[done]
Retrieving package MariaDB-client-10.5.8-1.x86_64 (2/6), 7.0 MiB ( 64.2 MiB unpacked)
Retrieving: MariaDB-client-10.5.8-1.x86_64.rpm ...............................................[done (558.7 KiB/s)]
Retrieving package libboost_program_options1_66_0-1.66.0-lp152.6.2.x86_64 (3/6), 139.3 KiB (500.6 KiB unpacked)
Retrieving: libboost_program_options1_66_0-1.66.0-lp152.6.2.x86_64.rpm .......................[done (498.1 KiB/s)]
Retrieving package socat-1.7.3.2-lp152.5.6.x86_64 (4/6), 224.8 KiB (710.5 KiB unpacked)
Retrieving: socat-1.7.3.2-lp152.5.6.x86_64.rpm ...............................................[done (461.1 KiB/s)]
Retrieving package galera-4-26.4.6-1.sle15.x86_64 (5/6), 14.4 MiB ( 14.4 MiB unpacked)
Retrieving: galera-4-26.4.6-1.sle15.x86_64.rpm ...............................................[done (619.1 KiB/s)]
Retrieving package MariaDB-server-10.5.8-1.x86_64 (6/6), 15.1 MiB (128.3 MiB unpacked)
Retrieving: MariaDB-server-10.5.8-1.x86_64.rpm ...............................................[done (622.0 KiB/s)]
Checking for file conflicts: ...............................................................................[done]
(1/6) Installing: MariaDB-common-10.5.8-1.x86_64 ...........................................................[done]
(2/6) Installing: MariaDB-client-10.5.8-1.x86_64 ...........................................................[done]
(3/6) Installing: libboost_program_options1_66_0-1.66.0-lp152.6.2.x86_64 ...................................[done]
(4/6) Installing: socat-1.7.3.2-lp152.5.6.x86_64 ...........................................................[done]
(5/6) Installing: galera-4-26.4.6-1.sle15.x86_64 ...........................................................[done]
(6/6) Installing: MariaDB-server-10.5.8-1.x86_64 ...........................................................[done]
Additional rpm output:
Two all-privilege accounts were created.
One is root@localhost, it has no password, but you need to
be system 'root' user to connect. Use, for example, sudo mysql
The second is mysql@localhost, it has no password either, but
you need to be the system 'mysql' user to connect.
After connecting you can set the password, if you would need to be
able to connect as any of these users with a password and without sudo
See the MariaDB Knowledgebase at https://mariadb.com/kb or the
MySQL manual for more instructions.
Please report any problems at https://mariadb.org/jira
The latest information about MariaDB is available at https://mariadb.org/.
You can find additional information about the MySQL part at:
https://dev.mysql.com
Consider joining MariaDB's strong and vibrant community:
https://mariadb.org/get-involved/
Executing %posttrans scripts ...............................................................................[done]
- Step-4 (refresh zypper - just good form):
neil@localhost:~> sudo zypper refresh
[sudo] password for root:
Repository 'mariadb' is up to date.
Repository 'Non-OSS Repository' is up to date.
Repository 'Main Repository' is up to date.
Repository 'Main Update Repository' is up to date.
Repository 'Update Repository (Non-Oss)' is up to date.
All repositories have been refreshed.
- Step-5 (install apache2):
neil@localhost:~> sudo zypper install --no-confirm apache2
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following 6 NEW packages are going to be installed:
apache2 apache2-mod_dnssd apache2-prefork apache2-utils libbrotlienc1 system-user-wwwrun
6 new packages to install.
Overall download size: 1.9 MiB. Already cached: 0 B. After the operation, additional 5.7 MiB will be used.
Continue? [y/n/v/...? shows all options] (y): y
Retrieving package system-user-wwwrun-20170617-lp152.5.114.noarch (1/6), 10.3 KiB ( 96 B unpacked)
Retrieving: system-user-wwwrun-20170617-lp152.5.114.noarch.rpm ................................[done (14.9 KiB/s)]
Retrieving package apache2-utils-2.4.43-lp152.2.9.1.x86_64 (2/6), 151.8 KiB (203.0 KiB unpacked)
Retrieving: apache2-utils-2.4.43-lp152.2.9.1.x86_64.rpm ......................................[done (334.4 KiB/s)]
Retrieving package libbrotlienc1-1.0.9-lp152.2.3.1.x86_64 (3/6), 213.1 KiB (581.9 KiB unpacked)
Retrieving: libbrotlienc1-1.0.9-lp152.2.3.1.x86_64.rpm .......................................[done (499.3 KiB/s)]
Retrieving package apache2-2.4.43-lp152.2.9.1.x86_64 (4/6), 1.3 MiB ( 4.3 MiB unpacked)
Retrieving: apache2-2.4.43-lp152.2.9.1.x86_64.rpm ............................................[done (602.2 KiB/s)]
Retrieving package apache2-prefork-2.4.43-lp152.2.9.1.x86_64 (5/6), 306.6 KiB (629.2 KiB unpacked)
Retrieving: apache2-prefork-2.4.43-lp152.2.9.1.x86_64.rpm ....................................[done (562.8 KiB/s)]
Retrieving package apache2-mod_dnssd-0.6-lp152.4.6.x86_64 (6/6), 22.6 KiB ( 42.3 KiB unpacked)
Retrieving: apache2-mod_dnssd-0.6-lp152.4.6.x86_64.rpm .....................................................[done]
Checking for file conflicts: ...............................................................................[done]
(1/6) Installing: system-user-wwwrun-20170617-lp152.5.114.noarch ...........................................[done]
Additional rpm output:
groupadd -r www
useradd -r -s /sbin/nologin -c "WWW daemon apache" -U -d /var/lib/wwwrun wwwrun
usermod -a -G www wwwrun
(2/6) Installing: apache2-utils-2.4.43-lp152.2.9.1.x86_64 ..................................................[done]
(3/6) Installing: libbrotlienc1-1.0.9-lp152.2.3.1.x86_64 ...................................................[done]
(4/6) Installing: apache2-2.4.43-lp152.2.9.1.x86_64 ........................................................[done]
Additional rpm output:
Updating /etc/sysconfig/apache2 ...
(5/6) Installing: apache2-prefork-2.4.43-lp152.2.9.1.x86_64 ................................................[done]
(6/6) Installing: apache2-mod_dnssd-0.6-lp152.4.6.x86_64 ...................................................[done]
Executing %posttrans scripts ...............................................................................[done]
neil@localhost:~>
openSUSE update-1 (a few observations)
- date: 2021-01-17
- issued bash command: sudo zypper update
which announced:
- will install: 21
- will remove: 1
- will update: 440
- from: "Kernel 5.3-18 LP.152.19"
- GUI session was on TTY2 (connect there by typing the 3-finger command: CTRL-ATLF2
- TTY1 to TTY6 are TEXT_based
- a subset of DMESG can be seen on TTY10 (I wonder what this is)
- to: "Kernel 5.3-18 LP.152.60"
- the GUI session moved to terminal TTY8 (I wonder what this is about)
openSUSE update-2 (another observation)

Back to
Home
Neil Rieck
Waterloo, Ontario, Canada.